public IRequest Marshall(UpdateStackRequest updateStackRequest) { IRequest request = new DefaultRequest(updateStackRequest, "AmazonOpsWorks"); string target = "OpsWorks_20130218.UpdateStack"; request.Headers["X-Amz-Target"] = target; request.Headers["Content-Type"] = "application/x-amz-json-1.1"; string uriResourcePath = ""; if (uriResourcePath.Contains("?")) { int queryPosition = uriResourcePath.IndexOf("?", StringComparison.OrdinalIgnoreCase); string queryString = uriResourcePath.Substring(queryPosition + 1); uriResourcePath = uriResourcePath.Substring(0, queryPosition); foreach (string s in queryString.Split('&', ';')) { string[] nameValuePair = s.Split('='); if (nameValuePair.Length == 2 && nameValuePair[1].Length > 0) { request.Parameters.Add(nameValuePair[0], nameValuePair[1]); } else { request.Parameters.Add(nameValuePair[0], null); } } } request.ResourcePath = uriResourcePath; using (StringWriter stringWriter = new StringWriter(CultureInfo.InvariantCulture)) { JsonWriter writer = new JsonWriter(stringWriter); writer.WriteObjectStart(); if (updateStackRequest != null && updateStackRequest.IsSetStackId()) { writer.WritePropertyName("StackId"); writer.Write(updateStackRequest.StackId); } if (updateStackRequest != null && updateStackRequest.IsSetName()) { writer.WritePropertyName("Name"); writer.Write(updateStackRequest.Name); } if (updateStackRequest != null) { if (updateStackRequest.Attributes != null && updateStackRequest.Attributes.Count > 0) { writer.WritePropertyName("Attributes"); writer.WriteObjectStart(); foreach (string updateStackRequestAttributesKey in updateStackRequest.Attributes.Keys) { string attributesListValue; bool attributesListValueHasValue = updateStackRequest.Attributes.TryGetValue(updateStackRequestAttributesKey, out attributesListValue); writer.WritePropertyName(updateStackRequestAttributesKey); writer.Write(attributesListValue); } writer.WriteObjectEnd(); } } if (updateStackRequest != null && updateStackRequest.IsSetServiceRoleArn()) { writer.WritePropertyName("ServiceRoleArn"); writer.Write(updateStackRequest.ServiceRoleArn); } if (updateStackRequest != null && updateStackRequest.IsSetDefaultInstanceProfileArn()) { writer.WritePropertyName("DefaultInstanceProfileArn"); writer.Write(updateStackRequest.DefaultInstanceProfileArn); } if (updateStackRequest != null && updateStackRequest.IsSetDefaultOs()) { writer.WritePropertyName("DefaultOs"); writer.Write(updateStackRequest.DefaultOs); } if (updateStackRequest != null && updateStackRequest.IsSetHostnameTheme()) { writer.WritePropertyName("HostnameTheme"); writer.Write(updateStackRequest.HostnameTheme); } if (updateStackRequest != null && updateStackRequest.IsSetDefaultAvailabilityZone()) { writer.WritePropertyName("DefaultAvailabilityZone"); writer.Write(updateStackRequest.DefaultAvailabilityZone); } if (updateStackRequest != null && updateStackRequest.IsSetDefaultSubnetId()) { writer.WritePropertyName("DefaultSubnetId"); writer.Write(updateStackRequest.DefaultSubnetId); } if (updateStackRequest != null && updateStackRequest.IsSetCustomJson()) { writer.WritePropertyName("CustomJson"); writer.Write(updateStackRequest.CustomJson); } if (updateStackRequest != null) { StackConfigurationManager configurationManager = updateStackRequest.ConfigurationManager; if (configurationManager != null) { writer.WritePropertyName("ConfigurationManager"); writer.WriteObjectStart(); if (configurationManager != null && configurationManager.IsSetName()) { writer.WritePropertyName("Name"); writer.Write(configurationManager.Name); } if (configurationManager != null && configurationManager.IsSetVersion()) { writer.WritePropertyName("Version"); writer.Write(configurationManager.Version); } writer.WriteObjectEnd(); } } if (updateStackRequest != null && updateStackRequest.IsSetUseCustomCookbooks()) { writer.WritePropertyName("UseCustomCookbooks"); writer.Write(updateStackRequest.UseCustomCookbooks); } if (updateStackRequest != null) { Source customCookbooksSource = updateStackRequest.CustomCookbooksSource; if (customCookbooksSource != null) { writer.WritePropertyName("CustomCookbooksSource"); writer.WriteObjectStart(); if (customCookbooksSource != null && customCookbooksSource.IsSetType()) { writer.WritePropertyName("Type"); writer.Write(customCookbooksSource.Type); } if (customCookbooksSource != null && customCookbooksSource.IsSetUrl()) { writer.WritePropertyName("Url"); writer.Write(customCookbooksSource.Url); } if (customCookbooksSource != null && customCookbooksSource.IsSetUsername()) { writer.WritePropertyName("Username"); writer.Write(customCookbooksSource.Username); } if (customCookbooksSource != null && customCookbooksSource.IsSetPassword()) { writer.WritePropertyName("Password"); writer.Write(customCookbooksSource.Password); } if (customCookbooksSource != null && customCookbooksSource.IsSetSshKey()) { writer.WritePropertyName("SshKey"); writer.Write(customCookbooksSource.SshKey); } if (customCookbooksSource != null && customCookbooksSource.IsSetRevision()) { writer.WritePropertyName("Revision"); writer.Write(customCookbooksSource.Revision); } writer.WriteObjectEnd(); } } if (updateStackRequest != null && updateStackRequest.IsSetDefaultSshKeyName()) { writer.WritePropertyName("DefaultSshKeyName"); writer.Write(updateStackRequest.DefaultSshKeyName); } if (updateStackRequest != null && updateStackRequest.IsSetDefaultRootDeviceType()) { writer.WritePropertyName("DefaultRootDeviceType"); writer.Write(updateStackRequest.DefaultRootDeviceType); } writer.WriteObjectEnd(); string snippet = stringWriter.ToString(); request.Content = System.Text.Encoding.UTF8.GetBytes(snippet); } return(request); }
public IRequest Marshall(UpdateStackRequest updateStackRequest) { IRequest request = new DefaultRequest(updateStackRequest, "AmazonOpsWorks"); string target = "OpsWorks_20130218.UpdateStack"; request.Headers["X-Amz-Target"] = target; request.Headers["Content-Type"] = "application/x-amz-json-1.1"; string uriResourcePath = ""; request.ResourcePath = uriResourcePath; using (StringWriter stringWriter = new StringWriter(CultureInfo.InvariantCulture)) { JsonWriter writer = new JsonWriter(stringWriter); writer.WriteObjectStart(); if (updateStackRequest != null && updateStackRequest.IsSetStackId()) { writer.WritePropertyName("StackId"); writer.Write(updateStackRequest.StackId); } if (updateStackRequest != null && updateStackRequest.IsSetName()) { writer.WritePropertyName("Name"); writer.Write(updateStackRequest.Name); } if (updateStackRequest != null) { if (updateStackRequest.Attributes != null && updateStackRequest.Attributes.Count > 0) { writer.WritePropertyName("Attributes"); writer.WriteObjectStart(); foreach (string updateStackRequestAttributesKey in updateStackRequest.Attributes.Keys) { string attributesListValue; bool attributesListValueHasValue = updateStackRequest.Attributes.TryGetValue(updateStackRequestAttributesKey, out attributesListValue); writer.WritePropertyName(updateStackRequestAttributesKey); writer.Write(attributesListValue); } writer.WriteObjectEnd(); } } if (updateStackRequest != null && updateStackRequest.IsSetServiceRoleArn()) { writer.WritePropertyName("ServiceRoleArn"); writer.Write(updateStackRequest.ServiceRoleArn); } if (updateStackRequest != null && updateStackRequest.IsSetDefaultInstanceProfileArn()) { writer.WritePropertyName("DefaultInstanceProfileArn"); writer.Write(updateStackRequest.DefaultInstanceProfileArn); } if (updateStackRequest != null && updateStackRequest.IsSetDefaultOs()) { writer.WritePropertyName("DefaultOs"); writer.Write(updateStackRequest.DefaultOs); } if (updateStackRequest != null && updateStackRequest.IsSetHostnameTheme()) { writer.WritePropertyName("HostnameTheme"); writer.Write(updateStackRequest.HostnameTheme); } if (updateStackRequest != null && updateStackRequest.IsSetDefaultAvailabilityZone()) { writer.WritePropertyName("DefaultAvailabilityZone"); writer.Write(updateStackRequest.DefaultAvailabilityZone); } if (updateStackRequest != null && updateStackRequest.IsSetDefaultSubnetId()) { writer.WritePropertyName("DefaultSubnetId"); writer.Write(updateStackRequest.DefaultSubnetId); } if (updateStackRequest != null && updateStackRequest.IsSetCustomJson()) { writer.WritePropertyName("CustomJson"); writer.Write(updateStackRequest.CustomJson); } if (updateStackRequest != null) { StackConfigurationManager configurationManager = updateStackRequest.ConfigurationManager; if (configurationManager != null) { writer.WritePropertyName("ConfigurationManager"); writer.WriteObjectStart(); if (configurationManager != null && configurationManager.IsSetName()) { writer.WritePropertyName("Name"); writer.Write(configurationManager.Name); } if (configurationManager != null && configurationManager.IsSetVersion()) { writer.WritePropertyName("Version"); writer.Write(configurationManager.Version); } writer.WriteObjectEnd(); } } if (updateStackRequest != null) { ChefConfiguration chefConfiguration = updateStackRequest.ChefConfiguration; if (chefConfiguration != null) { writer.WritePropertyName("ChefConfiguration"); writer.WriteObjectStart(); if (chefConfiguration != null && chefConfiguration.IsSetManageBerkshelf()) { writer.WritePropertyName("ManageBerkshelf"); writer.Write(chefConfiguration.ManageBerkshelf); } if (chefConfiguration != null && chefConfiguration.IsSetBerkshelfVersion()) { writer.WritePropertyName("BerkshelfVersion"); writer.Write(chefConfiguration.BerkshelfVersion); } writer.WriteObjectEnd(); } } if (updateStackRequest != null && updateStackRequest.IsSetUseCustomCookbooks()) { writer.WritePropertyName("UseCustomCookbooks"); writer.Write(updateStackRequest.UseCustomCookbooks); } if (updateStackRequest != null) { Source customCookbooksSource = updateStackRequest.CustomCookbooksSource; if (customCookbooksSource != null) { writer.WritePropertyName("CustomCookbooksSource"); writer.WriteObjectStart(); if (customCookbooksSource != null && customCookbooksSource.IsSetType()) { writer.WritePropertyName("Type"); writer.Write(customCookbooksSource.Type); } if (customCookbooksSource != null && customCookbooksSource.IsSetUrl()) { writer.WritePropertyName("Url"); writer.Write(customCookbooksSource.Url); } if (customCookbooksSource != null && customCookbooksSource.IsSetUsername()) { writer.WritePropertyName("Username"); writer.Write(customCookbooksSource.Username); } if (customCookbooksSource != null && customCookbooksSource.IsSetPassword()) { writer.WritePropertyName("Password"); writer.Write(customCookbooksSource.Password); } if (customCookbooksSource != null && customCookbooksSource.IsSetSshKey()) { writer.WritePropertyName("SshKey"); writer.Write(customCookbooksSource.SshKey); } if (customCookbooksSource != null && customCookbooksSource.IsSetRevision()) { writer.WritePropertyName("Revision"); writer.Write(customCookbooksSource.Revision); } writer.WriteObjectEnd(); } } if (updateStackRequest != null && updateStackRequest.IsSetDefaultSshKeyName()) { writer.WritePropertyName("DefaultSshKeyName"); writer.Write(updateStackRequest.DefaultSshKeyName); } if (updateStackRequest != null && updateStackRequest.IsSetDefaultRootDeviceType()) { writer.WritePropertyName("DefaultRootDeviceType"); writer.Write(updateStackRequest.DefaultRootDeviceType); } if (updateStackRequest != null && updateStackRequest.IsSetUseOpsworksSecurityGroups()) { writer.WritePropertyName("UseOpsworksSecurityGroups"); writer.Write(updateStackRequest.UseOpsworksSecurityGroups); } writer.WriteObjectEnd(); string snippet = stringWriter.ToString(); request.Content = System.Text.Encoding.UTF8.GetBytes(snippet); } return(request); }