aws-cdk-lib
Version:
Version 2 of the AWS Cloud Development Kit library
881 lines • 99.2 kB
TypeScript
import * as cdk from "../../core/lib";
import * as constructs from "constructs";
import * as cfn_parse from "../../core/lib/helpers-internal";
import { aws_lambda as lambdaRefs } from "../../interfaces";
import { ApplicationReference, DeploymentConfigReference, DeploymentGroupReference, IApplicationRef, IDeploymentConfigRef, IDeploymentGroupRef } from "../../interfaces/generated/aws-codedeploy-interfaces.generated";
/**
* The `AWS::CodeDeploy::Application` resource creates an AWS CodeDeploy application.
*
* In CodeDeploy , an application is a name that functions as a container to ensure that the correct combination of revision, deployment configuration, and deployment group are referenced during a deployment. You can use the `AWS::CodeDeploy::DeploymentGroup` resource to associate the application with a CodeDeploy deployment group. For more information, see [CodeDeploy Deployments](https://docs.aws.amazon.com/codedeploy/latest/userguide/deployment-steps.html) in the *AWS CodeDeploy User Guide* .
*
* @cloudformationResource AWS::CodeDeploy::Application
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-application.html
*/
export declare class CfnApplication extends cdk.CfnResource implements cdk.IInspectable, IApplicationRef, cdk.ITaggable {
/**
* The CloudFormation resource type name for this resource class.
*/
static readonly CFN_RESOURCE_TYPE_NAME: string;
/**
* Build a CfnApplication from CloudFormation properties
*
* A factory method that creates a new instance of this class from an object
* containing the CloudFormation properties of this resource.
* Used in the @aws-cdk/cloudformation-include module.
*
* @internal
*/
static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnApplication;
/**
* Checks whether the given object is a CfnApplication
*/
static isCfnApplication(x: any): x is CfnApplication;
/**
* Creates a new IApplicationRef from a applicationName
*/
static fromApplicationName(scope: constructs.Construct, id: string, applicationName: string): IApplicationRef;
static arnForApplication(resource: IApplicationRef): string;
/**
* A name for the application.
*/
private _applicationName?;
/**
* The compute platform that CodeDeploy deploys the application to.
*/
private _computePlatform?;
/**
* Tag Manager which manages the tags for this resource
*/
readonly tags: cdk.TagManager;
/**
* The metadata that you apply to CodeDeploy applications to help you organize and categorize them.
*/
private _tagsRaw?;
/**
* Create a new `AWS::CodeDeploy::Application`.
*
* @param scope Scope in which this resource is defined
* @param id Construct identifier for this resource (unique in its scope)
* @param props Resource properties
*/
constructor(scope: constructs.Construct, id: string, props?: CfnApplicationProps);
get applicationRef(): ApplicationReference;
/**
* A name for the application.
*/
get applicationName(): string | undefined;
/**
* A name for the application.
*/
set applicationName(value: string | undefined);
/**
* The compute platform that CodeDeploy deploys the application to.
*/
get computePlatform(): string | undefined;
/**
* The compute platform that CodeDeploy deploys the application to.
*/
set computePlatform(value: string | undefined);
/**
* The metadata that you apply to CodeDeploy applications to help you organize and categorize them.
*/
get tagsRaw(): Array<cdk.CfnTag> | undefined;
/**
* The metadata that you apply to CodeDeploy applications to help you organize and categorize them.
*/
set tagsRaw(value: Array<cdk.CfnTag> | undefined);
protected get cfnProperties(): Record<string, any>;
/**
* Examines the CloudFormation resource and discloses attributes
*
* @param inspector tree inspector to collect and process attributes
*/
inspect(inspector: cdk.TreeInspector): void;
protected renderProperties(props: Record<string, any>): Record<string, any>;
}
/**
* Properties for defining a `CfnApplication`
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-application.html
*/
export interface CfnApplicationProps {
/**
* A name for the application.
*
* If you don't specify a name, CloudFormation generates a unique physical ID and uses that ID for the application name. For more information, see [Name Type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html) .
*
* > Updates to `ApplicationName` are not supported.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-application.html#cfn-codedeploy-application-applicationname
*/
readonly applicationName?: lambdaRefs.IFunctionRef | string;
/**
* The compute platform that CodeDeploy deploys the application to.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-application.html#cfn-codedeploy-application-computeplatform
*/
readonly computePlatform?: string;
/**
* The metadata that you apply to CodeDeploy applications to help you organize and categorize them.
*
* Each tag consists of a key and an optional value, both of which you define.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-application.html#cfn-codedeploy-application-tags
*/
readonly tags?: Array<cdk.CfnTag>;
}
/**
* The `AWS::CodeDeploy::DeploymentConfig` resource creates a set of deployment rules, deployment success conditions, and deployment failure conditions that AWS CodeDeploy uses during a deployment.
*
* The deployment configuration specifies the number or percentage of instances that must remain available at any time during a deployment.
*
* @cloudformationResource AWS::CodeDeploy::DeploymentConfig
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-deploymentconfig.html
*/
export declare class CfnDeploymentConfig extends cdk.CfnResource implements cdk.IInspectable, IDeploymentConfigRef {
/**
* The CloudFormation resource type name for this resource class.
*/
static readonly CFN_RESOURCE_TYPE_NAME: string;
/**
* Build a CfnDeploymentConfig from CloudFormation properties
*
* A factory method that creates a new instance of this class from an object
* containing the CloudFormation properties of this resource.
* Used in the @aws-cdk/cloudformation-include module.
*
* @internal
*/
static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnDeploymentConfig;
/**
* Checks whether the given object is a CfnDeploymentConfig
*/
static isCfnDeploymentConfig(x: any): x is CfnDeploymentConfig;
/**
* The destination platform type for the deployment ( `Lambda` , `Server` , or `ECS` ).
*/
private _computePlatform?;
/**
* A name for the deployment configuration.
*/
private _deploymentConfigName?;
/**
* The minimum number of healthy instances that should be available at any time during the deployment.
*/
private _minimumHealthyHosts?;
/**
* The configuration that specifies how the deployment traffic is routed.
*/
private _trafficRoutingConfig?;
/**
* Configure the `ZonalConfig` object if you want AWS CodeDeploy to deploy your application to one [Availability Zone](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html#concepts-availability-zones) at a time, within an AWS Region.
*/
private _zonalConfig?;
/**
* Create a new `AWS::CodeDeploy::DeploymentConfig`.
*
* @param scope Scope in which this resource is defined
* @param id Construct identifier for this resource (unique in its scope)
* @param props Resource properties
*/
constructor(scope: constructs.Construct, id: string, props?: CfnDeploymentConfigProps);
get deploymentConfigRef(): DeploymentConfigReference;
/**
* The destination platform type for the deployment ( `Lambda` , `Server` , or `ECS` ).
*/
get computePlatform(): string | undefined;
/**
* The destination platform type for the deployment ( `Lambda` , `Server` , or `ECS` ).
*/
set computePlatform(value: string | undefined);
/**
* A name for the deployment configuration.
*/
get deploymentConfigName(): string | undefined;
/**
* A name for the deployment configuration.
*/
set deploymentConfigName(value: string | undefined);
/**
* The minimum number of healthy instances that should be available at any time during the deployment.
*/
get minimumHealthyHosts(): cdk.IResolvable | CfnDeploymentConfig.MinimumHealthyHostsProperty | undefined;
/**
* The minimum number of healthy instances that should be available at any time during the deployment.
*/
set minimumHealthyHosts(value: cdk.IResolvable | CfnDeploymentConfig.MinimumHealthyHostsProperty | undefined);
/**
* The configuration that specifies how the deployment traffic is routed.
*/
get trafficRoutingConfig(): cdk.IResolvable | CfnDeploymentConfig.TrafficRoutingConfigProperty | undefined;
/**
* The configuration that specifies how the deployment traffic is routed.
*/
set trafficRoutingConfig(value: cdk.IResolvable | CfnDeploymentConfig.TrafficRoutingConfigProperty | undefined);
/**
* Configure the `ZonalConfig` object if you want AWS CodeDeploy to deploy your application to one [Availability Zone](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html#concepts-availability-zones) at a time, within an AWS Region.
*/
get zonalConfig(): cdk.IResolvable | CfnDeploymentConfig.ZonalConfigProperty | undefined;
/**
* Configure the `ZonalConfig` object if you want AWS CodeDeploy to deploy your application to one [Availability Zone](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html#concepts-availability-zones) at a time, within an AWS Region.
*/
set zonalConfig(value: cdk.IResolvable | CfnDeploymentConfig.ZonalConfigProperty | undefined);
protected get cfnProperties(): Record<string, any>;
/**
* Examines the CloudFormation resource and discloses attributes
*
* @param inspector tree inspector to collect and process attributes
*/
inspect(inspector: cdk.TreeInspector): void;
protected renderProperties(props: Record<string, any>): Record<string, any>;
}
export declare namespace CfnDeploymentConfig {
/**
* The configuration that specifies how traffic is shifted from one version of a Lambda function to another version during an AWS Lambda deployment, or from one Amazon ECS task set to another during an Amazon ECS deployment.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentconfig-trafficroutingconfig.html
*/
interface TrafficRoutingConfigProperty {
/**
* A configuration that shifts traffic from one version of a Lambda function or ECS task set to another in two increments.
*
* The original and target Lambda function versions or ECS task sets are specified in the deployment's AppSpec file.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentconfig-trafficroutingconfig.html#cfn-codedeploy-deploymentconfig-trafficroutingconfig-timebasedcanary
*/
readonly timeBasedCanary?: cdk.IResolvable | CfnDeploymentConfig.TimeBasedCanaryProperty;
/**
* A configuration that shifts traffic from one version of a Lambda function or Amazon ECS task set to another in equal increments, with an equal number of minutes between each increment.
*
* The original and target Lambda function versions or Amazon ECS task sets are specified in the deployment's AppSpec file.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentconfig-trafficroutingconfig.html#cfn-codedeploy-deploymentconfig-trafficroutingconfig-timebasedlinear
*/
readonly timeBasedLinear?: cdk.IResolvable | CfnDeploymentConfig.TimeBasedLinearProperty;
/**
* The type of traffic shifting ( `TimeBasedCanary` or `TimeBasedLinear` ) used by a deployment configuration.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentconfig-trafficroutingconfig.html#cfn-codedeploy-deploymentconfig-trafficroutingconfig-type
*/
readonly type: string;
}
/**
* A configuration that shifts traffic from one version of a Lambda function or ECS task set to another in equal increments, with an equal number of minutes between each increment.
*
* The original and target Lambda function versions or ECS task sets are specified in the deployment's AppSpec file.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentconfig-timebasedlinear.html
*/
interface TimeBasedLinearProperty {
/**
* The number of minutes between each incremental traffic shift of a `TimeBasedLinear` deployment.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentconfig-timebasedlinear.html#cfn-codedeploy-deploymentconfig-timebasedlinear-linearinterval
*/
readonly linearInterval: number;
/**
* The percentage of traffic that is shifted at the start of each increment of a `TimeBasedLinear` deployment.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentconfig-timebasedlinear.html#cfn-codedeploy-deploymentconfig-timebasedlinear-linearpercentage
*/
readonly linearPercentage: number;
}
/**
* A configuration that shifts traffic from one version of a Lambda function or Amazon ECS task set to another in two increments.
*
* The original and target Lambda function versions or ECS task sets are specified in the deployment's AppSpec file.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentconfig-timebasedcanary.html
*/
interface TimeBasedCanaryProperty {
/**
* The number of minutes between the first and second traffic shifts of a `TimeBasedCanary` deployment.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentconfig-timebasedcanary.html#cfn-codedeploy-deploymentconfig-timebasedcanary-canaryinterval
*/
readonly canaryInterval: number;
/**
* The percentage of traffic to shift in the first increment of a `TimeBasedCanary` deployment.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentconfig-timebasedcanary.html#cfn-codedeploy-deploymentconfig-timebasedcanary-canarypercentage
*/
readonly canaryPercentage: number;
}
/**
* `MinimumHealthyHosts` is a property of the [DeploymentConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-deploymentconfig.html) resource that defines how many instances must remain healthy during an AWS CodeDeploy deployment.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentconfig-minimumhealthyhosts.html
*/
interface MinimumHealthyHostsProperty {
/**
* The minimum healthy instance type:.
*
* - HOST_COUNT: The minimum number of healthy instance as an absolute value.
* - FLEET_PERCENT: The minimum number of healthy instance as a percentage of the total number of instance in the deployment.
*
* In an example of nine instance, if a HOST_COUNT of six is specified, deploy to up to three instances at a time. The deployment is successful if six or more instances are deployed to successfully. Otherwise, the deployment fails. If a FLEET_PERCENT of 40 is specified, deploy to up to five instance at a time. The deployment is successful if four or more instance are deployed to successfully. Otherwise, the deployment fails.
*
* > In a call to `GetDeploymentConfig` , CodeDeployDefault.OneAtATime returns a minimum healthy instance type of MOST_CONCURRENCY and a value of 1. This means a deployment to only one instance at a time. (You cannot set the type to MOST_CONCURRENCY, only to HOST_COUNT or FLEET_PERCENT.) In addition, with CodeDeployDefault.OneAtATime, AWS CodeDeploy attempts to ensure that all instances but one are kept in a healthy state during the deployment. Although this allows one instance at a time to be taken offline for a new deployment, it also means that if the deployment to the last instance fails, the overall deployment is still successful.
*
* For more information, see [AWS CodeDeploy Instance Health](https://docs.aws.amazon.com//codedeploy/latest/userguide/instances-health.html) in the *AWS CodeDeploy User Guide* .
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentconfig-minimumhealthyhosts.html#cfn-codedeploy-deploymentconfig-minimumhealthyhosts-type
*/
readonly type: string;
/**
* The minimum healthy instance value.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentconfig-minimumhealthyhosts.html#cfn-codedeploy-deploymentconfig-minimumhealthyhosts-value
*/
readonly value: number;
}
/**
* Configure the `ZonalConfig` object if you want AWS CodeDeploy to deploy your application to one [Availability Zone](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html#concepts-availability-zones) at a time, within an AWS Region. By deploying to one Availability Zone at a time, you can expose your deployment to a progressively larger audience as confidence in the deployment's performance and viability grows. If you don't configure the `ZonalConfig` object, CodeDeploy deploys your application to a random selection of hosts across a Region.
*
* For more information about the zonal configuration feature, see [zonal configuration](https://docs.aws.amazon.com/codedeploy/latest/userguide/deployment-configurations-create.html#zonal-config) in the *CodeDeploy User Guide* .
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentconfig-zonalconfig.html
*/
interface ZonalConfigProperty {
/**
* The period of time, in seconds, that CodeDeploy must wait after completing a deployment to the *first* Availability Zone.
*
* CodeDeploy will wait this amount of time before starting a deployment to the second Availability Zone. You might set this option if you want to allow extra bake time for the first Availability Zone. If you don't specify a value for `firstZoneMonitorDurationInSeconds` , then CodeDeploy uses the `monitorDurationInSeconds` value for the first Availability Zone.
*
* For more information about the zonal configuration feature, see [zonal configuration](https://docs.aws.amazon.com/codedeploy/latest/userguide/deployment-configurations-create.html#zonal-config) in the *CodeDeploy User Guide* .
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentconfig-zonalconfig.html#cfn-codedeploy-deploymentconfig-zonalconfig-firstzonemonitordurationinseconds
*/
readonly firstZoneMonitorDurationInSeconds?: number;
/**
* The number or percentage of instances that must remain available per Availability Zone during a deployment.
*
* This option works in conjunction with the `MinimumHealthyHosts` option. For more information, see [About the minimum number of healthy hosts per Availability Zone](https://docs.aws.amazon.com//codedeploy/latest/userguide/instances-health.html#minimum-healthy-hosts-az) in the *CodeDeploy User Guide* .
*
* If you don't specify the `minimumHealthyHostsPerZone` option, then CodeDeploy uses a default value of `0` percent.
*
* For more information about the zonal configuration feature, see [zonal configuration](https://docs.aws.amazon.com/codedeploy/latest/userguide/deployment-configurations-create.html#zonal-config) in the *CodeDeploy User Guide* .
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentconfig-zonalconfig.html#cfn-codedeploy-deploymentconfig-zonalconfig-minimumhealthyhostsperzone
*/
readonly minimumHealthyHostsPerZone?: cdk.IResolvable | CfnDeploymentConfig.MinimumHealthyHostsPerZoneProperty;
/**
* The period of time, in seconds, that CodeDeploy must wait after completing a deployment to an Availability Zone.
*
* CodeDeploy will wait this amount of time before starting a deployment to the next Availability Zone. Consider adding a monitor duration to give the deployment some time to prove itself (or 'bake') in one Availability Zone before it is released in the next zone. If you don't specify a `monitorDurationInSeconds` , CodeDeploy starts deploying to the next Availability Zone immediately.
*
* For more information about the zonal configuration feature, see [zonal configuration](https://docs.aws.amazon.com/codedeploy/latest/userguide/deployment-configurations-create.html#zonal-config) in the *CodeDeploy User Guide* .
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentconfig-zonalconfig.html#cfn-codedeploy-deploymentconfig-zonalconfig-monitordurationinseconds
*/
readonly monitorDurationInSeconds?: number;
}
/**
* Information about the minimum number of healthy instances per Availability Zone.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentconfig-minimumhealthyhostsperzone.html
*/
interface MinimumHealthyHostsPerZoneProperty {
/**
* The `type` associated with the `MinimumHealthyHostsPerZone` option.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentconfig-minimumhealthyhostsperzone.html#cfn-codedeploy-deploymentconfig-minimumhealthyhostsperzone-type
*/
readonly type: string;
/**
* The `value` associated with the `MinimumHealthyHostsPerZone` option.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentconfig-minimumhealthyhostsperzone.html#cfn-codedeploy-deploymentconfig-minimumhealthyhostsperzone-value
*/
readonly value: number;
}
}
/**
* Properties for defining a `CfnDeploymentConfig`
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-deploymentconfig.html
*/
export interface CfnDeploymentConfigProps {
/**
* The destination platform type for the deployment ( `Lambda` , `Server` , or `ECS` ).
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-deploymentconfig.html#cfn-codedeploy-deploymentconfig-computeplatform
*/
readonly computePlatform?: string;
/**
* A name for the deployment configuration.
*
* If you don't specify a name, CloudFormation generates a unique physical ID and uses that ID for the deployment configuration name. For more information, see [Name Type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html) .
*
* > If you specify a name, you cannot perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-deploymentconfig.html#cfn-codedeploy-deploymentconfig-deploymentconfigname
*/
readonly deploymentConfigName?: string;
/**
* The minimum number of healthy instances that should be available at any time during the deployment.
*
* There are two parameters expected in the input: type and value.
*
* The type parameter takes either of the following values:
*
* - HOST_COUNT: The value parameter represents the minimum number of healthy instances as an absolute value.
* - FLEET_PERCENT: The value parameter represents the minimum number of healthy instances as a percentage of the total number of instances in the deployment. If you specify FLEET_PERCENT, at the start of the deployment, AWS CodeDeploy converts the percentage to the equivalent number of instance and rounds up fractional instances.
*
* The value parameter takes an integer.
*
* For example, to set a minimum of 95% healthy instance, specify a type of FLEET_PERCENT and a value of 95.
*
* For more information about instance health, see [CodeDeploy Instance Health](https://docs.aws.amazon.com/codedeploy/latest/userguide/instances-health.html) in the AWS CodeDeploy User Guide.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-deploymentconfig.html#cfn-codedeploy-deploymentconfig-minimumhealthyhosts
*/
readonly minimumHealthyHosts?: cdk.IResolvable | CfnDeploymentConfig.MinimumHealthyHostsProperty;
/**
* The configuration that specifies how the deployment traffic is routed.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-deploymentconfig.html#cfn-codedeploy-deploymentconfig-trafficroutingconfig
*/
readonly trafficRoutingConfig?: cdk.IResolvable | CfnDeploymentConfig.TrafficRoutingConfigProperty;
/**
* Configure the `ZonalConfig` object if you want AWS CodeDeploy to deploy your application to one [Availability Zone](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html#concepts-availability-zones) at a time, within an AWS Region.
*
* For more information about the zonal configuration feature, see [zonal configuration](https://docs.aws.amazon.com/codedeploy/latest/userguide/deployment-configurations-create.html#zonal-config) in the *CodeDeploy User Guide* .
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-deploymentconfig.html#cfn-codedeploy-deploymentconfig-zonalconfig
*/
readonly zonalConfig?: cdk.IResolvable | CfnDeploymentConfig.ZonalConfigProperty;
}
/**
* The `AWS::CodeDeploy::DeploymentGroup` resource creates an AWS CodeDeploy deployment group that specifies which instances your application revisions are deployed to, along with other deployment options.
*
* For more information, see [CreateDeploymentGroup](https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_CreateDeploymentGroup.html) in the *CodeDeploy API Reference* .
*
* > Amazon ECS blue/green deployments through CodeDeploy do not use the `AWS::CodeDeploy::DeploymentGroup` resource. To perform Amazon ECS blue/green deployments, use the `AWS::CodeDeploy::BlueGreen` hook. See [Perform Amazon ECS blue/green deployments through CodeDeploy using CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/blue-green.html) for more information.
*
* @cloudformationResource AWS::CodeDeploy::DeploymentGroup
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-deploymentgroup.html
*/
export declare class CfnDeploymentGroup extends cdk.CfnResource implements cdk.IInspectable, IDeploymentGroupRef, cdk.ITaggable {
/**
* The CloudFormation resource type name for this resource class.
*/
static readonly CFN_RESOURCE_TYPE_NAME: string;
/**
* Build a CfnDeploymentGroup from CloudFormation properties
*
* A factory method that creates a new instance of this class from an object
* containing the CloudFormation properties of this resource.
* Used in the @aws-cdk/cloudformation-include module.
*
* @internal
*/
static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnDeploymentGroup;
/**
* Checks whether the given object is a CfnDeploymentGroup
*/
static isCfnDeploymentGroup(x: any): x is CfnDeploymentGroup;
/**
* Information about the Amazon CloudWatch alarms that are associated with the deployment group.
*/
private _alarmConfiguration?;
/**
* The name of an existing CodeDeploy application to associate this deployment group with.
*/
private _applicationName;
/**
* Information about the automatic rollback configuration that is associated with the deployment group.
*/
private _autoRollbackConfiguration?;
/**
* A list of associated Auto Scaling groups that CodeDeploy automatically deploys revisions to when new instances are created.
*/
private _autoScalingGroups?;
/**
* Information about blue/green deployment options for a deployment group.
*/
private _blueGreenDeploymentConfiguration?;
/**
* The application revision to deploy to this deployment group.
*/
private _deployment?;
/**
* A deployment configuration name or a predefined configuration name.
*/
private _deploymentConfigName?;
/**
* A name for the deployment group.
*/
private _deploymentGroupName?;
/**
* Attributes that determine the type of deployment to run and whether to route deployment traffic behind a load balancer.
*/
private _deploymentStyle?;
/**
* The Amazon EC2 tags that are already applied to Amazon EC2 instances that you want to include in the deployment group.
*/
private _ec2TagFilters?;
/**
* Information about groups of tags applied to Amazon EC2 instances.
*/
private _ec2TagSet?;
/**
* The target Amazon ECS services in the deployment group.
*/
private _ecsServices?;
/**
* Information about the load balancer to use in a deployment.
*/
private _loadBalancerInfo?;
/**
* The on-premises instance tags already applied to on-premises instances that you want to include in the deployment group.
*/
private _onPremisesInstanceTagFilters?;
/**
* Information about groups of tags applied to on-premises instances.
*/
private _onPremisesTagSet?;
/**
* Indicates what happens when new Amazon EC2 instances are launched mid-deployment and do not receive the deployed application revision.
*/
private _outdatedInstancesStrategy?;
/**
* A service role Amazon Resource Name (ARN) that grants CodeDeploy permission to make calls to AWS services on your behalf.
*/
private _serviceRoleArn;
/**
* Tag Manager which manages the tags for this resource
*/
readonly tags: cdk.TagManager;
/**
* The metadata that you apply to CodeDeploy deployment groups to help you organize and categorize them.
*/
private _tagsRaw?;
/**
* Indicates whether the deployment group was configured to have CodeDeploy install a termination hook into an Auto Scaling group.
*/
private _terminationHookEnabled?;
/**
* Information about triggers associated with the deployment group.
*/
private _triggerConfigurations?;
/**
* Create a new `AWS::CodeDeploy::DeploymentGroup`.
*
* @param scope Scope in which this resource is defined
* @param id Construct identifier for this resource (unique in its scope)
* @param props Resource properties
*/
constructor(scope: constructs.Construct, id: string, props: CfnDeploymentGroupProps);
get deploymentGroupRef(): DeploymentGroupReference;
/**
* Information about the Amazon CloudWatch alarms that are associated with the deployment group.
*/
get alarmConfiguration(): CfnDeploymentGroup.AlarmConfigurationProperty | cdk.IResolvable | undefined;
/**
* Information about the Amazon CloudWatch alarms that are associated with the deployment group.
*/
set alarmConfiguration(value: CfnDeploymentGroup.AlarmConfigurationProperty | cdk.IResolvable | undefined);
/**
* The name of an existing CodeDeploy application to associate this deployment group with.
*/
get applicationName(): string;
/**
* The name of an existing CodeDeploy application to associate this deployment group with.
*/
set applicationName(value: string);
/**
* Information about the automatic rollback configuration that is associated with the deployment group.
*/
get autoRollbackConfiguration(): CfnDeploymentGroup.AutoRollbackConfigurationProperty | cdk.IResolvable | undefined;
/**
* Information about the automatic rollback configuration that is associated with the deployment group.
*/
set autoRollbackConfiguration(value: CfnDeploymentGroup.AutoRollbackConfigurationProperty | cdk.IResolvable | undefined);
/**
* A list of associated Auto Scaling groups that CodeDeploy automatically deploys revisions to when new instances are created.
*/
get autoScalingGroups(): Array<string> | undefined;
/**
* A list of associated Auto Scaling groups that CodeDeploy automatically deploys revisions to when new instances are created.
*/
set autoScalingGroups(value: Array<string> | undefined);
/**
* Information about blue/green deployment options for a deployment group.
*/
get blueGreenDeploymentConfiguration(): CfnDeploymentGroup.BlueGreenDeploymentConfigurationProperty | cdk.IResolvable | undefined;
/**
* Information about blue/green deployment options for a deployment group.
*/
set blueGreenDeploymentConfiguration(value: CfnDeploymentGroup.BlueGreenDeploymentConfigurationProperty | cdk.IResolvable | undefined);
/**
* The application revision to deploy to this deployment group.
*/
get deployment(): CfnDeploymentGroup.DeploymentProperty | cdk.IResolvable | undefined;
/**
* The application revision to deploy to this deployment group.
*/
set deployment(value: CfnDeploymentGroup.DeploymentProperty | cdk.IResolvable | undefined);
/**
* A deployment configuration name or a predefined configuration name.
*/
get deploymentConfigName(): string | undefined;
/**
* A deployment configuration name or a predefined configuration name.
*/
set deploymentConfigName(value: string | undefined);
/**
* A name for the deployment group.
*/
get deploymentGroupName(): string | undefined;
/**
* A name for the deployment group.
*/
set deploymentGroupName(value: string | undefined);
/**
* Attributes that determine the type of deployment to run and whether to route deployment traffic behind a load balancer.
*/
get deploymentStyle(): CfnDeploymentGroup.DeploymentStyleProperty | cdk.IResolvable | undefined;
/**
* Attributes that determine the type of deployment to run and whether to route deployment traffic behind a load balancer.
*/
set deploymentStyle(value: CfnDeploymentGroup.DeploymentStyleProperty | cdk.IResolvable | undefined);
/**
* The Amazon EC2 tags that are already applied to Amazon EC2 instances that you want to include in the deployment group.
*/
get ec2TagFilters(): Array<CfnDeploymentGroup.EC2TagFilterProperty | cdk.IResolvable> | cdk.IResolvable | undefined;
/**
* The Amazon EC2 tags that are already applied to Amazon EC2 instances that you want to include in the deployment group.
*/
set ec2TagFilters(value: Array<CfnDeploymentGroup.EC2TagFilterProperty | cdk.IResolvable> | cdk.IResolvable | undefined);
/**
* Information about groups of tags applied to Amazon EC2 instances.
*/
get ec2TagSet(): CfnDeploymentGroup.EC2TagSetProperty | cdk.IResolvable | undefined;
/**
* Information about groups of tags applied to Amazon EC2 instances.
*/
set ec2TagSet(value: CfnDeploymentGroup.EC2TagSetProperty | cdk.IResolvable | undefined);
/**
* The target Amazon ECS services in the deployment group.
*/
get ecsServices(): Array<CfnDeploymentGroup.ECSServiceProperty | cdk.IResolvable> | cdk.IResolvable | undefined;
/**
* The target Amazon ECS services in the deployment group.
*/
set ecsServices(value: Array<CfnDeploymentGroup.ECSServiceProperty | cdk.IResolvable> | cdk.IResolvable | undefined);
/**
* Information about the load balancer to use in a deployment.
*/
get loadBalancerInfo(): cdk.IResolvable | CfnDeploymentGroup.LoadBalancerInfoProperty | undefined;
/**
* Information about the load balancer to use in a deployment.
*/
set loadBalancerInfo(value: cdk.IResolvable | CfnDeploymentGroup.LoadBalancerInfoProperty | undefined);
/**
* The on-premises instance tags already applied to on-premises instances that you want to include in the deployment group.
*/
get onPremisesInstanceTagFilters(): Array<cdk.IResolvable | CfnDeploymentGroup.TagFilterProperty> | cdk.IResolvable | undefined;
/**
* The on-premises instance tags already applied to on-premises instances that you want to include in the deployment group.
*/
set onPremisesInstanceTagFilters(value: Array<cdk.IResolvable | CfnDeploymentGroup.TagFilterProperty> | cdk.IResolvable | undefined);
/**
* Information about groups of tags applied to on-premises instances.
*/
get onPremisesTagSet(): cdk.IResolvable | CfnDeploymentGroup.OnPremisesTagSetProperty | undefined;
/**
* Information about groups of tags applied to on-premises instances.
*/
set onPremisesTagSet(value: cdk.IResolvable | CfnDeploymentGroup.OnPremisesTagSetProperty | undefined);
/**
* Indicates what happens when new Amazon EC2 instances are launched mid-deployment and do not receive the deployed application revision.
*/
get outdatedInstancesStrategy(): string | undefined;
/**
* Indicates what happens when new Amazon EC2 instances are launched mid-deployment and do not receive the deployed application revision.
*/
set outdatedInstancesStrategy(value: string | undefined);
/**
* A service role Amazon Resource Name (ARN) that grants CodeDeploy permission to make calls to AWS services on your behalf.
*/
get serviceRoleArn(): string;
/**
* A service role Amazon Resource Name (ARN) that grants CodeDeploy permission to make calls to AWS services on your behalf.
*/
set serviceRoleArn(value: string);
/**
* The metadata that you apply to CodeDeploy deployment groups to help you organize and categorize them.
*/
get tagsRaw(): Array<cdk.CfnTag> | undefined;
/**
* The metadata that you apply to CodeDeploy deployment groups to help you organize and categorize them.
*/
set tagsRaw(value: Array<cdk.CfnTag> | undefined);
/**
* Indicates whether the deployment group was configured to have CodeDeploy install a termination hook into an Auto Scaling group.
*/
get terminationHookEnabled(): boolean | cdk.IResolvable | undefined;
/**
* Indicates whether the deployment group was configured to have CodeDeploy install a termination hook into an Auto Scaling group.
*/
set terminationHookEnabled(value: boolean | cdk.IResolvable | undefined);
/**
* Information about triggers associated with the deployment group.
*/
get triggerConfigurations(): Array<cdk.IResolvable | CfnDeploymentGroup.TriggerConfigProperty> | cdk.IResolvable | undefined;
/**
* Information about triggers associated with the deployment group.
*/
set triggerConfigurations(value: Array<cdk.IResolvable | CfnDeploymentGroup.TriggerConfigProperty> | cdk.IResolvable | undefined);
protected get cfnProperties(): Record<string, any>;
/**
* Examines the CloudFormation resource and discloses attributes
*
* @param inspector tree inspector to collect and process attributes
*/
inspect(inspector: cdk.TreeInspector): void;
protected renderProperties(props: Record<string, any>): Record<string, any>;
}
export declare namespace CfnDeploymentGroup {
/**
* The `AlarmConfiguration` property type configures CloudWatch alarms for an AWS CodeDeploy deployment group.
*
* `AlarmConfiguration` is a property of the [DeploymentGroup](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-deploymentgroup.html) resource.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-alarmconfiguration.html
*/
interface AlarmConfigurationProperty {
/**
* A list of alarms configured for the deployment or deployment group.
*
* A maximum of 10 alarms can be added.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-alarmconfiguration.html#cfn-codedeploy-deploymentgroup-alarmconfiguration-alarms
*/
readonly alarms?: Array<CfnDeploymentGroup.AlarmProperty | cdk.IResolvable> | cdk.IResolvable;
/**
* Indicates whether the alarm configuration is enabled.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-alarmconfiguration.html#cfn-codedeploy-deploymentgroup-alarmconfiguration-enabled
*/
readonly enabled?: boolean | cdk.IResolvable;
/**
* Indicates whether a deployment should continue if information about the current state of alarms cannot be retrieved from Amazon CloudWatch .
*
* The default value is `false` .
*
* - `true` : The deployment proceeds even if alarm status information can't be retrieved from CloudWatch .
* - `false` : The deployment stops if alarm status information can't be retrieved from CloudWatch .
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-alarmconfiguration.html#cfn-codedeploy-deploymentgroup-alarmconfiguration-ignorepollalarmfailure
*/
readonly ignorePollAlarmFailure?: boolean | cdk.IResolvable;
}
/**
* The `Alarm` property type specifies a CloudWatch alarm to use for an AWS CodeDeploy deployment group.
*
* The `Alarm` property of the [CodeDeploy DeploymentGroup AlarmConfiguration](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-alarmconfiguration.html) property contains a list of `Alarm` property types.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-alarm.html
*/
interface AlarmProperty {
/**
* The name of the alarm.
*
* Maximum length is 255 characters. Each alarm name can be used only once in a list of alarms.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-alarm.html#cfn-codedeploy-deploymentgroup-alarm-name
*/
readonly name?: string;
}
/**
* The `AutoRollbackConfiguration` property type configures automatic rollback for an AWS CodeDeploy deployment group when a deployment is not completed successfully.
*
* For more information, see [Automatic Rollbacks](https://docs.aws.amazon.com/codedeploy/latest/userguide/deployments-rollback-and-redeploy.html#deployments-rollback-and-redeploy-automatic-rollbacks) in the *AWS CodeDeploy User Guide* .
*
* `AutoRollbackConfiguration` is a property of the [DeploymentGroup](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-deploymentgroup.html) resource.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-autorollbackconfiguration.html
*/
interface AutoRollbackConfigurationProperty {
/**
* Indicates whether a defined automatic rollback configuration is currently enabled.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-autorollbackconfiguration.html#cfn-codedeploy-deploymentgroup-autorollbackconfiguration-enabled
*/
readonly enabled?: boolean | cdk.IResolvable;
/**
* The event type or types that trigger a rollback.
*
* Valid values are `DEPLOYMENT_FAILURE` , `DEPLOYMENT_STOP_ON_ALARM` , or `DEPLOYMENT_STOP_ON_REQUEST` .
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-autorollbackconfiguration.html#cfn-codedeploy-deploymentgroup-autorollbackconfiguration-events
*/
readonly events?: Array<string>;
}
/**
* Information about blue/green deployment options for a deployment group.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-bluegreendeploymentconfiguration.html
*/
interface BlueGreenDeploymentConfigurationProperty {
/**
* Information about the action to take when newly provisioned instances are ready to receive traffic in a blue/green deployment.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-bluegreendeploymentconfiguration.html#cfn-codedeploy-deploymentgroup-bluegreendeploymentconfiguration-deploymentreadyoption
*/
readonly deploymentReadyOption?: CfnDeploymentGroup.DeploymentReadyOptionProperty | cdk.IResolvable;
/**
* Information about how instances are provisioned for a replacement environment in a blue/green deployment.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-bluegreendeploymentconfiguration.html#cfn-codedeploy-deploymentgroup-bluegreendeploymentconfiguration-greenfleetprovisioningoption
*/
readonly greenFleetProvisioningOption?: CfnDeploymentGroup.GreenFleetProvisioningOptionProperty | cdk.IResolvable;
/**
* Information about whether to terminate instances in the original fleet during a blue/green deployment.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-bluegreendeploymentconfiguration.html#cfn-codedeploy-deploymentgroup-bluegreendeploymentconfiguration-terminateblueinstancesondeploymentsuccess
*/
readonly terminateBlueInstancesOnDeploymentSuccess?: CfnDeploymentGroup.BlueInstanceTerminationOptionProperty | cdk.IResolvable;
}
/**
* Information about how traffic is rerouted to instances in a replacement environment in a blue/green deployment.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-deploymentreadyoption.html
*/
interface DeploymentReadyOptionProperty {
/**
* Information about when to reroute traffic from an original environment to a replacement environment in a blue/green deployment.
*
* - CONTINUE_DEPLOYMENT: Register new instances with the load balancer immediately after the new application revision is installed on the instances in the replacement environment.
* - STOP_DEPLOYMENT: Do not register new instances with a load balancer unless traffic rerouting is started using [ContinueDeployment](https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_ContinueDeployment.html) . If traffic rerouting is not started before the end of the specified wait period, the deployment status is changed to