CfnDeploymentGroupProps Struct
Properties for defining a CfnDeploymentGroup.
Example
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import { aws_codedeploy as codedeploy } from 'aws-cdk-lib';
const cfnDeploymentGroupProps: codedeploy.CfnDeploymentGroupProps = {
applicationName: 'applicationName',
serviceRoleArn: 'serviceRoleArn',
// the properties below are optional
alarmConfiguration: {
alarms: [{
name: 'name',
}],
enabled: false,
ignorePollAlarmFailure: false,
},
autoRollbackConfiguration: {
enabled: false,
events: ['events'],
},
autoScalingGroups: ['autoScalingGroups'],
blueGreenDeploymentConfiguration: {
deploymentReadyOption: {
actionOnTimeout: 'actionOnTimeout',
waitTimeInMinutes: 123,
},
greenFleetProvisioningOption: {
action: 'action',
},
terminateBlueInstancesOnDeploymentSuccess: {
action: 'action',
terminationWaitTimeInMinutes: 123,
},
},
deployment: {
revision: {
gitHubLocation: {
commitId: 'commitId',
repository: 'repository',
},
revisionType: 'revisionType',
s3Location: {
bucket: 'bucket',
key: 'key',
// the properties below are optional
bundleType: 'bundleType',
eTag: 'eTag',
version: 'version',
},
},
// the properties below are optional
description: 'description',
ignoreApplicationStopFailures: false,
},
deploymentConfigName: 'deploymentConfigName',
deploymentGroupName: 'deploymentGroupName',
deploymentStyle: {
deploymentOption: 'deploymentOption',
deploymentType: 'deploymentType',
},
ec2TagFilters: [{
key: 'key',
type: 'type',
value: 'value',
}],
ec2TagSet: {
ec2TagSetList: [{
ec2TagGroup: [{
key: 'key',
type: 'type',
value: 'value',
}],
}],
},
ecsServices: [{
clusterName: 'clusterName',
serviceName: 'serviceName',
}],
loadBalancerInfo: {
elbInfoList: [{
name: 'name',
}],
targetGroupInfoList: [{
name: 'name',
}],
targetGroupPairInfoList: [{
prodTrafficRoute: {
listenerArns: ['listenerArns'],
},
targetGroups: [{
name: 'name',
}],
testTrafficRoute: {
listenerArns: ['listenerArns'],
},
}],
},
onPremisesInstanceTagFilters: [{
key: 'key',
type: 'type',
value: 'value',
}],
onPremisesTagSet: {
onPremisesTagSetList: [{
onPremisesTagGroup: [{
key: 'key',
type: 'type',
value: 'value',
}],
}],
},
outdatedInstancesStrategy: 'outdatedInstancesStrategy',
tags: [{
key: 'key',
value: 'value',
}],
terminationHookEnabled: false,
triggerConfigurations: [{
triggerEvents: ['triggerEvents'],
triggerName: 'triggerName',
triggerTargetArn: 'triggerTargetArn',
}],
};
Properties
alarmConfigurationIResolvable | CfnDeploymentGroup.AlarmConfigurationPropertyalarm_configurationtyping.Union[IResolvable, AlarmConfigurationProperty]alarmConfigurationIResolvableAlarmConfigurationIResolvableAlarmConfigurationinterface{}#applicationNamestringapplication_namestrapplicationNameStringApplicationNamestringApplicationName*stringrequired#autoRollbackConfigurationIResolvable | CfnDeploymentGroup.AutoRollbackConfigurationPropertyauto_rollback_configurationtyping.Union[IResolvable, AutoRollbackConfigurationProperty]autoRollbackConfigurationIResolvableAutoRollbackConfigurationIResolvableAutoRollbackConfigurationinterface{}#If you specify this property, don't specify the Deployment property.
autoScalingGroupsstring[]auto_scaling_groupstyping.List[str]autoScalingGroupsList<String>AutoScalingGroupsstring[]AutoScalingGroups*[]*string#Duplicates are not allowed.
blueGreenDeploymentConfigurationIResolvable | CfnDeploymentGroup.BlueGreenDeploymentConfigurationPropertyblue_green_deployment_configurationtyping.Union[IResolvable, BlueGreenDeploymentConfigurationProperty]blueGreenDeploymentConfigurationIResolvableBlueGreenDeploymentConfigurationIResolvableBlueGreenDeploymentConfigurationinterface{}#deploymentIResolvable | CfnDeploymentGroup.DeploymentPropertydeploymenttyping.Union[IResolvable, DeploymentProperty]deploymentIResolvableDeploymentIResolvableDeploymentinterface{}#If you specify this property, your target application revision is deployed as soon as the provisioning process is complete. If you specify this property, don't specify the AutoRollbackConfiguration property.
deploymentConfigNamestringdeployment_config_namestrdeploymentConfigNameStringDeploymentConfigNamestringDeploymentConfigName*string#notes
With predefined configurations, you can deploy application revisions to one instance at a time ( CodeDeployDefault.OneAtATime ), half of the instances at a time ( CodeDeployDefault.HalfAtATime ), or all the instances at once ( CodeDeployDefault.AllAtOnce ). For more information and valid values, see Working with Deployment Configurations in the AWS CodeDeploy User Guide .
deploymentGroupNamestringdeployment_group_namestrdeploymentGroupNameStringDeploymentGroupNamestringDeploymentGroupName*string#notes
If you don't specify a name, CloudFormation generates a unique physical ID and uses that ID for the deployment group name. For more information, see Name Type .
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.
deploymentStyleIResolvable | CfnDeploymentGroup.DeploymentStylePropertydeployment_styletyping.Union[IResolvable, DeploymentStyleProperty]deploymentStyleIResolvableDeploymentStyleIResolvableDeploymentStyleinterface{}#notes
If you specify this property with a blue/green deployment type, don't specify the AutoScalingGroups , LoadBalancerInfo , or Deployment properties.
For blue/green deployments, CloudFormation supports deployments on Lambda compute platforms only. You can perform Amazon ECS blue/green deployments using
AWS::CodeDeploy::BlueGreenhook. See Perform Amazon ECS blue/green deployments through CodeDeploy using CloudFormation for more information.
ec2TagFiltersIResolvable | IResolvable | CfnDeploymentGroup.EC2TagFilterProperty[]ec2_tag_filterstyping.Union[IResolvable, typing.List[typing.Union[IResolvable, EC2TagFilterProperty]]]ec2TagFiltersIResolvableEc2TagFiltersIResolvableEc2TagFiltersinterface{}#CodeDeploy includes all Amazon EC2 instances identified by any of the tags you specify in this deployment group. Duplicates are not allowed.
You can specify EC2TagFilters or Ec2TagSet , but not both.
ec2TagSetIResolvable | CfnDeploymentGroup.EC2TagSetPropertyec2_tag_settyping.Union[IResolvable, EC2TagSetProperty]ec2TagSetIResolvableEc2TagSetIResolvableEc2TagSetinterface{}#The deployment group includes only Amazon EC2 instances identified by all the tag groups. Cannot be used in the same call as ec2TagFilter .
ecsServicesIResolvable | IResolvable | CfnDeploymentGroup.ECSServiceProperty[]ecs_servicestyping.Union[IResolvable, typing.List[typing.Union[IResolvable, ECSServiceProperty]]]ecsServicesIResolvableEcsServicesIResolvableEcsServicesinterface{}#This applies only to deployment groups that use the Amazon ECS compute platform. A target Amazon ECS service is specified as an Amazon ECS cluster and service name pair using the format <clustername>:<servicename> .
loadBalancerInfoIResolvable | CfnDeploymentGroup.LoadBalancerInfoPropertyload_balancer_infotyping.Union[IResolvable, LoadBalancerInfoProperty]loadBalancerInfoIResolvableLoadBalancerInfoIResolvableLoadBalancerInfointerface{}#For more information, see Integrating CodeDeploy with Elastic Load Balancing in the AWS CodeDeploy User Guide .
onPremisesInstanceTagFiltersIResolvable | IResolvable | CfnDeploymentGroup.TagFilterProperty[]on_premises_instance_tag_filterstyping.Union[IResolvable, typing.List[typing.Union[IResolvable, TagFilterProperty]]]onPremisesInstanceTagFiltersIResolvableOnPremisesInstanceTagFiltersIResolvableOnPremisesInstanceTagFiltersinterface{}#notes
CodeDeploy includes all on-premises instances identified by any of the tags you specify in this deployment group. To register on-premises instances with CodeDeploy , see Working with On-Premises Instances for CodeDeploy in the AWS CodeDeploy User Guide . Duplicates are not allowed.
You can specify OnPremisesInstanceTagFilters or OnPremisesInstanceTagSet , but not both.
onPremisesTagSetIResolvable | CfnDeploymentGroup.OnPremisesTagSetPropertyon_premises_tag_settyping.Union[IResolvable, OnPremisesTagSetProperty]onPremisesTagSetIResolvableOnPremisesTagSetIResolvableOnPremisesTagSetinterface{}#The deployment group includes only on-premises instances identified by all the tag groups.
You can specify OnPremisesInstanceTagFilters or OnPremisesInstanceTagSet , but not both.
outdatedInstancesStrategystringoutdated_instances_strategystroutdatedInstancesStrategyStringOutdatedInstancesStrategystringOutdatedInstancesStrategy*string#notes
If this option is set to UPDATE or is unspecified, CodeDeploy initiates one or more 'auto-update outdated instances' deployments to apply the deployed application revision to the new Amazon EC2 instances.
If this option is set to IGNORE , CodeDeploy does not initiate a deployment to update the new Amazon EC2 instances. This may result in instances having different revisions.
serviceRoleArnstringservice_role_arnstrserviceRoleArnStringServiceRoleArnstringServiceRoleArn*stringrequired#notes
For more information, see Create a Service Role for AWS CodeDeploy in the AWS CodeDeploy User Guide .
In some cases, you might need to add a dependency on the service role's policy. For more information, see IAM role policy in DependsOn Attribute .
Each tag consists of a key and an optional value, both of which you define.
terminationHookEnabledboolean | IResolvabletermination_hook_enabledtyping.Union[bool, IResolvable]terminationHookEnabledBooleanTerminationHookEnabledboolTerminationHookEnabledinterface{}#notes
For more information about the termination hook, see How Amazon EC2 Auto Scaling works with CodeDeploy in the AWS CodeDeploy User Guide .
triggerConfigurationsIResolvable | IResolvable | CfnDeploymentGroup.TriggerConfigProperty[]trigger_configurationstyping.Union[IResolvable, typing.List[typing.Union[IResolvable, TriggerConfigProperty]]]triggerConfigurationsIResolvableTriggerConfigurationsIResolvableTriggerConfigurationsinterface{}#Duplicates are not allowed