/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include #include namespace Aws { namespace CodeDeploy { namespace Model { /** *

Represents the input of a CreateDeployment * operation.

See Also:

AWS * API Reference

*/ class CreateDeploymentRequest : public CodeDeployRequest { public: AWS_CODEDEPLOY_API CreateDeploymentRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "CreateDeployment"; } AWS_CODEDEPLOY_API Aws::String SerializePayload() const override; AWS_CODEDEPLOY_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

The name of an CodeDeploy application associated with the IAM user or Amazon * Web Services account.

*/ inline const Aws::String& GetApplicationName() const{ return m_applicationName; } /** *

The name of an CodeDeploy application associated with the IAM user or Amazon * Web Services account.

*/ inline bool ApplicationNameHasBeenSet() const { return m_applicationNameHasBeenSet; } /** *

The name of an CodeDeploy application associated with the IAM user or Amazon * Web Services account.

*/ inline void SetApplicationName(const Aws::String& value) { m_applicationNameHasBeenSet = true; m_applicationName = value; } /** *

The name of an CodeDeploy application associated with the IAM user or Amazon * Web Services account.

*/ inline void SetApplicationName(Aws::String&& value) { m_applicationNameHasBeenSet = true; m_applicationName = std::move(value); } /** *

The name of an CodeDeploy application associated with the IAM user or Amazon * Web Services account.

*/ inline void SetApplicationName(const char* value) { m_applicationNameHasBeenSet = true; m_applicationName.assign(value); } /** *

The name of an CodeDeploy application associated with the IAM user or Amazon * Web Services account.

*/ inline CreateDeploymentRequest& WithApplicationName(const Aws::String& value) { SetApplicationName(value); return *this;} /** *

The name of an CodeDeploy application associated with the IAM user or Amazon * Web Services account.

*/ inline CreateDeploymentRequest& WithApplicationName(Aws::String&& value) { SetApplicationName(std::move(value)); return *this;} /** *

The name of an CodeDeploy application associated with the IAM user or Amazon * Web Services account.

*/ inline CreateDeploymentRequest& WithApplicationName(const char* value) { SetApplicationName(value); return *this;} /** *

The name of the deployment group.

*/ inline const Aws::String& GetDeploymentGroupName() const{ return m_deploymentGroupName; } /** *

The name of the deployment group.

*/ inline bool DeploymentGroupNameHasBeenSet() const { return m_deploymentGroupNameHasBeenSet; } /** *

The name of the deployment group.

*/ inline void SetDeploymentGroupName(const Aws::String& value) { m_deploymentGroupNameHasBeenSet = true; m_deploymentGroupName = value; } /** *

The name of the deployment group.

*/ inline void SetDeploymentGroupName(Aws::String&& value) { m_deploymentGroupNameHasBeenSet = true; m_deploymentGroupName = std::move(value); } /** *

The name of the deployment group.

*/ inline void SetDeploymentGroupName(const char* value) { m_deploymentGroupNameHasBeenSet = true; m_deploymentGroupName.assign(value); } /** *

The name of the deployment group.

*/ inline CreateDeploymentRequest& WithDeploymentGroupName(const Aws::String& value) { SetDeploymentGroupName(value); return *this;} /** *

The name of the deployment group.

*/ inline CreateDeploymentRequest& WithDeploymentGroupName(Aws::String&& value) { SetDeploymentGroupName(std::move(value)); return *this;} /** *

The name of the deployment group.

*/ inline CreateDeploymentRequest& WithDeploymentGroupName(const char* value) { SetDeploymentGroupName(value); return *this;} /** *

The type and location of the revision to deploy.

*/ inline const RevisionLocation& GetRevision() const{ return m_revision; } /** *

The type and location of the revision to deploy.

*/ inline bool RevisionHasBeenSet() const { return m_revisionHasBeenSet; } /** *

The type and location of the revision to deploy.

*/ inline void SetRevision(const RevisionLocation& value) { m_revisionHasBeenSet = true; m_revision = value; } /** *

The type and location of the revision to deploy.

*/ inline void SetRevision(RevisionLocation&& value) { m_revisionHasBeenSet = true; m_revision = std::move(value); } /** *

The type and location of the revision to deploy.

*/ inline CreateDeploymentRequest& WithRevision(const RevisionLocation& value) { SetRevision(value); return *this;} /** *

The type and location of the revision to deploy.

*/ inline CreateDeploymentRequest& WithRevision(RevisionLocation&& value) { SetRevision(std::move(value)); return *this;} /** *

The name of a deployment configuration associated with the IAM user or Amazon * Web Services account.

If not specified, the value configured in the * deployment group is used as the default. If the deployment group does not have a * deployment configuration associated with it, * CodeDeployDefault.OneAtATime is used by default.

*/ inline const Aws::String& GetDeploymentConfigName() const{ return m_deploymentConfigName; } /** *

The name of a deployment configuration associated with the IAM user or Amazon * Web Services account.

If not specified, the value configured in the * deployment group is used as the default. If the deployment group does not have a * deployment configuration associated with it, * CodeDeployDefault.OneAtATime is used by default.

*/ inline bool DeploymentConfigNameHasBeenSet() const { return m_deploymentConfigNameHasBeenSet; } /** *

The name of a deployment configuration associated with the IAM user or Amazon * Web Services account.

If not specified, the value configured in the * deployment group is used as the default. If the deployment group does not have a * deployment configuration associated with it, * CodeDeployDefault.OneAtATime is used by default.

*/ inline void SetDeploymentConfigName(const Aws::String& value) { m_deploymentConfigNameHasBeenSet = true; m_deploymentConfigName = value; } /** *

The name of a deployment configuration associated with the IAM user or Amazon * Web Services account.

If not specified, the value configured in the * deployment group is used as the default. If the deployment group does not have a * deployment configuration associated with it, * CodeDeployDefault.OneAtATime is used by default.

*/ inline void SetDeploymentConfigName(Aws::String&& value) { m_deploymentConfigNameHasBeenSet = true; m_deploymentConfigName = std::move(value); } /** *

The name of a deployment configuration associated with the IAM user or Amazon * Web Services account.

If not specified, the value configured in the * deployment group is used as the default. If the deployment group does not have a * deployment configuration associated with it, * CodeDeployDefault.OneAtATime is used by default.

*/ inline void SetDeploymentConfigName(const char* value) { m_deploymentConfigNameHasBeenSet = true; m_deploymentConfigName.assign(value); } /** *

The name of a deployment configuration associated with the IAM user or Amazon * Web Services account.

If not specified, the value configured in the * deployment group is used as the default. If the deployment group does not have a * deployment configuration associated with it, * CodeDeployDefault.OneAtATime is used by default.

*/ inline CreateDeploymentRequest& WithDeploymentConfigName(const Aws::String& value) { SetDeploymentConfigName(value); return *this;} /** *

The name of a deployment configuration associated with the IAM user or Amazon * Web Services account.

If not specified, the value configured in the * deployment group is used as the default. If the deployment group does not have a * deployment configuration associated with it, * CodeDeployDefault.OneAtATime is used by default.

*/ inline CreateDeploymentRequest& WithDeploymentConfigName(Aws::String&& value) { SetDeploymentConfigName(std::move(value)); return *this;} /** *

The name of a deployment configuration associated with the IAM user or Amazon * Web Services account.

If not specified, the value configured in the * deployment group is used as the default. If the deployment group does not have a * deployment configuration associated with it, * CodeDeployDefault.OneAtATime is used by default.

*/ inline CreateDeploymentRequest& WithDeploymentConfigName(const char* value) { SetDeploymentConfigName(value); return *this;} /** *

A comment about the deployment.

*/ inline const Aws::String& GetDescription() const{ return m_description; } /** *

A comment about the deployment.

*/ inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } /** *

A comment about the deployment.

*/ inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } /** *

A comment about the deployment.

*/ inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } /** *

A comment about the deployment.

*/ inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } /** *

A comment about the deployment.

*/ inline CreateDeploymentRequest& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} /** *

A comment about the deployment.

*/ inline CreateDeploymentRequest& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} /** *

A comment about the deployment.

*/ inline CreateDeploymentRequest& WithDescription(const char* value) { SetDescription(value); return *this;} /** *

If true, then if an ApplicationStop, * BeforeBlockTraffic, or AfterBlockTraffic deployment * lifecycle event to an instance fails, then the deployment continues to the next * deployment lifecycle event. For example, if ApplicationStop fails, * the deployment continues with DownloadBundle. If * BeforeBlockTraffic fails, the deployment continues with * BlockTraffic. If AfterBlockTraffic fails, the * deployment continues with ApplicationStop.

If false or not * specified, then if a lifecycle event fails during a deployment to an instance, * that deployment fails. If deployment to that instance is part of an overall * deployment and the number of healthy hosts is not less than the minimum number * of healthy hosts, then a deployment to the next instance is attempted.

* During a deployment, the CodeDeploy agent runs the scripts specified for * ApplicationStop, BeforeBlockTraffic, and * AfterBlockTraffic in the AppSpec file from the previous successful * deployment. (All other scripts are run from the AppSpec file in the current * deployment.) If one of these scripts contains an error and does not run * successfully, the deployment can fail.

If the cause of the failure is a * script from the last successful deployment that will never run successfully, * create a new deployment and use ignoreApplicationStopFailures to * specify that the ApplicationStop, BeforeBlockTraffic, * and AfterBlockTraffic failures should be ignored.

*/ inline bool GetIgnoreApplicationStopFailures() const{ return m_ignoreApplicationStopFailures; } /** *

If true, then if an ApplicationStop, * BeforeBlockTraffic, or AfterBlockTraffic deployment * lifecycle event to an instance fails, then the deployment continues to the next * deployment lifecycle event. For example, if ApplicationStop fails, * the deployment continues with DownloadBundle. If * BeforeBlockTraffic fails, the deployment continues with * BlockTraffic. If AfterBlockTraffic fails, the * deployment continues with ApplicationStop.

If false or not * specified, then if a lifecycle event fails during a deployment to an instance, * that deployment fails. If deployment to that instance is part of an overall * deployment and the number of healthy hosts is not less than the minimum number * of healthy hosts, then a deployment to the next instance is attempted.

* During a deployment, the CodeDeploy agent runs the scripts specified for * ApplicationStop, BeforeBlockTraffic, and * AfterBlockTraffic in the AppSpec file from the previous successful * deployment. (All other scripts are run from the AppSpec file in the current * deployment.) If one of these scripts contains an error and does not run * successfully, the deployment can fail.

If the cause of the failure is a * script from the last successful deployment that will never run successfully, * create a new deployment and use ignoreApplicationStopFailures to * specify that the ApplicationStop, BeforeBlockTraffic, * and AfterBlockTraffic failures should be ignored.

*/ inline bool IgnoreApplicationStopFailuresHasBeenSet() const { return m_ignoreApplicationStopFailuresHasBeenSet; } /** *

If true, then if an ApplicationStop, * BeforeBlockTraffic, or AfterBlockTraffic deployment * lifecycle event to an instance fails, then the deployment continues to the next * deployment lifecycle event. For example, if ApplicationStop fails, * the deployment continues with DownloadBundle. If * BeforeBlockTraffic fails, the deployment continues with * BlockTraffic. If AfterBlockTraffic fails, the * deployment continues with ApplicationStop.

If false or not * specified, then if a lifecycle event fails during a deployment to an instance, * that deployment fails. If deployment to that instance is part of an overall * deployment and the number of healthy hosts is not less than the minimum number * of healthy hosts, then a deployment to the next instance is attempted.

* During a deployment, the CodeDeploy agent runs the scripts specified for * ApplicationStop, BeforeBlockTraffic, and * AfterBlockTraffic in the AppSpec file from the previous successful * deployment. (All other scripts are run from the AppSpec file in the current * deployment.) If one of these scripts contains an error and does not run * successfully, the deployment can fail.

If the cause of the failure is a * script from the last successful deployment that will never run successfully, * create a new deployment and use ignoreApplicationStopFailures to * specify that the ApplicationStop, BeforeBlockTraffic, * and AfterBlockTraffic failures should be ignored.

*/ inline void SetIgnoreApplicationStopFailures(bool value) { m_ignoreApplicationStopFailuresHasBeenSet = true; m_ignoreApplicationStopFailures = value; } /** *

If true, then if an ApplicationStop, * BeforeBlockTraffic, or AfterBlockTraffic deployment * lifecycle event to an instance fails, then the deployment continues to the next * deployment lifecycle event. For example, if ApplicationStop fails, * the deployment continues with DownloadBundle. If * BeforeBlockTraffic fails, the deployment continues with * BlockTraffic. If AfterBlockTraffic fails, the * deployment continues with ApplicationStop.

If false or not * specified, then if a lifecycle event fails during a deployment to an instance, * that deployment fails. If deployment to that instance is part of an overall * deployment and the number of healthy hosts is not less than the minimum number * of healthy hosts, then a deployment to the next instance is attempted.

* During a deployment, the CodeDeploy agent runs the scripts specified for * ApplicationStop, BeforeBlockTraffic, and * AfterBlockTraffic in the AppSpec file from the previous successful * deployment. (All other scripts are run from the AppSpec file in the current * deployment.) If one of these scripts contains an error and does not run * successfully, the deployment can fail.

If the cause of the failure is a * script from the last successful deployment that will never run successfully, * create a new deployment and use ignoreApplicationStopFailures to * specify that the ApplicationStop, BeforeBlockTraffic, * and AfterBlockTraffic failures should be ignored.

*/ inline CreateDeploymentRequest& WithIgnoreApplicationStopFailures(bool value) { SetIgnoreApplicationStopFailures(value); return *this;} /** *

Information about the instances that belong to the replacement environment * in a blue/green deployment.

*/ inline const TargetInstances& GetTargetInstances() const{ return m_targetInstances; } /** *

Information about the instances that belong to the replacement environment * in a blue/green deployment.

*/ inline bool TargetInstancesHasBeenSet() const { return m_targetInstancesHasBeenSet; } /** *

Information about the instances that belong to the replacement environment * in a blue/green deployment.

*/ inline void SetTargetInstances(const TargetInstances& value) { m_targetInstancesHasBeenSet = true; m_targetInstances = value; } /** *

Information about the instances that belong to the replacement environment * in a blue/green deployment.

*/ inline void SetTargetInstances(TargetInstances&& value) { m_targetInstancesHasBeenSet = true; m_targetInstances = std::move(value); } /** *

Information about the instances that belong to the replacement environment * in a blue/green deployment.

*/ inline CreateDeploymentRequest& WithTargetInstances(const TargetInstances& value) { SetTargetInstances(value); return *this;} /** *

Information about the instances that belong to the replacement environment * in a blue/green deployment.

*/ inline CreateDeploymentRequest& WithTargetInstances(TargetInstances&& value) { SetTargetInstances(std::move(value)); return *this;} /** *

Configuration information for an automatic rollback that is added when a * deployment is created.

*/ inline const AutoRollbackConfiguration& GetAutoRollbackConfiguration() const{ return m_autoRollbackConfiguration; } /** *

Configuration information for an automatic rollback that is added when a * deployment is created.

*/ inline bool AutoRollbackConfigurationHasBeenSet() const { return m_autoRollbackConfigurationHasBeenSet; } /** *

Configuration information for an automatic rollback that is added when a * deployment is created.

*/ inline void SetAutoRollbackConfiguration(const AutoRollbackConfiguration& value) { m_autoRollbackConfigurationHasBeenSet = true; m_autoRollbackConfiguration = value; } /** *

Configuration information for an automatic rollback that is added when a * deployment is created.

*/ inline void SetAutoRollbackConfiguration(AutoRollbackConfiguration&& value) { m_autoRollbackConfigurationHasBeenSet = true; m_autoRollbackConfiguration = std::move(value); } /** *

Configuration information for an automatic rollback that is added when a * deployment is created.

*/ inline CreateDeploymentRequest& WithAutoRollbackConfiguration(const AutoRollbackConfiguration& value) { SetAutoRollbackConfiguration(value); return *this;} /** *

Configuration information for an automatic rollback that is added when a * deployment is created.

*/ inline CreateDeploymentRequest& WithAutoRollbackConfiguration(AutoRollbackConfiguration&& value) { SetAutoRollbackConfiguration(std::move(value)); return *this;} /** *

Indicates whether to deploy to all instances or only to instances that are * not running the latest application revision.

*/ inline bool GetUpdateOutdatedInstancesOnly() const{ return m_updateOutdatedInstancesOnly; } /** *

Indicates whether to deploy to all instances or only to instances that are * not running the latest application revision.

*/ inline bool UpdateOutdatedInstancesOnlyHasBeenSet() const { return m_updateOutdatedInstancesOnlyHasBeenSet; } /** *

Indicates whether to deploy to all instances or only to instances that are * not running the latest application revision.

*/ inline void SetUpdateOutdatedInstancesOnly(bool value) { m_updateOutdatedInstancesOnlyHasBeenSet = true; m_updateOutdatedInstancesOnly = value; } /** *

Indicates whether to deploy to all instances or only to instances that are * not running the latest application revision.

*/ inline CreateDeploymentRequest& WithUpdateOutdatedInstancesOnly(bool value) { SetUpdateOutdatedInstancesOnly(value); return *this;} /** *

Information about how CodeDeploy handles files that already exist in a * deployment target location but weren't part of the previous successful * deployment.

The fileExistsBehavior parameter takes any of * the following values:

  • DISALLOW: The deployment fails. This is * also the default behavior if no option is specified.

  • *

    OVERWRITE: The version of the file from the application revision currently * being deployed replaces the version already on the instance.

  • *

    RETAIN: The version of the file already on the instance is kept and used as * part of the new deployment.

*/ inline const FileExistsBehavior& GetFileExistsBehavior() const{ return m_fileExistsBehavior; } /** *

Information about how CodeDeploy handles files that already exist in a * deployment target location but weren't part of the previous successful * deployment.

The fileExistsBehavior parameter takes any of * the following values:

  • DISALLOW: The deployment fails. This is * also the default behavior if no option is specified.

  • *

    OVERWRITE: The version of the file from the application revision currently * being deployed replaces the version already on the instance.

  • *

    RETAIN: The version of the file already on the instance is kept and used as * part of the new deployment.

*/ inline bool FileExistsBehaviorHasBeenSet() const { return m_fileExistsBehaviorHasBeenSet; } /** *

Information about how CodeDeploy handles files that already exist in a * deployment target location but weren't part of the previous successful * deployment.

The fileExistsBehavior parameter takes any of * the following values:

  • DISALLOW: The deployment fails. This is * also the default behavior if no option is specified.

  • *

    OVERWRITE: The version of the file from the application revision currently * being deployed replaces the version already on the instance.

  • *

    RETAIN: The version of the file already on the instance is kept and used as * part of the new deployment.

*/ inline void SetFileExistsBehavior(const FileExistsBehavior& value) { m_fileExistsBehaviorHasBeenSet = true; m_fileExistsBehavior = value; } /** *

Information about how CodeDeploy handles files that already exist in a * deployment target location but weren't part of the previous successful * deployment.

The fileExistsBehavior parameter takes any of * the following values:

  • DISALLOW: The deployment fails. This is * also the default behavior if no option is specified.

  • *

    OVERWRITE: The version of the file from the application revision currently * being deployed replaces the version already on the instance.

  • *

    RETAIN: The version of the file already on the instance is kept and used as * part of the new deployment.

*/ inline void SetFileExistsBehavior(FileExistsBehavior&& value) { m_fileExistsBehaviorHasBeenSet = true; m_fileExistsBehavior = std::move(value); } /** *

Information about how CodeDeploy handles files that already exist in a * deployment target location but weren't part of the previous successful * deployment.

The fileExistsBehavior parameter takes any of * the following values:

  • DISALLOW: The deployment fails. This is * also the default behavior if no option is specified.

  • *

    OVERWRITE: The version of the file from the application revision currently * being deployed replaces the version already on the instance.

  • *

    RETAIN: The version of the file already on the instance is kept and used as * part of the new deployment.

*/ inline CreateDeploymentRequest& WithFileExistsBehavior(const FileExistsBehavior& value) { SetFileExistsBehavior(value); return *this;} /** *

Information about how CodeDeploy handles files that already exist in a * deployment target location but weren't part of the previous successful * deployment.

The fileExistsBehavior parameter takes any of * the following values:

  • DISALLOW: The deployment fails. This is * also the default behavior if no option is specified.

  • *

    OVERWRITE: The version of the file from the application revision currently * being deployed replaces the version already on the instance.

  • *

    RETAIN: The version of the file already on the instance is kept and used as * part of the new deployment.

*/ inline CreateDeploymentRequest& WithFileExistsBehavior(FileExistsBehavior&& value) { SetFileExistsBehavior(std::move(value)); return *this;} /** *

Allows you to specify information about alarms associated with a deployment. * The alarm configuration that you specify here will override the alarm * configuration at the deployment group level. Consider overriding the alarm * configuration if you have set up alarms at the deployment group level that are * causing deployment failures. In this case, you would call * CreateDeployment to create a new deployment that uses a previous * application revision that is known to work, and set its alarm configuration to * turn off alarm polling. Turning off alarm polling ensures that the new * deployment proceeds without being blocked by the alarm that was generated by the * previous, failed, deployment.

If you specify an * overrideAlarmConfiguration, you need the * UpdateDeploymentGroup IAM permission when calling * CreateDeployment.

*/ inline const AlarmConfiguration& GetOverrideAlarmConfiguration() const{ return m_overrideAlarmConfiguration; } /** *

Allows you to specify information about alarms associated with a deployment. * The alarm configuration that you specify here will override the alarm * configuration at the deployment group level. Consider overriding the alarm * configuration if you have set up alarms at the deployment group level that are * causing deployment failures. In this case, you would call * CreateDeployment to create a new deployment that uses a previous * application revision that is known to work, and set its alarm configuration to * turn off alarm polling. Turning off alarm polling ensures that the new * deployment proceeds without being blocked by the alarm that was generated by the * previous, failed, deployment.

If you specify an * overrideAlarmConfiguration, you need the * UpdateDeploymentGroup IAM permission when calling * CreateDeployment.

*/ inline bool OverrideAlarmConfigurationHasBeenSet() const { return m_overrideAlarmConfigurationHasBeenSet; } /** *

Allows you to specify information about alarms associated with a deployment. * The alarm configuration that you specify here will override the alarm * configuration at the deployment group level. Consider overriding the alarm * configuration if you have set up alarms at the deployment group level that are * causing deployment failures. In this case, you would call * CreateDeployment to create a new deployment that uses a previous * application revision that is known to work, and set its alarm configuration to * turn off alarm polling. Turning off alarm polling ensures that the new * deployment proceeds without being blocked by the alarm that was generated by the * previous, failed, deployment.

If you specify an * overrideAlarmConfiguration, you need the * UpdateDeploymentGroup IAM permission when calling * CreateDeployment.

*/ inline void SetOverrideAlarmConfiguration(const AlarmConfiguration& value) { m_overrideAlarmConfigurationHasBeenSet = true; m_overrideAlarmConfiguration = value; } /** *

Allows you to specify information about alarms associated with a deployment. * The alarm configuration that you specify here will override the alarm * configuration at the deployment group level. Consider overriding the alarm * configuration if you have set up alarms at the deployment group level that are * causing deployment failures. In this case, you would call * CreateDeployment to create a new deployment that uses a previous * application revision that is known to work, and set its alarm configuration to * turn off alarm polling. Turning off alarm polling ensures that the new * deployment proceeds without being blocked by the alarm that was generated by the * previous, failed, deployment.

If you specify an * overrideAlarmConfiguration, you need the * UpdateDeploymentGroup IAM permission when calling * CreateDeployment.

*/ inline void SetOverrideAlarmConfiguration(AlarmConfiguration&& value) { m_overrideAlarmConfigurationHasBeenSet = true; m_overrideAlarmConfiguration = std::move(value); } /** *

Allows you to specify information about alarms associated with a deployment. * The alarm configuration that you specify here will override the alarm * configuration at the deployment group level. Consider overriding the alarm * configuration if you have set up alarms at the deployment group level that are * causing deployment failures. In this case, you would call * CreateDeployment to create a new deployment that uses a previous * application revision that is known to work, and set its alarm configuration to * turn off alarm polling. Turning off alarm polling ensures that the new * deployment proceeds without being blocked by the alarm that was generated by the * previous, failed, deployment.

If you specify an * overrideAlarmConfiguration, you need the * UpdateDeploymentGroup IAM permission when calling * CreateDeployment.

*/ inline CreateDeploymentRequest& WithOverrideAlarmConfiguration(const AlarmConfiguration& value) { SetOverrideAlarmConfiguration(value); return *this;} /** *

Allows you to specify information about alarms associated with a deployment. * The alarm configuration that you specify here will override the alarm * configuration at the deployment group level. Consider overriding the alarm * configuration if you have set up alarms at the deployment group level that are * causing deployment failures. In this case, you would call * CreateDeployment to create a new deployment that uses a previous * application revision that is known to work, and set its alarm configuration to * turn off alarm polling. Turning off alarm polling ensures that the new * deployment proceeds without being blocked by the alarm that was generated by the * previous, failed, deployment.

If you specify an * overrideAlarmConfiguration, you need the * UpdateDeploymentGroup IAM permission when calling * CreateDeployment.

*/ inline CreateDeploymentRequest& WithOverrideAlarmConfiguration(AlarmConfiguration&& value) { SetOverrideAlarmConfiguration(std::move(value)); return *this;} private: Aws::String m_applicationName; bool m_applicationNameHasBeenSet = false; Aws::String m_deploymentGroupName; bool m_deploymentGroupNameHasBeenSet = false; RevisionLocation m_revision; bool m_revisionHasBeenSet = false; Aws::String m_deploymentConfigName; bool m_deploymentConfigNameHasBeenSet = false; Aws::String m_description; bool m_descriptionHasBeenSet = false; bool m_ignoreApplicationStopFailures; bool m_ignoreApplicationStopFailuresHasBeenSet = false; TargetInstances m_targetInstances; bool m_targetInstancesHasBeenSet = false; AutoRollbackConfiguration m_autoRollbackConfiguration; bool m_autoRollbackConfigurationHasBeenSet = false; bool m_updateOutdatedInstancesOnly; bool m_updateOutdatedInstancesOnlyHasBeenSet = false; FileExistsBehavior m_fileExistsBehavior; bool m_fileExistsBehaviorHasBeenSet = false; AlarmConfiguration m_overrideAlarmConfiguration; bool m_overrideAlarmConfigurationHasBeenSet = false; }; } // namespace Model } // namespace CodeDeploy } // namespace Aws