UNPKG

aws-cdk-lib

Version:

Version 2 of the AWS Cloud Development Kit library

881 lines 99.2 kB
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