Exemple #1
0
        private async Task <GetParametersResponse> GetParametersResponse(List <string> keys, bool decryptionRequired)
        {
            var request = new GetParametersRequest
            {
                Names          = keys,
                WithDecryption = decryptionRequired
            };

            return(await _client.GetParametersAsync(request));
        }
Exemple #2
0
        private GetParametersRequest buildRequest(IEnumerable <string> i_Parameters)
        {
            GetParametersRequest request = new GetParametersRequest
            {
                Names          = i_Parameters.ToList(),
                WithDecryption = true
            };

            return(request);
        }
Exemple #3
0
        /// <summary>
        /// An alternative is using the AWS services directly instead of .net SDK.
        /// </summary>
        /// <param name="parameterName"></param>
        /// <returns></returns>
        private async Task <string> GetSecureParameter(string parameterName)
        {
            var client  = new AmazonSimpleSystemsManagementClient(RegionEndpoint.APSoutheast2);
            var request = new GetParametersRequest
            {
                Names = new List <string> {
                    parameterName
                }
            };
            var response = await client.GetParametersAsync(request);

            tmpString = response.Parameters.SingleOrDefault().Value;
            return(response.ToString());
        }
Exemple #4
0
        private async Task FillParameterValuesAsync(params string[] parameterNames)
        {
            GetParametersRequest request = new GetParametersRequest
            {
                Names          = parameterNames.ToList(),
                WithDecryption = true,
            };
            GetParametersResponse response = await _ssm.GetParametersAsync(request);

            foreach (string parameterName in parameterNames)
            {
                Parameter parameter = response.Parameters.Find(p => p.Name == parameterName);
                _parameterValues[parameterName] = parameter.Value;
            }
        }
        private string GetParameterStore(string appName)
        {
            var client       = new AmazonSimpleSystemsManagementClient(RegionEndpoint.USEast2);
            var requestParam = new GetParametersRequest
            {
                Names = new List <string> {
                    appName
                }
            };
            var response = client.GetParametersAsync(requestParam).Result;
            var value    = response.Parameters.Single().Value;
            var data     = JObject.Parse(value)["authenticatedUrl"]?.ToString();

            return(data);
        }
        public async Task <List <Parameter> > RetrieveParameters(List <string> paramNames)
        {
            Console.WriteLine($"Retrieving params.");

            var paramRequest = new GetParametersRequest
            {
                Names = paramNames
            };

            var response = await _ssmClient.GetParametersAsync(paramRequest);

            Console.WriteLine("parameters retrieved:", response.Parameters.ToString());

            return(response.Parameters);
        }
        private GetParametersResponse MappingClientResponseToData(AmazonSimpleSystemsManagementClient client)
        {
            GetParametersRequest  request = PrepareRequest();
            GetParametersResponse response;

            try
            {
                response = client.GetParametersAsync(request).Result;
                CheckParametersValidity(response);
            }
            catch (Exception e)
            {
                throw e;
            }
            return(response);
        }
Exemple #8
0
        static async Task <Dictionary <string, string> > GetParameters(List <string> parameterNames)
        {
            // get "default" profile or environment variables or fallback to EC2 ECS profile
            Dictionary <string, string> parameters = new Dictionary <string, string>();

            GetParametersRequest req = new GetParametersRequest();

            req.Names          = parameterNames;
            req.WithDecryption = true;

            GetParametersResponse resp = await new AmazonSimpleSystemsManagementClient().GetParametersAsync(req);

            foreach (var parameter in resp.Parameters)
            {
                parameters.Add(parameter.Name, parameter.Value);
            }

            return(parameters);
        }
Exemple #9
0
 private void getParametersFromSSM(IEnumerable <string> i_Parameters)
 {
     if (m_Client != null)
     {
         if (i_Parameters != null && i_Parameters.Any())
         {
             for (int parametersIndex = 0; parametersIndex < i_Parameters.Count(); parametersIndex += 10)
             {
                 IEnumerable <string> partialParametersList = i_Parameters.Skip(parametersIndex).Take(10);
                 if (partialParametersList != null && partialParametersList.Any())
                 {
                     GetParametersRequest  parametersRequest  = buildRequest(partialParametersList);
                     GetParametersResponse parametersResponse = m_Client.GetParametersAsync(parametersRequest).Result;
                     processGetParametersResponse(parametersResponse);
                 }
             }
         }
     }
 }
        public static async Task <T> GetParameters <T>(string awsRegion, string prefix = "") where T : new()
        {
            var properties = typeof(T).GetProperties().ToDictionary(p => prefix + p.Name);

            using (var client = new SsmClient(RegionEndpoint.GetBySystemName(awsRegion)))
            {
                var request = new GetParametersRequest
                {
                    Names          = properties.Keys.ToList(),
                    WithDecryption = true,
                };
                var response = await client.GetParametersAsync(request).ConfigureAwait(false);

                var result = new T();
                foreach (var responseParameter in response.Parameters)
                {
                    properties[responseParameter.Name].SetValue(result, responseParameter.Value);
                }
                // TODO: Handle response.InvalidParameters
                return(result);
            }
        }
Exemple #11
0
        public override void Load()
        {
            try
            {
                var request = new GetParametersRequest
                {
                    Names = _paramNames.ToList()
                };

                var task     = _systemManagementClient.GetParametersAsync(request).ConfigureAwait(false);
                var response = task.GetAwaiter().GetResult();

                foreach (var parameter in response.Parameters)
                {
                    if (parameter.Type == ParameterType.StringList)
                    {
                        var values = parameter.Value.Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
                        var index  = 0;
                        foreach (var value in values)
                        {
                            Data.Add($"{parameter.Name}:{index++}", value);
                        }
                    }
                    else
                    {
                        Data.Add(parameter.Name, parameter.Value);
                    }
                }
            }
            catch (Exception exception)
            {
                var message = "Could not load SSM configuration";

                Console.WriteLine($"{message}\n{exception}");
            }
        }
 public GetParametersResponse GetParameters(GetParametersRequest request)
 {
     return(WrapResponse <GetParametersResponse, GetParametersResponseBody>(new ServiceExecutionDelegator <GetParametersResponseBody, GetParametersRequestBody>().ResolveRequest(request.Request,
                                                                                                                                                                                 ApiTargetPlatform.Kinacu, ApiServiceName.GetParameters)));
 }