24 lines
1.4 KiB
JavaScript
24 lines
1.4 KiB
JavaScript
"use strict";
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.getInstanceMetadataEndpoint = void 0;
|
|
const node_config_provider_1 = require("@smithy/node-config-provider");
|
|
const url_parser_1 = require("@smithy/url-parser");
|
|
const Endpoint_1 = require("../config/Endpoint");
|
|
const EndpointConfigOptions_1 = require("../config/EndpointConfigOptions");
|
|
const EndpointMode_1 = require("../config/EndpointMode");
|
|
const EndpointModeConfigOptions_1 = require("../config/EndpointModeConfigOptions");
|
|
const getInstanceMetadataEndpoint = async () => (0, url_parser_1.parseUrl)((await getFromEndpointConfig()) || (await getFromEndpointModeConfig()));
|
|
exports.getInstanceMetadataEndpoint = getInstanceMetadataEndpoint;
|
|
const getFromEndpointConfig = async () => (0, node_config_provider_1.loadConfig)(EndpointConfigOptions_1.ENDPOINT_CONFIG_OPTIONS)();
|
|
const getFromEndpointModeConfig = async () => {
|
|
const endpointMode = await (0, node_config_provider_1.loadConfig)(EndpointModeConfigOptions_1.ENDPOINT_MODE_CONFIG_OPTIONS)();
|
|
switch (endpointMode) {
|
|
case EndpointMode_1.EndpointMode.IPv4:
|
|
return Endpoint_1.Endpoint.IPv4;
|
|
case EndpointMode_1.EndpointMode.IPv6:
|
|
return Endpoint_1.Endpoint.IPv6;
|
|
default:
|
|
throw new Error(`Unsupported endpoint mode: ${endpointMode}.` + ` Select from ${Object.values(EndpointMode_1.EndpointMode)}`);
|
|
}
|
|
};
|