public async void RetrieveParameter_Scenario_RetrievesCorrectParameter() { // arrange var _ssmClient = new Mock <IAmazonSimpleSystemsManagement>(); var param = new Parameter(); param.Name = "test"; param.Value = "test_value"; var parametersResponse = new GetParametersResponse(); parametersResponse.Parameters.Add(param); var paramsList = new List <string>() { "test" }; _ssmClient.Setup( ssm => ssm.GetParametersAsync(It.IsAny <GetParametersRequest>(), It.IsAny <CancellationToken>())) .ReturnsAsync(parametersResponse); var configurationRepository = new ConfigurationRepository(_ssmClient.Object); // Act var response = await configurationRepository.RetrieveParameters(paramsList); // Assert Assert.Equal("test_value", response[response.FindIndex(p => p.Name == "test")].Value); }
/// <summary> /// Unmarshaller the response from the service to the response class. /// </summary> /// <param name="context"></param> /// <returns></returns> public override AmazonWebServiceResponse Unmarshall(JsonUnmarshallerContext context) { GetParametersResponse response = new GetParametersResponse(); context.Read(); int targetDepth = context.CurrentDepth; while (context.ReadAtDepth(targetDepth)) { if (context.TestExpression("InvalidParameters", targetDepth)) { var unmarshaller = new ListUnmarshaller <string, StringUnmarshaller>(StringUnmarshaller.Instance); response.InvalidParameters = unmarshaller.Unmarshall(context); continue; } if (context.TestExpression("Parameters", targetDepth)) { var unmarshaller = new ListUnmarshaller <Parameter, ParameterUnmarshaller>(ParameterUnmarshaller.Instance); response.Parameters = unmarshaller.Unmarshall(context); continue; } } return(response); }
private void CheckParametersValidity(GetParametersResponse response) { if (response.InvalidParameters.Count > 0) { String wrongParams = ""; foreach (var item in response.InvalidParameters) { wrongParams = item + " "; } throw new Exception("You have requested invalid parameters " + wrongParams); } }
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 void CheckParametersValidity(GetParametersResponse response) { var requiredInvalidParameters = response.InvalidParameters.Where(item => this.configurationSource.ParameterMapping.First(pm => pm.AwsName == item).Optional == false).ToList(); if (requiredInvalidParameters.Count > 0) { var wrongParams = ""; foreach (var item in requiredInvalidParameters) { wrongParams += item + " "; } throw new Exception("You have requested invalid parameters: " + wrongParams); } }
private void processGetParametersResponse(GetParametersResponse i_Response) { if (i_Response.HttpStatusCode != HttpStatusCode.OK) { throw new ArgumentException("Could not get parameters from SSM", i_Response.HttpStatusCode.ToString()); } if (i_Response.InvalidParameters != null && i_Response.InvalidParameters.Any()) { m_InvalidParameters.UnionWith(i_Response.InvalidParameters); } if (i_Response.Parameters != null && i_Response.Parameters.Any()) { i_Response.Parameters.ForEach(awsParameter => m_Parameters[awsParameter.Name] = new SSMParameter(awsParameter)); } }
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); }
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 GetParametersResponse Unmarshall(UnmarshallerContext _ctx) { GetParametersResponse getParametersResponse = new GetParametersResponse(); getParametersResponse.HttpResponse = _ctx.HttpResponse; getParametersResponse.RequestId = _ctx.StringValue("GetParameters.RequestId"); List <string> getParametersResponse_invalidParameters = new List <string>(); for (int i = 0; i < _ctx.Length("GetParameters.InvalidParameters.Length"); i++) { getParametersResponse_invalidParameters.Add(_ctx.StringValue("GetParameters.InvalidParameters[" + i + "]")); } getParametersResponse.InvalidParameters = getParametersResponse_invalidParameters; List <GetParametersResponse.GetParameters_Parameter> getParametersResponse_parameters = new List <GetParametersResponse.GetParameters_Parameter>(); for (int i = 0; i < _ctx.Length("GetParameters.Parameters.Length"); i++) { GetParametersResponse.GetParameters_Parameter parameter = new GetParametersResponse.GetParameters_Parameter(); parameter.Id = _ctx.StringValue("GetParameters.Parameters[" + i + "].Id"); parameter.Name = _ctx.StringValue("GetParameters.Parameters[" + i + "].Name"); parameter.CreatedDate = _ctx.StringValue("GetParameters.Parameters[" + i + "].CreatedDate"); parameter.CreatedBy = _ctx.StringValue("GetParameters.Parameters[" + i + "].CreatedBy"); parameter.UpdatedDate = _ctx.StringValue("GetParameters.Parameters[" + i + "].UpdatedDate"); parameter.UpdatedBy = _ctx.StringValue("GetParameters.Parameters[" + i + "].UpdatedBy"); parameter.Description = _ctx.StringValue("GetParameters.Parameters[" + i + "].Description"); parameter.ShareType = _ctx.StringValue("GetParameters.Parameters[" + i + "].ShareType"); parameter.ParameterVersion = _ctx.IntegerValue("GetParameters.Parameters[" + i + "].ParameterVersion"); parameter.Type = _ctx.StringValue("GetParameters.Parameters[" + i + "].Type"); parameter._Value = _ctx.StringValue("GetParameters.Parameters[" + i + "].Value"); parameter.Constraints = _ctx.StringValue("GetParameters.Parameters[" + i + "].Constraints"); parameter.Tags = _ctx.StringValue("GetParameters.Parameters[" + i + "].Tags"); getParametersResponse_parameters.Add(parameter); } getParametersResponse.Parameters = getParametersResponse_parameters; return(getParametersResponse); }
internal void MapResult(GetParametersResponse response) { this.Data = response.Parameters.ToDictionary( x => this.configurationSource.ParameterMapping.First(pm => pm.AwsName == x.Name).SettingName, x => x.Value); }