public object Execute(ExecutorContext context) { var cmdletContext = context as CmdletContext; // create request var request = new Amazon.OpsWorks.Model.UpdateLayerRequest(); if (cmdletContext.Attribute != null) { request.Attributes = cmdletContext.Attribute; } if (cmdletContext.AutoAssignElasticIp != null) { request.AutoAssignElasticIps = cmdletContext.AutoAssignElasticIp.Value; } if (cmdletContext.AutoAssignPublicIp != null) { request.AutoAssignPublicIps = cmdletContext.AutoAssignPublicIp.Value; } // populate CloudWatchLogsConfiguration var requestCloudWatchLogsConfigurationIsNull = true; request.CloudWatchLogsConfiguration = new Amazon.OpsWorks.Model.CloudWatchLogsConfiguration(); System.Boolean?requestCloudWatchLogsConfiguration_cloudWatchLogsConfiguration_Enabled = null; if (cmdletContext.CloudWatchLogsConfiguration_Enabled != null) { requestCloudWatchLogsConfiguration_cloudWatchLogsConfiguration_Enabled = cmdletContext.CloudWatchLogsConfiguration_Enabled.Value; } if (requestCloudWatchLogsConfiguration_cloudWatchLogsConfiguration_Enabled != null) { request.CloudWatchLogsConfiguration.Enabled = requestCloudWatchLogsConfiguration_cloudWatchLogsConfiguration_Enabled.Value; requestCloudWatchLogsConfigurationIsNull = false; } List <Amazon.OpsWorks.Model.CloudWatchLogsLogStream> requestCloudWatchLogsConfiguration_cloudWatchLogsConfiguration_LogStream = null; if (cmdletContext.CloudWatchLogsConfiguration_LogStream != null) { requestCloudWatchLogsConfiguration_cloudWatchLogsConfiguration_LogStream = cmdletContext.CloudWatchLogsConfiguration_LogStream; } if (requestCloudWatchLogsConfiguration_cloudWatchLogsConfiguration_LogStream != null) { request.CloudWatchLogsConfiguration.LogStreams = requestCloudWatchLogsConfiguration_cloudWatchLogsConfiguration_LogStream; requestCloudWatchLogsConfigurationIsNull = false; } // determine if request.CloudWatchLogsConfiguration should be set to null if (requestCloudWatchLogsConfigurationIsNull) { request.CloudWatchLogsConfiguration = null; } if (cmdletContext.CustomInstanceProfileArn != null) { request.CustomInstanceProfileArn = cmdletContext.CustomInstanceProfileArn; } if (cmdletContext.CustomJson != null) { request.CustomJson = cmdletContext.CustomJson; } // populate CustomRecipes var requestCustomRecipesIsNull = true; request.CustomRecipes = new Amazon.OpsWorks.Model.Recipes(); List <System.String> requestCustomRecipes_customRecipes_Configure = null; if (cmdletContext.CustomRecipes_Configure != null) { requestCustomRecipes_customRecipes_Configure = cmdletContext.CustomRecipes_Configure; } if (requestCustomRecipes_customRecipes_Configure != null) { request.CustomRecipes.Configure = requestCustomRecipes_customRecipes_Configure; requestCustomRecipesIsNull = false; } List <System.String> requestCustomRecipes_customRecipes_Deploy = null; if (cmdletContext.CustomRecipes_Deploy != null) { requestCustomRecipes_customRecipes_Deploy = cmdletContext.CustomRecipes_Deploy; } if (requestCustomRecipes_customRecipes_Deploy != null) { request.CustomRecipes.Deploy = requestCustomRecipes_customRecipes_Deploy; requestCustomRecipesIsNull = false; } List <System.String> requestCustomRecipes_customRecipes_Setup = null; if (cmdletContext.CustomRecipes_Setup != null) { requestCustomRecipes_customRecipes_Setup = cmdletContext.CustomRecipes_Setup; } if (requestCustomRecipes_customRecipes_Setup != null) { request.CustomRecipes.Setup = requestCustomRecipes_customRecipes_Setup; requestCustomRecipesIsNull = false; } List <System.String> requestCustomRecipes_customRecipes_Shutdown = null; if (cmdletContext.CustomRecipes_Shutdown != null) { requestCustomRecipes_customRecipes_Shutdown = cmdletContext.CustomRecipes_Shutdown; } if (requestCustomRecipes_customRecipes_Shutdown != null) { request.CustomRecipes.Shutdown = requestCustomRecipes_customRecipes_Shutdown; requestCustomRecipesIsNull = false; } List <System.String> requestCustomRecipes_customRecipes_Undeploy = null; if (cmdletContext.CustomRecipes_Undeploy != null) { requestCustomRecipes_customRecipes_Undeploy = cmdletContext.CustomRecipes_Undeploy; } if (requestCustomRecipes_customRecipes_Undeploy != null) { request.CustomRecipes.Undeploy = requestCustomRecipes_customRecipes_Undeploy; requestCustomRecipesIsNull = false; } // determine if request.CustomRecipes should be set to null if (requestCustomRecipesIsNull) { request.CustomRecipes = null; } if (cmdletContext.CustomSecurityGroupId != null) { request.CustomSecurityGroupIds = cmdletContext.CustomSecurityGroupId; } if (cmdletContext.EnableAutoHealing != null) { request.EnableAutoHealing = cmdletContext.EnableAutoHealing.Value; } if (cmdletContext.InstallUpdatesOnBoot != null) { request.InstallUpdatesOnBoot = cmdletContext.InstallUpdatesOnBoot.Value; } if (cmdletContext.LayerId != null) { request.LayerId = cmdletContext.LayerId; } // populate LifecycleEventConfiguration var requestLifecycleEventConfigurationIsNull = true; request.LifecycleEventConfiguration = new Amazon.OpsWorks.Model.LifecycleEventConfiguration(); Amazon.OpsWorks.Model.ShutdownEventConfiguration requestLifecycleEventConfiguration_lifecycleEventConfiguration_Shutdown = null; // populate Shutdown var requestLifecycleEventConfiguration_lifecycleEventConfiguration_ShutdownIsNull = true; requestLifecycleEventConfiguration_lifecycleEventConfiguration_Shutdown = new Amazon.OpsWorks.Model.ShutdownEventConfiguration(); System.Boolean?requestLifecycleEventConfiguration_lifecycleEventConfiguration_Shutdown_shutdown_DelayUntilElbConnectionsDrained = null; if (cmdletContext.Shutdown_DelayUntilElbConnectionsDrained != null) { requestLifecycleEventConfiguration_lifecycleEventConfiguration_Shutdown_shutdown_DelayUntilElbConnectionsDrained = cmdletContext.Shutdown_DelayUntilElbConnectionsDrained.Value; } if (requestLifecycleEventConfiguration_lifecycleEventConfiguration_Shutdown_shutdown_DelayUntilElbConnectionsDrained != null) { requestLifecycleEventConfiguration_lifecycleEventConfiguration_Shutdown.DelayUntilElbConnectionsDrained = requestLifecycleEventConfiguration_lifecycleEventConfiguration_Shutdown_shutdown_DelayUntilElbConnectionsDrained.Value; requestLifecycleEventConfiguration_lifecycleEventConfiguration_ShutdownIsNull = false; } System.Int32?requestLifecycleEventConfiguration_lifecycleEventConfiguration_Shutdown_shutdown_ExecutionTimeout = null; if (cmdletContext.Shutdown_ExecutionTimeout != null) { requestLifecycleEventConfiguration_lifecycleEventConfiguration_Shutdown_shutdown_ExecutionTimeout = cmdletContext.Shutdown_ExecutionTimeout.Value; } if (requestLifecycleEventConfiguration_lifecycleEventConfiguration_Shutdown_shutdown_ExecutionTimeout != null) { requestLifecycleEventConfiguration_lifecycleEventConfiguration_Shutdown.ExecutionTimeout = requestLifecycleEventConfiguration_lifecycleEventConfiguration_Shutdown_shutdown_ExecutionTimeout.Value; requestLifecycleEventConfiguration_lifecycleEventConfiguration_ShutdownIsNull = false; } // determine if requestLifecycleEventConfiguration_lifecycleEventConfiguration_Shutdown should be set to null if (requestLifecycleEventConfiguration_lifecycleEventConfiguration_ShutdownIsNull) { requestLifecycleEventConfiguration_lifecycleEventConfiguration_Shutdown = null; } if (requestLifecycleEventConfiguration_lifecycleEventConfiguration_Shutdown != null) { request.LifecycleEventConfiguration.Shutdown = requestLifecycleEventConfiguration_lifecycleEventConfiguration_Shutdown; requestLifecycleEventConfigurationIsNull = false; } // determine if request.LifecycleEventConfiguration should be set to null if (requestLifecycleEventConfigurationIsNull) { request.LifecycleEventConfiguration = null; } if (cmdletContext.Name != null) { request.Name = cmdletContext.Name; } if (cmdletContext.Package != null) { request.Packages = cmdletContext.Package; } if (cmdletContext.Shortname != null) { request.Shortname = cmdletContext.Shortname; } if (cmdletContext.UseEbsOptimizedInstance != null) { request.UseEbsOptimizedInstances = cmdletContext.UseEbsOptimizedInstance.Value; } if (cmdletContext.VolumeConfiguration != null) { request.VolumeConfigurations = cmdletContext.VolumeConfiguration; } CmdletOutput output; // issue call var client = Client ?? CreateClient(_CurrentCredentials, _RegionEndpoint); try { var response = CallAWSServiceOperation(client, request); object pipelineOutput = null; pipelineOutput = cmdletContext.Select(response, this); output = new CmdletOutput { PipelineOutput = pipelineOutput, ServiceResponse = response }; } catch (Exception e) { output = new CmdletOutput { ErrorResponse = e }; } return(output); }