Получить список свойств среды для среды EB Используя AWS Java SDK?
Я использую Java SDK для AWS Elastic Beanstalk и добился большого успеха в получении информации о моих средах EB. Одно место, в котором я полностью застрял, это получение списка свойств среды. Я ожидал бы найти список где-нибудь как EnvironmentDescription. но их там нет. Я знаю, что это возможно через EB CLI, который обычно соответствует 1:1 с SDK.
Кто-нибудь знает, что мне нужно сделать, чтобы получить список этих свойств среды для моей среды?
Примечание: я использую версию 1.11.279 com.amazonaws.aws-java-sdk-asticbeanstalk, но может измениться, если получение этих свойств недоступно до более поздних версий.
РЕДАКТИРОВАТЬ: они были найдены! Это требует понимания того, что env. переменные задаются через панель конфигурации в ElasticBeanstalk. Ниже приведен код Java (написанный для ясности) о том, как получить список.
// Included for verbosity
AWSElasticBeanstalk eb = AWSElasticBeanstalkClientBuilder.standard().build());
// Build the configuration request, send it via eb, and obtain the result
DescribeConfigurationSettingsRequest request = new DescribeConfigurationSettingsRequest();
request.setEnvironmentName(environmentName);
request.setApplicationName(applicationName);
DescribeConfigurationSettingsResult result = eb.describeConfigurationSettings(request);
// List of my own class which simply has a "key" and a "value" field
List<EnvironmentVariable> environmentVariables = new ArrayList<>();
for (ConfigurationSettingsDescription description: result.getConfigurationSettings()) {
for (ConfigurationOptionSetting setting : description.getOptionSettings() {
// We get back a list of all configuration items, we only want the ones namespaced as environment variables
if ("aws:elasticbeanstalk:application:environment".equals(setting.getNamespace()) {
environmentVariables.add(new EnvironmentVariable(setting.getOptionName(), setting.getValue());
}
}
}