Documentation ¶
Index ¶
- func CfnApplication_CFN_RESOURCE_TYPE_NAME() *string
- func CfnApplication_IsCfnElement(x interface{}) *bool
- func CfnApplication_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnApplication_IsConstruct(x interface{}) *bool
- func CfnDeploymentConfig_CFN_RESOURCE_TYPE_NAME() *string
- func CfnDeploymentConfig_IsCfnElement(x interface{}) *bool
- func CfnDeploymentConfig_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnDeploymentConfig_IsConstruct(x interface{}) *bool
- func CfnDeploymentGroup_CFN_RESOURCE_TYPE_NAME() *string
- func CfnDeploymentGroup_IsCfnElement(x interface{}) *bool
- func CfnDeploymentGroup_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnDeploymentGroup_IsConstruct(x interface{}) *bool
- func CustomLambdaDeploymentConfig_IsConstruct(x interface{}) *bool
- func CustomLambdaDeploymentConfig_IsResource(construct constructs.IConstruct) *bool
- func EcsApplication_IsConstruct(x interface{}) *bool
- func EcsApplication_IsResource(construct constructs.IConstruct) *bool
- func LambdaApplication_IsConstruct(x interface{}) *bool
- func LambdaApplication_IsResource(construct constructs.IConstruct) *bool
- func LambdaDeploymentGroup_IsConstruct(x interface{}) *bool
- func LambdaDeploymentGroup_IsResource(construct constructs.IConstruct) *bool
- func NewCfnApplication_Override(c CfnApplication, scope constructs.Construct, id *string, ...)
- func NewCfnDeploymentConfig_Override(c CfnDeploymentConfig, scope constructs.Construct, id *string, ...)
- func NewCfnDeploymentGroup_Override(c CfnDeploymentGroup, scope constructs.Construct, id *string, ...)
- func NewCustomLambdaDeploymentConfig_Override(c CustomLambdaDeploymentConfig, scope constructs.Construct, id *string, ...)
- func NewEcsApplication_Override(e EcsApplication, scope constructs.Construct, id *string, ...)
- func NewInstanceTagSet_Override(i InstanceTagSet, instanceTagGroups ...*map[string]*[]*string)
- func NewLambdaApplication_Override(l LambdaApplication, scope constructs.Construct, id *string, ...)
- func NewLambdaDeploymentGroup_Override(l LambdaDeploymentGroup, scope constructs.Construct, id *string, ...)
- func NewLoadBalancer_Override(l LoadBalancer)
- func NewServerApplication_Override(s ServerApplication, scope constructs.Construct, id *string, ...)
- func NewServerDeploymentConfig_Override(s ServerDeploymentConfig, scope constructs.Construct, id *string, ...)
- func NewServerDeploymentGroup_Override(s ServerDeploymentGroup, scope constructs.Construct, id *string, ...)
- func ServerApplication_IsConstruct(x interface{}) *bool
- func ServerApplication_IsResource(construct constructs.IConstruct) *bool
- func ServerDeploymentConfig_IsConstruct(x interface{}) *bool
- func ServerDeploymentConfig_IsResource(construct constructs.IConstruct) *bool
- func ServerDeploymentGroup_IsConstruct(x interface{}) *bool
- func ServerDeploymentGroup_IsResource(construct constructs.IConstruct) *bool
- type AutoRollbackConfig
- type CfnApplication
- type CfnApplicationProps
- type CfnDeploymentConfig
- type CfnDeploymentConfigProps
- type CfnDeploymentConfig_MinimumHealthyHostsProperty
- type CfnDeploymentConfig_TimeBasedCanaryProperty
- type CfnDeploymentConfig_TimeBasedLinearProperty
- type CfnDeploymentConfig_TrafficRoutingConfigProperty
- type CfnDeploymentGroup
- type CfnDeploymentGroupProps
- type CfnDeploymentGroup_AlarmConfigurationProperty
- type CfnDeploymentGroup_AlarmProperty
- type CfnDeploymentGroup_AutoRollbackConfigurationProperty
- type CfnDeploymentGroup_BlueGreenDeploymentConfigurationProperty
- type CfnDeploymentGroup_BlueInstanceTerminationOptionProperty
- type CfnDeploymentGroup_DeploymentProperty
- type CfnDeploymentGroup_DeploymentReadyOptionProperty
- type CfnDeploymentGroup_DeploymentStyleProperty
- type CfnDeploymentGroup_EC2TagFilterProperty
- type CfnDeploymentGroup_EC2TagSetListObjectProperty
- type CfnDeploymentGroup_EC2TagSetProperty
- type CfnDeploymentGroup_ECSServiceProperty
- type CfnDeploymentGroup_ELBInfoProperty
- type CfnDeploymentGroup_GitHubLocationProperty
- type CfnDeploymentGroup_GreenFleetProvisioningOptionProperty
- type CfnDeploymentGroup_LoadBalancerInfoProperty
- type CfnDeploymentGroup_OnPremisesTagSetListObjectProperty
- type CfnDeploymentGroup_OnPremisesTagSetProperty
- type CfnDeploymentGroup_RevisionLocationProperty
- type CfnDeploymentGroup_S3LocationProperty
- type CfnDeploymentGroup_TagFilterProperty
- type CfnDeploymentGroup_TargetGroupInfoProperty
- type CfnDeploymentGroup_TriggerConfigProperty
- type CustomLambdaDeploymentConfig
- type CustomLambdaDeploymentConfigProps
- type CustomLambdaDeploymentConfigType
- type EcsApplication
- type EcsApplicationProps
- type EcsDeploymentConfig
- type EcsDeploymentGroup
- type EcsDeploymentGroupAttributes
- type IEcsApplication
- type IEcsDeploymentConfig
- type IEcsDeploymentGroup
- type ILambdaApplication
- type ILambdaDeploymentConfig
- func LambdaDeploymentConfig_ALL_AT_ONCE() ILambdaDeploymentConfig
- func LambdaDeploymentConfig_CANARY_10PERCENT_10MINUTES() ILambdaDeploymentConfig
- func LambdaDeploymentConfig_CANARY_10PERCENT_15MINUTES() ILambdaDeploymentConfig
- func LambdaDeploymentConfig_CANARY_10PERCENT_30MINUTES() ILambdaDeploymentConfig
- func LambdaDeploymentConfig_CANARY_10PERCENT_5MINUTES() ILambdaDeploymentConfig
- func LambdaDeploymentConfig_Import(_scope constructs.Construct, _id *string, ...) ILambdaDeploymentConfig
- func LambdaDeploymentConfig_LINEAR_10PERCENT_EVERY_10MINUTES() ILambdaDeploymentConfig
- func LambdaDeploymentConfig_LINEAR_10PERCENT_EVERY_1MINUTE() ILambdaDeploymentConfig
- func LambdaDeploymentConfig_LINEAR_10PERCENT_EVERY_2MINUTES() ILambdaDeploymentConfig
- func LambdaDeploymentConfig_LINEAR_10PERCENT_EVERY_3MINUTES() ILambdaDeploymentConfig
- type ILambdaDeploymentGroup
- type IServerApplication
- type IServerDeploymentConfig
- func ServerDeploymentConfig_ALL_AT_ONCE() IServerDeploymentConfig
- func ServerDeploymentConfig_FromServerDeploymentConfigName(scope constructs.Construct, id *string, serverDeploymentConfigName *string) IServerDeploymentConfig
- func ServerDeploymentConfig_HALF_AT_A_TIME() IServerDeploymentConfig
- func ServerDeploymentConfig_ONE_AT_A_TIME() IServerDeploymentConfig
- type IServerDeploymentGroup
- type InstanceTagSet
- type LambdaApplication
- type LambdaApplicationProps
- type LambdaDeploymentConfig
- type LambdaDeploymentConfigImportProps
- type LambdaDeploymentGroup
- type LambdaDeploymentGroupAttributes
- type LambdaDeploymentGroupProps
- type LoadBalancer
- type LoadBalancerGeneration
- type MinimumHealthyHosts
- type ServerApplication
- type ServerApplicationProps
- type ServerDeploymentConfig
- type ServerDeploymentConfigProps
- type ServerDeploymentGroup
- type ServerDeploymentGroupAttributes
- type ServerDeploymentGroupProps
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CfnApplication_CFN_RESOURCE_TYPE_NAME ¶
func CfnApplication_CFN_RESOURCE_TYPE_NAME() *string
func CfnApplication_IsCfnElement ¶
func CfnApplication_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnApplication_IsCfnResource ¶
func CfnApplication_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnApplication_IsConstruct ¶
func CfnApplication_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead
func CfnDeploymentConfig_CFN_RESOURCE_TYPE_NAME ¶
func CfnDeploymentConfig_CFN_RESOURCE_TYPE_NAME() *string
func CfnDeploymentConfig_IsCfnElement ¶
func CfnDeploymentConfig_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnDeploymentConfig_IsCfnResource ¶
func CfnDeploymentConfig_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnDeploymentConfig_IsConstruct ¶
func CfnDeploymentConfig_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead
func CfnDeploymentGroup_CFN_RESOURCE_TYPE_NAME ¶
func CfnDeploymentGroup_CFN_RESOURCE_TYPE_NAME() *string
func CfnDeploymentGroup_IsCfnElement ¶
func CfnDeploymentGroup_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnDeploymentGroup_IsCfnResource ¶
func CfnDeploymentGroup_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnDeploymentGroup_IsConstruct ¶
func CfnDeploymentGroup_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead
func CustomLambdaDeploymentConfig_IsConstruct ¶
func CustomLambdaDeploymentConfig_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead
func CustomLambdaDeploymentConfig_IsResource ¶
func CustomLambdaDeploymentConfig_IsResource(construct constructs.IConstruct) *bool
Check whether the given construct is a Resource.
func EcsApplication_IsConstruct ¶
func EcsApplication_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead
func EcsApplication_IsResource ¶
func EcsApplication_IsResource(construct constructs.IConstruct) *bool
Check whether the given construct is a Resource.
func LambdaApplication_IsConstruct ¶
func LambdaApplication_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead
func LambdaApplication_IsResource ¶
func LambdaApplication_IsResource(construct constructs.IConstruct) *bool
Check whether the given construct is a Resource.
func LambdaDeploymentGroup_IsConstruct ¶
func LambdaDeploymentGroup_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead
func LambdaDeploymentGroup_IsResource ¶
func LambdaDeploymentGroup_IsResource(construct constructs.IConstruct) *bool
Check whether the given construct is a Resource.
func NewCfnApplication_Override ¶
func NewCfnApplication_Override(c CfnApplication, scope constructs.Construct, id *string, props *CfnApplicationProps)
Create a new `AWS::CodeDeploy::Application`.
func NewCfnDeploymentConfig_Override ¶
func NewCfnDeploymentConfig_Override(c CfnDeploymentConfig, scope constructs.Construct, id *string, props *CfnDeploymentConfigProps)
Create a new `AWS::CodeDeploy::DeploymentConfig`.
func NewCfnDeploymentGroup_Override ¶
func NewCfnDeploymentGroup_Override(c CfnDeploymentGroup, scope constructs.Construct, id *string, props *CfnDeploymentGroupProps)
Create a new `AWS::CodeDeploy::DeploymentGroup`.
func NewCustomLambdaDeploymentConfig_Override ¶
func NewCustomLambdaDeploymentConfig_Override(c CustomLambdaDeploymentConfig, scope constructs.Construct, id *string, props *CustomLambdaDeploymentConfigProps)
func NewEcsApplication_Override ¶
func NewEcsApplication_Override(e EcsApplication, scope constructs.Construct, id *string, props *EcsApplicationProps)
func NewInstanceTagSet_Override ¶
func NewInstanceTagSet_Override(i InstanceTagSet, instanceTagGroups ...*map[string]*[]*string)
func NewLambdaApplication_Override ¶
func NewLambdaApplication_Override(l LambdaApplication, scope constructs.Construct, id *string, props *LambdaApplicationProps)
func NewLambdaDeploymentGroup_Override ¶
func NewLambdaDeploymentGroup_Override(l LambdaDeploymentGroup, scope constructs.Construct, id *string, props *LambdaDeploymentGroupProps)
func NewLoadBalancer_Override ¶
func NewLoadBalancer_Override(l LoadBalancer)
func NewServerApplication_Override ¶
func NewServerApplication_Override(s ServerApplication, scope constructs.Construct, id *string, props *ServerApplicationProps)
func NewServerDeploymentConfig_Override ¶
func NewServerDeploymentConfig_Override(s ServerDeploymentConfig, scope constructs.Construct, id *string, props *ServerDeploymentConfigProps)
func NewServerDeploymentGroup_Override ¶
func NewServerDeploymentGroup_Override(s ServerDeploymentGroup, scope constructs.Construct, id *string, props *ServerDeploymentGroupProps)
func ServerApplication_IsConstruct ¶
func ServerApplication_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead
func ServerApplication_IsResource ¶
func ServerApplication_IsResource(construct constructs.IConstruct) *bool
Check whether the given construct is a Resource.
func ServerDeploymentConfig_IsConstruct ¶
func ServerDeploymentConfig_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead
func ServerDeploymentConfig_IsResource ¶
func ServerDeploymentConfig_IsResource(construct constructs.IConstruct) *bool
Check whether the given construct is a Resource.
func ServerDeploymentGroup_IsConstruct ¶
func ServerDeploymentGroup_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead
func ServerDeploymentGroup_IsResource ¶
func ServerDeploymentGroup_IsResource(construct constructs.IConstruct) *bool
Check whether the given construct is a Resource.
Types ¶
type AutoRollbackConfig ¶
type AutoRollbackConfig struct { // Whether to automatically roll back a deployment during which one of the configured CloudWatch alarms for this Deployment Group went off. DeploymentInAlarm *bool `json:"deploymentInAlarm" yaml:"deploymentInAlarm"` // Whether to automatically roll back a deployment that fails. FailedDeployment *bool `json:"failedDeployment" yaml:"failedDeployment"` // Whether to automatically roll back a deployment that was manually stopped. StoppedDeployment *bool `json:"stoppedDeployment" yaml:"stoppedDeployment"` }
The configuration for automatically rolling back deployments in a given Deployment Group.
TODO: EXAMPLE
type CfnApplication ¶
type CfnApplication interface { awscdk.CfnResource awscdk.IInspectable ApplicationName() *string SetApplicationName(val *string) CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} CfnResourceType() *string ComputePlatform() *string SetComputePlatform(val *string) CreationStack() *[]*string LogicalId() *string Node() constructs.Node Ref() *string Stack() awscdk.Stack Tags() awscdk.TagManager UpdatedProperites() *map[string]interface{} AddDeletionOverride(path *string) AddDependsOn(target awscdk.CfnResource) AddMetadata(key *string, value interface{}) AddOverride(path *string, value interface{}) AddPropertyDeletionOverride(propertyPath *string) AddPropertyOverride(propertyPath *string, value interface{}) ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) GetAtt(attributeName *string) awscdk.Reference GetMetadata(key *string) interface{} Inspect(inspector awscdk.TreeInspector) OverrideLogicalId(newLogicalId *string) RenderProperties(props *map[string]interface{}) *map[string]interface{} ShouldSynthesize() *bool ToString() *string ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::CodeDeploy::Application`.
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* .
TODO: EXAMPLE
func NewCfnApplication ¶
func NewCfnApplication(scope constructs.Construct, id *string, props *CfnApplicationProps) CfnApplication
Create a new `AWS::CodeDeploy::Application`.
type CfnApplicationProps ¶
type CfnApplicationProps struct { // A name for the application. // // If you don't specify a name, AWS 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. ApplicationName *string `json:"applicationName" yaml:"applicationName"` // The compute platform that CodeDeploy deploys the application to. ComputePlatform *string `json:"computePlatform" yaml:"computePlatform"` // 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. Tags *[]*awscdk.CfnTag `json:"tags" yaml:"tags"` }
Properties for defining a `CfnApplication`.
TODO: EXAMPLE
type CfnDeploymentConfig ¶
type CfnDeploymentConfig interface { awscdk.CfnResource awscdk.IInspectable CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} CfnResourceType() *string ComputePlatform() *string SetComputePlatform(val *string) CreationStack() *[]*string DeploymentConfigName() *string SetDeploymentConfigName(val *string) LogicalId() *string MinimumHealthyHosts() interface{} SetMinimumHealthyHosts(val interface{}) Node() constructs.Node Ref() *string Stack() awscdk.Stack TrafficRoutingConfig() interface{} SetTrafficRoutingConfig(val interface{}) UpdatedProperites() *map[string]interface{} AddDeletionOverride(path *string) AddDependsOn(target awscdk.CfnResource) AddMetadata(key *string, value interface{}) AddOverride(path *string, value interface{}) AddPropertyDeletionOverride(propertyPath *string) AddPropertyOverride(propertyPath *string, value interface{}) ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) GetAtt(attributeName *string) awscdk.Reference GetMetadata(key *string) interface{} Inspect(inspector awscdk.TreeInspector) OverrideLogicalId(newLogicalId *string) RenderProperties(props *map[string]interface{}) *map[string]interface{} ShouldSynthesize() *bool ToString() *string ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::CodeDeploy::DeploymentConfig`.
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, through the use of a `MinimumHealthyHosts` value, the number or percentage of instances that must remain available at any time during a deployment.
TODO: EXAMPLE
func NewCfnDeploymentConfig ¶
func NewCfnDeploymentConfig(scope constructs.Construct, id *string, props *CfnDeploymentConfigProps) CfnDeploymentConfig
Create a new `AWS::CodeDeploy::DeploymentConfig`.
type CfnDeploymentConfigProps ¶
type CfnDeploymentConfigProps struct { // The destination platform type for the deployment ( `Lambda` , `Server` , or `ECS` ). ComputePlatform *string `json:"computePlatform" yaml:"computePlatform"` // A name for the deployment configuration. // // If you don't specify a name, AWS 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. DeploymentConfigName *string `json:"deploymentConfigName" yaml:"deploymentConfigName"` // 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. MinimumHealthyHosts interface{} `json:"minimumHealthyHosts" yaml:"minimumHealthyHosts"` // The configuration that specifies how the deployment traffic is routed. TrafficRoutingConfig interface{} `json:"trafficRoutingConfig" yaml:"trafficRoutingConfig"` }
Properties for defining a `CfnDeploymentConfig`.
TODO: EXAMPLE
type CfnDeploymentConfig_MinimumHealthyHostsProperty ¶
type CfnDeploymentConfig_MinimumHealthyHostsProperty struct { // 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* . Type *string `json:"type" yaml:"type"` // The minimum healthy instance value. Value *float64 `json:"value" yaml:"value"` }
`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.
TODO: EXAMPLE
type CfnDeploymentConfig_TimeBasedCanaryProperty ¶
type CfnDeploymentConfig_TimeBasedCanaryProperty struct { // The number of minutes between the first and second traffic shifts of a `TimeBasedCanary` deployment. CanaryInterval *float64 `json:"canaryInterval" yaml:"canaryInterval"` // The percentage of traffic to shift in the first increment of a `TimeBasedCanary` deployment. CanaryPercentage *float64 `json:"canaryPercentage" yaml:"canaryPercentage"` }
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.
TODO: EXAMPLE
type CfnDeploymentConfig_TimeBasedLinearProperty ¶
type CfnDeploymentConfig_TimeBasedLinearProperty struct { // The number of minutes between each incremental traffic shift of a `TimeBasedLinear` deployment. LinearInterval *float64 `json:"linearInterval" yaml:"linearInterval"` // The percentage of traffic that is shifted at the start of each increment of a `TimeBasedLinear` deployment. LinearPercentage *float64 `json:"linearPercentage" yaml:"linearPercentage"` }
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.
TODO: EXAMPLE
type CfnDeploymentConfig_TrafficRoutingConfigProperty ¶
type CfnDeploymentConfig_TrafficRoutingConfigProperty struct { // The type of traffic shifting ( `TimeBasedCanary` or `TimeBasedLinear` ) used by a deployment configuration. Type *string `json:"type" yaml:"type"` // 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. TimeBasedCanary interface{} `json:"timeBasedCanary" yaml:"timeBasedCanary"` // 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. TimeBasedLinear interface{} `json:"timeBasedLinear" yaml:"timeBasedLinear"` }
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.
TODO: EXAMPLE
type CfnDeploymentGroup ¶
type CfnDeploymentGroup interface { awscdk.CfnResource awscdk.IInspectable AlarmConfiguration() interface{} SetAlarmConfiguration(val interface{}) ApplicationName() *string SetApplicationName(val *string) AutoRollbackConfiguration() interface{} SetAutoRollbackConfiguration(val interface{}) AutoScalingGroups() *[]*string SetAutoScalingGroups(val *[]*string) BlueGreenDeploymentConfiguration() interface{} SetBlueGreenDeploymentConfiguration(val interface{}) CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} CfnResourceType() *string CreationStack() *[]*string Deployment() interface{} SetDeployment(val interface{}) DeploymentConfigName() *string SetDeploymentConfigName(val *string) DeploymentGroupName() *string SetDeploymentGroupName(val *string) DeploymentStyle() interface{} SetDeploymentStyle(val interface{}) Ec2TagFilters() interface{} SetEc2TagFilters(val interface{}) Ec2TagSet() interface{} SetEc2TagSet(val interface{}) EcsServices() interface{} SetEcsServices(val interface{}) LoadBalancerInfo() interface{} SetLoadBalancerInfo(val interface{}) LogicalId() *string Node() constructs.Node OnPremisesInstanceTagFilters() interface{} SetOnPremisesInstanceTagFilters(val interface{}) OnPremisesTagSet() interface{} SetOnPremisesTagSet(val interface{}) Ref() *string ServiceRoleArn() *string SetServiceRoleArn(val *string) Stack() awscdk.Stack TriggerConfigurations() interface{} SetTriggerConfigurations(val interface{}) UpdatedProperites() *map[string]interface{} AddDeletionOverride(path *string) AddDependsOn(target awscdk.CfnResource) AddMetadata(key *string, value interface{}) AddOverride(path *string, value interface{}) AddPropertyDeletionOverride(propertyPath *string) AddPropertyOverride(propertyPath *string, value interface{}) ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) GetAtt(attributeName *string) awscdk.Reference GetMetadata(key *string) interface{} Inspect(inspector awscdk.TreeInspector) OverrideLogicalId(newLogicalId *string) RenderProperties(props *map[string]interface{}) *map[string]interface{} ShouldSynthesize() *bool ToString() *string ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::CodeDeploy::DeploymentGroup`.
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 AWS CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/blue-green.html) for more information.
TODO: EXAMPLE
func NewCfnDeploymentGroup ¶
func NewCfnDeploymentGroup(scope constructs.Construct, id *string, props *CfnDeploymentGroupProps) CfnDeploymentGroup
Create a new `AWS::CodeDeploy::DeploymentGroup`.
type CfnDeploymentGroupProps ¶
type CfnDeploymentGroupProps struct { // The name of an existing CodeDeploy application to associate this deployment group with. ApplicationName *string `json:"applicationName" yaml:"applicationName"` // A service role Amazon Resource Name (ARN) that grants CodeDeploy permission to make calls to AWS services on your behalf. // // For more information, see [Create a Service Role for AWS CodeDeploy](https://docs.aws.amazon.com/codedeploy/latest/userguide/getting-started-create-service-role.html) 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](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html) . ServiceRoleArn *string `json:"serviceRoleArn" yaml:"serviceRoleArn"` // Information about the Amazon CloudWatch alarms that are associated with the deployment group. AlarmConfiguration interface{} `json:"alarmConfiguration" yaml:"alarmConfiguration"` // Information about the automatic rollback configuration that is associated with the deployment group. // // If you specify this property, don't specify the `Deployment` property. AutoRollbackConfiguration interface{} `json:"autoRollbackConfiguration" yaml:"autoRollbackConfiguration"` // A list of associated Auto Scaling groups that CodeDeploy automatically deploys revisions to when new instances are created. // // Duplicates are not allowed. AutoScalingGroups *[]*string `json:"autoScalingGroups" yaml:"autoScalingGroups"` // Information about blue/green deployment options for a deployment group. BlueGreenDeploymentConfiguration interface{} `json:"blueGreenDeploymentConfiguration" yaml:"blueGreenDeploymentConfiguration"` // The application revision to deploy to this deployment group. // // 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. Deployment interface{} `json:"deployment" yaml:"deployment"` // A deployment configuration name or a predefined configuration name. // // 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](https://docs.aws.amazon.com/codedeploy/latest/userguide/deployment-configurations.html) in the *AWS CodeDeploy User Guide* . DeploymentConfigName *string `json:"deploymentConfigName" yaml:"deploymentConfigName"` // A name for the deployment group. // // If you don't specify a name, AWS CloudFormation generates a unique physical ID and uses that ID for the deployment group 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. DeploymentGroupName *string `json:"deploymentGroupName" yaml:"deploymentGroupName"` // Attributes that determine the type of deployment to run and whether to route deployment traffic behind a load balancer. // // If you specify this property with a blue/green deployment type, don't specify the `AutoScalingGroups` , `LoadBalancerInfo` , or `Deployment` properties. // // > For blue/green deployments, AWS CloudFormation supports deployments on Lambda compute platforms only. You can perform Amazon ECS blue/green deployments using `AWS::CodeDeploy::BlueGreen` hook. See [Perform Amazon ECS blue/green deployments through CodeDeploy using AWS CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/blue-green.html) for more information. DeploymentStyle interface{} `json:"deploymentStyle" yaml:"deploymentStyle"` // The Amazon EC2 tags that are already applied to Amazon EC2 instances that you want to include in the deployment group. // // 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. Ec2TagFilters interface{} `json:"ec2TagFilters" yaml:"ec2TagFilters"` // Information about groups of tags applied to Amazon EC2 instances. // // The deployment group includes only Amazon EC2 instances identified by all the tag groups. Cannot be used in the same call as `ec2TagFilter` . Ec2TagSet interface{} `json:"ec2TagSet" yaml:"ec2TagSet"` // The target Amazon ECS services in the deployment group. // // 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>` . EcsServices interface{} `json:"ecsServices" yaml:"ecsServices"` // Information about the load balancer to use in a deployment. // // For more information, see [Integrating CodeDeploy with Elastic Load Balancing](https://docs.aws.amazon.com/codedeploy/latest/userguide/integrations-aws-elastic-load-balancing.html) in the *AWS CodeDeploy User Guide* . LoadBalancerInfo interface{} `json:"loadBalancerInfo" yaml:"loadBalancerInfo"` // The on-premises instance tags already applied to on-premises instances that you want to include in the deployment group. // // 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](https://docs.aws.amazon.com/codedeploy/latest/userguide/instances-on-premises.html) in the *AWS CodeDeploy User Guide* . Duplicates are not allowed. // // You can specify `OnPremisesInstanceTagFilters` or `OnPremisesInstanceTagSet` , but not both. OnPremisesInstanceTagFilters interface{} `json:"onPremisesInstanceTagFilters" yaml:"onPremisesInstanceTagFilters"` // Information about groups of tags applied to on-premises instances. // // The deployment group includes only on-premises instances identified by all the tag groups. // // You can specify `OnPremisesInstanceTagFilters` or `OnPremisesInstanceTagSet` , but not both. OnPremisesTagSet interface{} `json:"onPremisesTagSet" yaml:"onPremisesTagSet"` // Information about triggers associated with the deployment group. // // Duplicates are not allowed TriggerConfigurations interface{} `json:"triggerConfigurations" yaml:"triggerConfigurations"` }
Properties for defining a `CfnDeploymentGroup`.
TODO: EXAMPLE
type CfnDeploymentGroup_AlarmConfigurationProperty ¶
type CfnDeploymentGroup_AlarmConfigurationProperty struct { // A list of alarms configured for the deployment group. // // A maximum of 10 alarms can be added to a deployment group. Alarms interface{} `json:"alarms" yaml:"alarms"` // Indicates whether the alarm configuration is enabled. Enabled interface{} `json:"enabled" yaml:"enabled"` // 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 . IgnorePollAlarmFailure interface{} `json:"ignorePollAlarmFailure" yaml:"ignorePollAlarmFailure"` }
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.
TODO: EXAMPLE
type CfnDeploymentGroup_AlarmProperty ¶
type CfnDeploymentGroup_AlarmProperty struct { // The name of the alarm. // // Maximum length is 255 characters. Each alarm name can be used only once in a list of alarms. Name *string `json:"name" yaml:"name"` }
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.
TODO: EXAMPLE
type CfnDeploymentGroup_AutoRollbackConfigurationProperty ¶
type CfnDeploymentGroup_AutoRollbackConfigurationProperty struct { // Indicates whether a defined automatic rollback configuration is currently enabled. Enabled interface{} `json:"enabled" yaml:"enabled"` // The event type or types that trigger a rollback. // // Valid values are `DEPLOYMENT_FAILURE` , `DEPLOYMENT_STOP_ON_ALARM` , or `DEPLOYMENT_STOP_ON_REQUEST` . Events *[]*string `json:"events" yaml:"events"` }
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.
TODO: EXAMPLE
type CfnDeploymentGroup_BlueGreenDeploymentConfigurationProperty ¶
type CfnDeploymentGroup_BlueGreenDeploymentConfigurationProperty struct { // Information about the action to take when newly provisioned instances are ready to receive traffic in a blue/green deployment. DeploymentReadyOption interface{} `json:"deploymentReadyOption" yaml:"deploymentReadyOption"` // Information about how instances are provisioned for a replacement environment in a blue/green deployment. GreenFleetProvisioningOption interface{} `json:"greenFleetProvisioningOption" yaml:"greenFleetProvisioningOption"` // Information about whether to terminate instances in the original fleet during a blue/green deployment. TerminateBlueInstancesOnDeploymentSuccess interface{} `json:"terminateBlueInstancesOnDeploymentSuccess" yaml:"terminateBlueInstancesOnDeploymentSuccess"` }
Information about blue/green deployment options for a deployment group.
TODO: EXAMPLE
type CfnDeploymentGroup_BlueInstanceTerminationOptionProperty ¶
type CfnDeploymentGroup_BlueInstanceTerminationOptionProperty struct { // The action to take on instances in the original environment after a successful blue/green deployment. // // - `TERMINATE` : Instances are terminated after a specified wait time. // - `KEEP_ALIVE` : Instances are left running after they are deregistered from the load balancer and removed from the deployment group. Action *string `json:"action" yaml:"action"` // For an Amazon EC2 deployment, the number of minutes to wait after a successful blue/green deployment before terminating instances from the original environment. // // For an Amazon ECS deployment, the number of minutes before deleting the original (blue) task set. During an Amazon ECS deployment, CodeDeploy shifts traffic from the original (blue) task set to a replacement (green) task set. // // The maximum setting is 2880 minutes (2 days). TerminationWaitTimeInMinutes *float64 `json:"terminationWaitTimeInMinutes" yaml:"terminationWaitTimeInMinutes"` }
Information about whether instances in the original environment are terminated when a blue/green deployment is successful.
`BlueInstanceTerminationOption` does not apply to Lambda deployments.
TODO: EXAMPLE
type CfnDeploymentGroup_DeploymentProperty ¶
type CfnDeploymentGroup_DeploymentProperty struct { // Information about the location of stored application artifacts and the service from which to retrieve them. Revision interface{} `json:"revision" yaml:"revision"` // A comment about the deployment. Description *string `json:"description" yaml:"description"` // If true, then if an `ApplicationStop` , `BeforeBlockTraffic` , or `AfterBlockTraffic` deployment lifecycle event to an instance fails, then the deployment continues to the next deployment lifecycle event. // // For example, if `ApplicationStop` fails, the deployment continues with DownloadBundle. If `BeforeBlockTraffic` fails, the deployment continues with `BlockTraffic` . If `AfterBlockTraffic` fails, the deployment continues with `ApplicationStop` . // // If false or not specified, then if a lifecycle event fails during a deployment to an instance, that deployment fails. If deployment to that instance is part of an overall deployment and the number of healthy hosts is not less than the minimum number of healthy hosts, then a deployment to the next instance is attempted. // // During a deployment, the AWS CodeDeploy agent runs the scripts specified for `ApplicationStop` , `BeforeBlockTraffic` , and `AfterBlockTraffic` in the AppSpec file from the previous successful deployment. (All other scripts are run from the AppSpec file in the current deployment.) If one of these scripts contains an error and does not run successfully, the deployment can fail. // // If the cause of the failure is a script from the last successful deployment that will never run successfully, create a new deployment and use `ignoreApplicationStopFailures` to specify that the `ApplicationStop` , `BeforeBlockTraffic` , and `AfterBlockTraffic` failures should be ignored. IgnoreApplicationStopFailures interface{} `json:"ignoreApplicationStopFailures" yaml:"ignoreApplicationStopFailures"` }
`Deployment` is a property of the [DeploymentGroup](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-deploymentgroup.html) resource that specifies an AWS CodeDeploy application revision to be deployed to instances in the deployment group. If you specify an application revision, your target revision is deployed as soon as the provisioning process is complete.
TODO: EXAMPLE
type CfnDeploymentGroup_DeploymentReadyOptionProperty ¶
type CfnDeploymentGroup_DeploymentReadyOptionProperty struct { // 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 Stopped. ActionOnTimeout *string `json:"actionOnTimeout" yaml:"actionOnTimeout"` // The number of minutes to wait before the status of a blue/green deployment is changed to Stopped if rerouting is not started manually. // // Applies only to the `STOP_DEPLOYMENT` option for `actionOnTimeout` . WaitTimeInMinutes *float64 `json:"waitTimeInMinutes" yaml:"waitTimeInMinutes"` }
Information about how traffic is rerouted to instances in a replacement environment in a blue/green deployment.
TODO: EXAMPLE
type CfnDeploymentGroup_DeploymentStyleProperty ¶
type CfnDeploymentGroup_DeploymentStyleProperty struct { // Indicates whether to route deployment traffic behind a load balancer. // // > An Amazon EC2 Application Load Balancer or Network Load Balancer is required for an Amazon ECS deployment. DeploymentOption *string `json:"deploymentOption" yaml:"deploymentOption"` // Indicates whether to run an in-place or blue/green deployment. DeploymentType *string `json:"deploymentType" yaml:"deploymentType"` }
Information about the type of deployment, either in-place or blue/green, you want to run and whether to route deployment traffic behind a load balancer.
TODO: EXAMPLE
type CfnDeploymentGroup_EC2TagFilterProperty ¶
type CfnDeploymentGroup_EC2TagFilterProperty struct { // The tag filter key. Key *string `json:"key" yaml:"key"` // The tag filter type:. // // - `KEY_ONLY` : Key only. // - `VALUE_ONLY` : Value only. // - `KEY_AND_VALUE` : Key and value. Type *string `json:"type" yaml:"type"` // The tag filter value. Value *string `json:"value" yaml:"value"` }
Information about an Amazon EC2 tag filter.
For more information about using tags and tag groups to help manage your Amazon EC2 instances and on-premises instances, see [Tagging Instances for Deployment Groups in AWS CodeDeploy](https://docs.aws.amazon.com/codedeploy/latest/userguide/instances-tagging.html) in the *AWS CodeDeploy User Guide* .
TODO: EXAMPLE
type CfnDeploymentGroup_EC2TagSetListObjectProperty ¶
type CfnDeploymentGroup_EC2TagSetListObjectProperty struct { // A list that contains other lists of Amazon EC2 instance tag groups. // // For an instance to be included in the deployment group, it must be identified by all of the tag groups in the list. Ec2TagGroup interface{} `json:"ec2TagGroup" yaml:"ec2TagGroup"` }
The `EC2TagSet` property type specifies information about groups of tags applied to Amazon EC2 instances.
The deployment group includes only Amazon EC2 instances identified by all the tag groups. Cannot be used in the same template as EC2TagFilters.
For more information about using tags and tag groups to help manage your Amazon EC2 instances and on-premises instances, see [Tagging Instances for Deployment Groups in AWS CodeDeploy](https://docs.aws.amazon.com/codedeploy/latest/userguide/instances-tagging.html) in the *AWS CodeDeploy User Guide* .
`EC2TagSet` is a property of the [DeploymentGroup](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-deploymentgroup.html) resource type.
TODO: EXAMPLE
type CfnDeploymentGroup_EC2TagSetProperty ¶
type CfnDeploymentGroup_EC2TagSetProperty struct { // The Amazon EC2 tags that are already applied to Amazon EC2 instances that you want to include in the deployment group. // // CodeDeploy includes all Amazon EC2 instances identified by any of the tags you specify in this deployment group. // // Duplicates are not allowed. Ec2TagSetList interface{} `json:"ec2TagSetList" yaml:"ec2TagSetList"` }
The `EC2TagSet` property type specifies information about groups of tags applied to Amazon EC2 instances.
The deployment group includes only Amazon EC2 instances identified by all the tag groups. `EC2TagSet` cannot be used in the same template as `EC2TagFilter` .
For information about using tags and tag groups to help manage your Amazon EC2 instances and on-premises instances, see [Tagging Instances for Deployment Groups in AWS CodeDeploy](https://docs.aws.amazon.com/codedeploy/latest/userguide/instances-tagging.html) .
TODO: EXAMPLE
type CfnDeploymentGroup_ECSServiceProperty ¶
type CfnDeploymentGroup_ECSServiceProperty struct { // The name of the cluster that the Amazon ECS service is associated with. ClusterName *string `json:"clusterName" yaml:"clusterName"` // The name of the target Amazon ECS service. ServiceName *string `json:"serviceName" yaml:"serviceName"` }
Contains the service and cluster names used to identify an Amazon ECS deployment's target.
TODO: EXAMPLE
type CfnDeploymentGroup_ELBInfoProperty ¶
type CfnDeploymentGroup_ELBInfoProperty struct { // For blue/green deployments, the name of the load balancer that is used to route traffic from original instances to replacement instances in a blue/green deployment. // // For in-place deployments, the name of the load balancer that instances are deregistered from so they are not serving traffic during a deployment, and then re-registered with after the deployment is complete. // // > AWS CloudFormation supports blue/green deployments on AWS Lambda compute platforms only. Name *string `json:"name" yaml:"name"` }
The `ELBInfo` property type specifies information about the Elastic Load Balancing load balancer used for an CodeDeploy deployment group.
If you specify the `ELBInfo` property, the `DeploymentStyle.DeploymentOption` property must be set to `WITH_TRAFFIC_CONTROL` for AWS CodeDeploy to route your traffic using the specified load balancers.
`ELBInfo` is a property of the [AWS CodeDeploy DeploymentGroup LoadBalancerInfo](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-loadbalancerinfo.html) property type.
TODO: EXAMPLE
type CfnDeploymentGroup_GitHubLocationProperty ¶
type CfnDeploymentGroup_GitHubLocationProperty struct { // The SHA1 commit ID of the GitHub commit that represents the bundled artifacts for the application revision. CommitId *string `json:"commitId" yaml:"commitId"` // The GitHub account and repository pair that stores a reference to the commit that represents the bundled artifacts for the application revision. // // Specify the value as `account/repository` . Repository *string `json:"repository" yaml:"repository"` }
`GitHubLocation` is a property of the [CodeDeploy DeploymentGroup Revision](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-deployment-revision.html) property that specifies the location of an application revision that is stored in GitHub.
TODO: EXAMPLE
type CfnDeploymentGroup_GreenFleetProvisioningOptionProperty ¶
type CfnDeploymentGroup_GreenFleetProvisioningOptionProperty struct { // The method used to add instances to a replacement environment. // // - `DISCOVER_EXISTING` : Use instances that already exist or will be created manually. // - `COPY_AUTO_SCALING_GROUP` : Use settings from a specified Auto Scaling group to define and create instances in a new Auto Scaling group. Action *string `json:"action" yaml:"action"` }
Information about the instances that belong to the replacement environment in a blue/green deployment.
TODO: EXAMPLE
type CfnDeploymentGroup_LoadBalancerInfoProperty ¶
type CfnDeploymentGroup_LoadBalancerInfoProperty struct { // An array that contains information about the load balancer to use for load balancing in a deployment. // // In Elastic Load Balancing, load balancers are used with Classic Load Balancers. // // > Adding more than one load balancer to the array is not supported. ElbInfoList interface{} `json:"elbInfoList" yaml:"elbInfoList"` // An array that contains information about the target group to use for load balancing in a deployment. // // In Elastic Load Balancing , target groups are used with Application Load Balancers . // // > Adding more than one target group to the array is not supported. TargetGroupInfoList interface{} `json:"targetGroupInfoList" yaml:"targetGroupInfoList"` }
The `LoadBalancerInfo` property type specifies information about the load balancer or target group used for an AWS CodeDeploy deployment group.
For more information, see [Integrating CodeDeploy with Elastic Load Balancing](https://docs.aws.amazon.com/codedeploy/latest/userguide/integrations-aws-elastic-load-balancing.html) in the *AWS CodeDeploy User Guide* .
For AWS CloudFormation to use the properties specified in `LoadBalancerInfo` , the `DeploymentStyle.DeploymentOption` property must be set to `WITH_TRAFFIC_CONTROL` . If `DeploymentStyle.DeploymentOption` is not set to `WITH_TRAFFIC_CONTROL` , AWS CloudFormation ignores any settings specified in `LoadBalancerInfo` .
> AWS CloudFormation supports blue/green deployments on the AWS Lambda compute platform only.
`LoadBalancerInfo` is a property of the [DeploymentGroup](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-deploymentgroup.html) resource.
TODO: EXAMPLE
type CfnDeploymentGroup_OnPremisesTagSetListObjectProperty ¶
type CfnDeploymentGroup_OnPremisesTagSetListObjectProperty struct {
// Information about groups of on-premises instance tags.
OnPremisesTagGroup interface{} `json:"onPremisesTagGroup" yaml:"onPremisesTagGroup"`
}
The `OnPremisesTagSetListObject` property type specifies lists of on-premises instance tag groups.
In order for an instance to be included in the deployment group, it must be identified by all the tag groups in the list.
`OnPremisesTagSetListObject` is a property of the [CodeDeploy DeploymentGroup OnPremisesTagSet](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-onpremisestagset.html) property type.
TODO: EXAMPLE
type CfnDeploymentGroup_OnPremisesTagSetProperty ¶
type CfnDeploymentGroup_OnPremisesTagSetProperty struct { // A list that contains other lists of on-premises instance tag groups. // // For an instance to be included in the deployment group, it must be identified by all of the tag groups in the list. // // Duplicates are not allowed. OnPremisesTagSetList interface{} `json:"onPremisesTagSetList" yaml:"onPremisesTagSetList"` }
The `OnPremisesTagSet` property type specifies a list containing other lists of on-premises instance tag groups.
In order for an instance to be included in the deployment group, it must be identified by all the tag groups in the list.
For more information about using tags and tag groups to help manage your Amazon EC2 instances and on-premises instances, see [Tagging Instances for Deployment Groups in AWS CodeDeploy](https://docs.aws.amazon.com/codedeploy/latest/userguide/instances-tagging.html) in the *AWS CodeDeploy User Guide* .
`OnPremisesTagSet` is a property of the [DeploymentGroup](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-deploymentgroup.html) resource.
TODO: EXAMPLE
type CfnDeploymentGroup_RevisionLocationProperty ¶
type CfnDeploymentGroup_RevisionLocationProperty struct { // Information about the location of application artifacts stored in GitHub. GitHubLocation interface{} `json:"gitHubLocation" yaml:"gitHubLocation"` // The type of application revision:. // // - S3: An application revision stored in Amazon S3. // - GitHub: An application revision stored in GitHub (EC2/On-premises deployments only). // - String: A YAML-formatted or JSON-formatted string ( AWS Lambda deployments only). // - AppSpecContent: An `AppSpecContent` object that contains the contents of an AppSpec file for an AWS Lambda or Amazon ECS deployment. The content is formatted as JSON or YAML stored as a RawString. RevisionType *string `json:"revisionType" yaml:"revisionType"` // Information about the location of a revision stored in Amazon S3. S3Location interface{} `json:"s3Location" yaml:"s3Location"` }
`RevisionLocation` is a property that defines the location of the CodeDeploy application revision to deploy.
TODO: EXAMPLE
type CfnDeploymentGroup_S3LocationProperty ¶
type CfnDeploymentGroup_S3LocationProperty struct { // The name of the Amazon S3 bucket where the application revision is stored. Bucket *string `json:"bucket" yaml:"bucket"` // The name of the Amazon S3 object that represents the bundled artifacts for the application revision. Key *string `json:"key" yaml:"key"` // The file type of the application revision. Must be one of the following:. // // - JSON // - tar: A tar archive file. // - tgz: A compressed tar archive file. // - YAML // - zip: A zip archive file. BundleType *string `json:"bundleType" yaml:"bundleType"` // The ETag of the Amazon S3 object that represents the bundled artifacts for the application revision. // // If the ETag is not specified as an input parameter, ETag validation of the object is skipped. ETag *string `json:"eTag" yaml:"eTag"` // A specific version of the Amazon S3 object that represents the bundled artifacts for the application revision. // // If the version is not specified, the system uses the most recent version by default. Version *string `json:"version" yaml:"version"` }
`S3Location` is a property of the [CodeDeploy DeploymentGroup Revision](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-deployment-revision.html) property that specifies the location of an application revision that is stored in Amazon Simple Storage Service ( Amazon S3 ).
TODO: EXAMPLE
type CfnDeploymentGroup_TagFilterProperty ¶
type CfnDeploymentGroup_TagFilterProperty struct { // The on-premises instance tag filter key. Key *string `json:"key" yaml:"key"` // The on-premises instance tag filter type:. // // - KEY_ONLY: Key only. // - VALUE_ONLY: Value only. // - KEY_AND_VALUE: Key and value. Type *string `json:"type" yaml:"type"` // The on-premises instance tag filter value. Value *string `json:"value" yaml:"value"` }
`TagFilter` is a property type of the [AWS::CodeDeploy::DeploymentGroup](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-deploymentgroup.html) resource that specifies which on-premises instances to associate with the deployment group. To register on-premise instances with AWS CodeDeploy , see [Configure Existing On-Premises Instances by Using AWS CodeDeploy](https://docs.aws.amazon.com/codedeploy/latest/userguide/instances-on-premises.html) in the *AWS CodeDeploy User Guide* .
For more information about using tags and tag groups to help manage your Amazon EC2 instances and on-premises instances, see [Tagging Instances for Deployment Groups in AWS CodeDeploy](https://docs.aws.amazon.com/codedeploy/latest/userguide/instances-tagging.html) in the *AWS CodeDeploy User Guide* .
TODO: EXAMPLE
type CfnDeploymentGroup_TargetGroupInfoProperty ¶
type CfnDeploymentGroup_TargetGroupInfoProperty struct { // For blue/green deployments, the name of the target group that instances in the original environment are deregistered from, and instances in the replacement environment registered with. // // For in-place deployments, the name of the target group that instances are deregistered from, so they are not serving traffic during a deployment, and then re-registered with after the deployment completes. No duplicates allowed. // // > AWS CloudFormation supports blue/green deployments on AWS Lambda compute platforms only. // // This value cannot exceed 32 characters, so you should use the `Name` property of the target group, or the `TargetGroupName` attribute with the `Fn::GetAtt` intrinsic function, as shown in the following example. Don't use the group's Amazon Resource Name (ARN) or `TargetGroupFullName` attribute. Name *string `json:"name" yaml:"name"` }
The `TargetGroupInfo` property type specifies information about a target group in Elastic Load Balancing to use in a deployment.
Instances are registered as targets in a target group, and traffic is routed to the target group. For more information, see [TargetGroupInfo](https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_TargetGroupInfo.html) in the *AWS CodeDeploy API Reference*
If you specify the `TargetGroupInfo` property, the `DeploymentStyle.DeploymentOption` property must be set to `WITH_TRAFFIC_CONTROL` for CodeDeploy to route your traffic using the specified target groups.
`TargetGroupInfo` is a property of the [LoadBalancerInfo](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-loadbalancerinfo.html) property type.
TODO: EXAMPLE
type CfnDeploymentGroup_TriggerConfigProperty ¶
type CfnDeploymentGroup_TriggerConfigProperty struct { // The event type or types that trigger notifications. TriggerEvents *[]*string `json:"triggerEvents" yaml:"triggerEvents"` // The name of the notification trigger. TriggerName *string `json:"triggerName" yaml:"triggerName"` // The Amazon Resource Name (ARN) of the Amazon Simple Notification Service topic through which notifications about deployment or instance events are sent. TriggerTargetArn *string `json:"triggerTargetArn" yaml:"triggerTargetArn"` }
Information about notification triggers for the deployment group.
TODO: EXAMPLE
type CustomLambdaDeploymentConfig ¶
type CustomLambdaDeploymentConfig interface { awscdk.Resource ILambdaDeploymentConfig DeploymentConfigArn() *string DeploymentConfigName() *string Env() *awscdk.ResourceEnvironment Node() constructs.Node PhysicalName() *string Stack() awscdk.Stack ApplyRemovalPolicy(policy awscdk.RemovalPolicy) GeneratePhysicalName() *string GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string GetResourceNameAttribute(nameAttr *string) *string ToString() *string }
A custom Deployment Configuration for a Lambda Deployment Group.
TODO: EXAMPLE
func NewCustomLambdaDeploymentConfig ¶
func NewCustomLambdaDeploymentConfig(scope constructs.Construct, id *string, props *CustomLambdaDeploymentConfigProps) CustomLambdaDeploymentConfig
type CustomLambdaDeploymentConfigProps ¶
type CustomLambdaDeploymentConfigProps struct { // The interval, in number of minutes: - For LINEAR, how frequently additional traffic is shifted - For CANARY, how long to shift traffic before the full deployment. Interval awscdk.Duration `json:"interval" yaml:"interval"` // The integer percentage of traffic to shift: - For LINEAR, the percentage to shift every interval - For CANARY, the percentage to shift until the interval passes, before the full deployment. Percentage *float64 `json:"percentage" yaml:"percentage"` // The type of deployment config, either CANARY or LINEAR. Type CustomLambdaDeploymentConfigType `json:"type" yaml:"type"` // The verbatim name of the deployment config. // // Must be unique per account/region. // Other parameters cannot be updated if this name is provided. DeploymentConfigName *string `json:"deploymentConfigName" yaml:"deploymentConfigName"` }
Properties of a reference to a CodeDeploy Lambda Deployment Configuration.
TODO: EXAMPLE
type CustomLambdaDeploymentConfigType ¶
type CustomLambdaDeploymentConfigType string
Lambda Deployment config type.
TODO: EXAMPLE
const ( CustomLambdaDeploymentConfigType_CANARY CustomLambdaDeploymentConfigType = "CANARY" CustomLambdaDeploymentConfigType_LINEAR CustomLambdaDeploymentConfigType = "LINEAR" )
type EcsApplication ¶
type EcsApplication interface { awscdk.Resource IEcsApplication ApplicationArn() *string ApplicationName() *string Env() *awscdk.ResourceEnvironment Node() constructs.Node PhysicalName() *string Stack() awscdk.Stack ApplyRemovalPolicy(policy awscdk.RemovalPolicy) GeneratePhysicalName() *string GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string GetResourceNameAttribute(nameAttr *string) *string ToString() *string }
A CodeDeploy Application that deploys to an Amazon ECS service.
TODO: EXAMPLE
func NewEcsApplication ¶
func NewEcsApplication(scope constructs.Construct, id *string, props *EcsApplicationProps) EcsApplication
type EcsApplicationProps ¶
type EcsApplicationProps struct { // The physical, human-readable name of the CodeDeploy Application. ApplicationName *string `json:"applicationName" yaml:"applicationName"` }
Construction properties for {@link EcsApplication}.
TODO: EXAMPLE
type EcsDeploymentConfig ¶
type EcsDeploymentConfig interface { }
A custom Deployment Configuration for an ECS Deployment Group.
Note: This class currently stands as namespaced container of the default configurations until CloudFormation supports custom ECS Deployment Configs. Until then it is closed (private constructor) and does not extend {@link Construct}
type EcsDeploymentGroup ¶
type EcsDeploymentGroup interface { }
Note: This class currently stands as a namespaced container for importing an ECS Deployment Group defined outside the CDK app until CloudFormation supports provisioning ECS Deployment Groups.
Until then it is closed (private constructor) and does not extend {@link Construct}.
type EcsDeploymentGroupAttributes ¶
type EcsDeploymentGroupAttributes struct { // The reference to the CodeDeploy ECS Application that this Deployment Group belongs to. Application IEcsApplication `json:"application" yaml:"application"` // The physical, human-readable name of the CodeDeploy ECS Deployment Group that we are referencing. DeploymentGroupName *string `json:"deploymentGroupName" yaml:"deploymentGroupName"` // The Deployment Configuration this Deployment Group uses. DeploymentConfig IEcsDeploymentConfig `json:"deploymentConfig" yaml:"deploymentConfig"` }
Properties of a reference to a CodeDeploy ECS Deployment Group.
TODO: EXAMPLE
See: EcsDeploymentGroup#fromEcsDeploymentGroupAttributes
type IEcsApplication ¶
type IEcsApplication interface { awscdk.IResource ApplicationArn() *string ApplicationName() *string }
Represents a reference to a CodeDeploy Application deploying to Amazon ECS.
If you're managing the Application alongside the rest of your CDK resources, use the {@link EcsApplication} class.
If you want to reference an already existing Application, or one defined in a different CDK Stack, use the {@link EcsApplication#fromEcsApplicationName} method.
func EcsApplication_FromEcsApplicationName ¶
func EcsApplication_FromEcsApplicationName(scope constructs.Construct, id *string, ecsApplicationName *string) IEcsApplication
Import an Application defined either outside the CDK, or in a different CDK Stack.
Returns: a Construct representing a reference to an existing Application
type IEcsDeploymentConfig ¶
type IEcsDeploymentConfig interface { DeploymentConfigArn() *string DeploymentConfigName() *string }
The Deployment Configuration of an ECS Deployment Group.
The default, pre-defined Configurations are available as constants on the {@link EcsDeploymentConfig} class (for example, `EcsDeploymentConfig.AllAtOnce`).
Note: CloudFormation does not currently support creating custom ECS configs outside of using a custom resource. You can import custom deployment config created outside the CDK or via a custom resource with {@link EcsDeploymentConfig#fromEcsDeploymentConfigName}.
func EcsDeploymentConfig_ALL_AT_ONCE ¶
func EcsDeploymentConfig_ALL_AT_ONCE() IEcsDeploymentConfig
func EcsDeploymentConfig_FromEcsDeploymentConfigName ¶
func EcsDeploymentConfig_FromEcsDeploymentConfigName(_scope constructs.Construct, _id *string, ecsDeploymentConfigName *string) IEcsDeploymentConfig
Import a custom Deployment Configuration for an ECS Deployment Group defined outside the CDK.
Returns: a Construct representing a reference to an existing custom Deployment Configuration
type IEcsDeploymentGroup ¶
type IEcsDeploymentGroup interface { awscdk.IResource // The reference to the CodeDeploy ECS Application that this Deployment Group belongs to. Application() IEcsApplication // The Deployment Configuration this Group uses. DeploymentConfig() IEcsDeploymentConfig // The ARN of this Deployment Group. DeploymentGroupArn() *string // The physical name of the CodeDeploy Deployment Group. DeploymentGroupName() *string }
Interface for an ECS deployment group.
func EcsDeploymentGroup_FromEcsDeploymentGroupAttributes ¶
func EcsDeploymentGroup_FromEcsDeploymentGroupAttributes(scope constructs.Construct, id *string, attrs *EcsDeploymentGroupAttributes) IEcsDeploymentGroup
Import an ECS Deployment Group defined outside the CDK app.
Returns: a Construct representing a reference to an existing Deployment Group
type ILambdaApplication ¶
type ILambdaApplication interface { awscdk.IResource ApplicationArn() *string ApplicationName() *string }
Represents a reference to a CodeDeploy Application deploying to AWS Lambda.
If you're managing the Application alongside the rest of your CDK resources, use the {@link LambdaApplication} class.
If you want to reference an already existing Application, or one defined in a different CDK Stack, use the {@link LambdaApplication#fromLambdaApplicationName} method.
func LambdaApplication_FromLambdaApplicationName ¶
func LambdaApplication_FromLambdaApplicationName(scope constructs.Construct, id *string, lambdaApplicationName *string) ILambdaApplication
Import an Application defined either outside the CDK, or in a different CDK Stack.
Returns: a Construct representing a reference to an existing Application
type ILambdaDeploymentConfig ¶
type ILambdaDeploymentConfig interface { DeploymentConfigArn() *string DeploymentConfigName() *string }
The Deployment Configuration of a Lambda Deployment Group.
The default, pre-defined Configurations are available as constants on the {@link LambdaDeploymentConfig} class (`LambdaDeploymentConfig.AllAtOnce`, `LambdaDeploymentConfig.Canary10Percent30Minutes`, etc.).
Note: CloudFormation does not currently support creating custom lambda configs outside of using a custom resource. You can import custom deployment config created outside the CDK or via a custom resource with {@link LambdaDeploymentConfig#import}.
func LambdaDeploymentConfig_ALL_AT_ONCE ¶
func LambdaDeploymentConfig_ALL_AT_ONCE() ILambdaDeploymentConfig
func LambdaDeploymentConfig_CANARY_10PERCENT_10MINUTES ¶
func LambdaDeploymentConfig_CANARY_10PERCENT_10MINUTES() ILambdaDeploymentConfig
func LambdaDeploymentConfig_CANARY_10PERCENT_15MINUTES ¶
func LambdaDeploymentConfig_CANARY_10PERCENT_15MINUTES() ILambdaDeploymentConfig
func LambdaDeploymentConfig_CANARY_10PERCENT_30MINUTES ¶
func LambdaDeploymentConfig_CANARY_10PERCENT_30MINUTES() ILambdaDeploymentConfig
func LambdaDeploymentConfig_CANARY_10PERCENT_5MINUTES ¶
func LambdaDeploymentConfig_CANARY_10PERCENT_5MINUTES() ILambdaDeploymentConfig
func LambdaDeploymentConfig_Import ¶
func LambdaDeploymentConfig_Import(_scope constructs.Construct, _id *string, props *LambdaDeploymentConfigImportProps) ILambdaDeploymentConfig
Import a custom Deployment Configuration for a Lambda Deployment Group defined outside the CDK.
Returns: a Construct representing a reference to an existing custom Deployment Configuration
func LambdaDeploymentConfig_LINEAR_10PERCENT_EVERY_10MINUTES ¶
func LambdaDeploymentConfig_LINEAR_10PERCENT_EVERY_10MINUTES() ILambdaDeploymentConfig
func LambdaDeploymentConfig_LINEAR_10PERCENT_EVERY_1MINUTE ¶
func LambdaDeploymentConfig_LINEAR_10PERCENT_EVERY_1MINUTE() ILambdaDeploymentConfig
func LambdaDeploymentConfig_LINEAR_10PERCENT_EVERY_2MINUTES ¶
func LambdaDeploymentConfig_LINEAR_10PERCENT_EVERY_2MINUTES() ILambdaDeploymentConfig
func LambdaDeploymentConfig_LINEAR_10PERCENT_EVERY_3MINUTES ¶
func LambdaDeploymentConfig_LINEAR_10PERCENT_EVERY_3MINUTES() ILambdaDeploymentConfig
type ILambdaDeploymentGroup ¶
type ILambdaDeploymentGroup interface { awscdk.IResource // The reference to the CodeDeploy Lambda Application that this Deployment Group belongs to. Application() ILambdaApplication // The Deployment Configuration this Group uses. DeploymentConfig() ILambdaDeploymentConfig // The ARN of this Deployment Group. DeploymentGroupArn() *string // The physical name of the CodeDeploy Deployment Group. DeploymentGroupName() *string }
Interface for a Lambda deployment groups.
func LambdaDeploymentGroup_FromLambdaDeploymentGroupAttributes ¶
func LambdaDeploymentGroup_FromLambdaDeploymentGroupAttributes(scope constructs.Construct, id *string, attrs *LambdaDeploymentGroupAttributes) ILambdaDeploymentGroup
Import an Lambda Deployment Group defined either outside the CDK app, or in a different AWS region.
Returns: a Construct representing a reference to an existing Deployment Group
type IServerApplication ¶
type IServerApplication interface { awscdk.IResource ApplicationArn() *string ApplicationName() *string }
Represents a reference to a CodeDeploy Application deploying to EC2/on-premise instances.
If you're managing the Application alongside the rest of your CDK resources, use the {@link ServerApplication} class.
If you want to reference an already existing Application, or one defined in a different CDK Stack, use the {@link #fromServerApplicationName} method.
func ServerApplication_FromServerApplicationName ¶
func ServerApplication_FromServerApplicationName(scope constructs.Construct, id *string, serverApplicationName *string) IServerApplication
Import an Application defined either outside the CDK app, or in a different region.
Returns: a Construct representing a reference to an existing Application
type IServerDeploymentConfig ¶
type IServerDeploymentConfig interface { DeploymentConfigArn() *string DeploymentConfigName() *string }
The Deployment Configuration of an EC2/on-premise Deployment Group.
The default, pre-defined Configurations are available as constants on the {@link ServerDeploymentConfig} class (`ServerDeploymentConfig.HALF_AT_A_TIME`, `ServerDeploymentConfig.ALL_AT_ONCE`, etc.). To create a custom Deployment Configuration, instantiate the {@link ServerDeploymentConfig} Construct.
func ServerDeploymentConfig_ALL_AT_ONCE ¶
func ServerDeploymentConfig_ALL_AT_ONCE() IServerDeploymentConfig
func ServerDeploymentConfig_FromServerDeploymentConfigName ¶
func ServerDeploymentConfig_FromServerDeploymentConfigName(scope constructs.Construct, id *string, serverDeploymentConfigName *string) IServerDeploymentConfig
Import a custom Deployment Configuration for an EC2/on-premise Deployment Group defined either outside the CDK app, or in a different region.
Returns: a Construct representing a reference to an existing custom Deployment Configuration
func ServerDeploymentConfig_HALF_AT_A_TIME ¶
func ServerDeploymentConfig_HALF_AT_A_TIME() IServerDeploymentConfig
func ServerDeploymentConfig_ONE_AT_A_TIME ¶
func ServerDeploymentConfig_ONE_AT_A_TIME() IServerDeploymentConfig
type IServerDeploymentGroup ¶
type IServerDeploymentGroup interface { awscdk.IResource Application() IServerApplication AutoScalingGroups() *[]awsautoscaling.IAutoScalingGroup DeploymentConfig() IServerDeploymentConfig DeploymentGroupArn() *string DeploymentGroupName() *string Role() awsiam.IRole }
func ServerDeploymentGroup_FromServerDeploymentGroupAttributes ¶
func ServerDeploymentGroup_FromServerDeploymentGroupAttributes(scope constructs.Construct, id *string, attrs *ServerDeploymentGroupAttributes) IServerDeploymentGroup
Import an EC2/on-premise Deployment Group defined either outside the CDK app, or in a different region.
Returns: a Construct representing a reference to an existing Deployment Group
type InstanceTagSet ¶
Represents a set of instance tag groups.
An instance will match a set if it matches all of the groups in the set - in other words, sets follow 'and' semantics. You can have a maximum of 3 tag groups inside a set.
TODO: EXAMPLE
func NewInstanceTagSet ¶
func NewInstanceTagSet(instanceTagGroups ...*map[string]*[]*string) InstanceTagSet
type LambdaApplication ¶
type LambdaApplication interface { awscdk.Resource ILambdaApplication ApplicationArn() *string ApplicationName() *string Env() *awscdk.ResourceEnvironment Node() constructs.Node PhysicalName() *string Stack() awscdk.Stack ApplyRemovalPolicy(policy awscdk.RemovalPolicy) GeneratePhysicalName() *string GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string GetResourceNameAttribute(nameAttr *string) *string ToString() *string }
A CodeDeploy Application that deploys to an AWS Lambda function.
TODO: EXAMPLE
func NewLambdaApplication ¶
func NewLambdaApplication(scope constructs.Construct, id *string, props *LambdaApplicationProps) LambdaApplication
type LambdaApplicationProps ¶
type LambdaApplicationProps struct { // The physical, human-readable name of the CodeDeploy Application. ApplicationName *string `json:"applicationName" yaml:"applicationName"` }
Construction properties for {@link LambdaApplication}.
TODO: EXAMPLE
type LambdaDeploymentConfig ¶
type LambdaDeploymentConfig interface { }
A custom Deployment Configuration for a Lambda Deployment Group.
Note: This class currently stands as namespaced container of the default configurations until CloudFormation supports custom Lambda Deployment Configs. Until then it is closed (private constructor) and does not extend {@link Construct}
TODO: EXAMPLE
type LambdaDeploymentConfigImportProps ¶
type LambdaDeploymentConfigImportProps struct { // The physical, human-readable name of the custom CodeDeploy Lambda Deployment Configuration that we are referencing. DeploymentConfigName *string `json:"deploymentConfigName" yaml:"deploymentConfigName"` }
Properties of a reference to a CodeDeploy Lambda Deployment Configuration.
TODO: EXAMPLE
See: LambdaDeploymentConfig#import
type LambdaDeploymentGroup ¶
type LambdaDeploymentGroup interface { awscdk.Resource ILambdaDeploymentGroup Application() ILambdaApplication DeploymentConfig() ILambdaDeploymentConfig DeploymentGroupArn() *string DeploymentGroupName() *string Env() *awscdk.ResourceEnvironment Node() constructs.Node PhysicalName() *string Role() awsiam.IRole Stack() awscdk.Stack AddAlarm(alarm awscloudwatch.IAlarm) AddPostHook(postHook awslambda.IFunction) AddPreHook(preHook awslambda.IFunction) ApplyRemovalPolicy(policy awscdk.RemovalPolicy) GeneratePhysicalName() *string GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string GetResourceNameAttribute(nameAttr *string) *string GrantPutLifecycleEventHookExecutionStatus(grantee awsiam.IGrantable) awsiam.Grant ToString() *string }
TODO: EXAMPLE
func NewLambdaDeploymentGroup ¶
func NewLambdaDeploymentGroup(scope constructs.Construct, id *string, props *LambdaDeploymentGroupProps) LambdaDeploymentGroup
type LambdaDeploymentGroupAttributes ¶
type LambdaDeploymentGroupAttributes struct { // The reference to the CodeDeploy Lambda Application that this Deployment Group belongs to. Application ILambdaApplication `json:"application" yaml:"application"` // The physical, human-readable name of the CodeDeploy Lambda Deployment Group that we are referencing. DeploymentGroupName *string `json:"deploymentGroupName" yaml:"deploymentGroupName"` // The Deployment Configuration this Deployment Group uses. DeploymentConfig ILambdaDeploymentConfig `json:"deploymentConfig" yaml:"deploymentConfig"` }
Properties of a reference to a CodeDeploy Lambda Deployment Group.
TODO: EXAMPLE
See: LambdaDeploymentGroup#fromLambdaDeploymentGroupAttributes
type LambdaDeploymentGroupProps ¶
type LambdaDeploymentGroupProps struct { // Lambda Alias to shift traffic. Updating the version of the alias will trigger a CodeDeploy deployment. // // [disable-awslint:ref-via-interface] since we need to modify the alias CFN resource update policy Alias awslambda.Alias `json:"alias" yaml:"alias"` // The CloudWatch alarms associated with this Deployment Group. // // CodeDeploy will stop (and optionally roll back) // a deployment if during it any of the alarms trigger. // // Alarms can also be added after the Deployment Group is created using the {@link #addAlarm} method. // See: https://docs.aws.amazon.com/codedeploy/latest/userguide/monitoring-create-alarms.html // Alarms *[]awscloudwatch.IAlarm `json:"alarms" yaml:"alarms"` // The reference to the CodeDeploy Lambda Application that this Deployment Group belongs to. Application ILambdaApplication `json:"application" yaml:"application"` // The auto-rollback configuration for this Deployment Group. AutoRollback *AutoRollbackConfig `json:"autoRollback" yaml:"autoRollback"` // The Deployment Configuration this Deployment Group uses. DeploymentConfig ILambdaDeploymentConfig `json:"deploymentConfig" yaml:"deploymentConfig"` // The physical, human-readable name of the CodeDeploy Deployment Group. DeploymentGroupName *string `json:"deploymentGroupName" yaml:"deploymentGroupName"` // Whether to continue a deployment even if fetching the alarm status from CloudWatch failed. IgnorePollAlarmsFailure *bool `json:"ignorePollAlarmsFailure" yaml:"ignorePollAlarmsFailure"` // The Lambda function to run after traffic routing starts. PostHook awslambda.IFunction `json:"postHook" yaml:"postHook"` // The Lambda function to run before traffic routing starts. PreHook awslambda.IFunction `json:"preHook" yaml:"preHook"` // The service Role of this Deployment Group. Role awsiam.IRole `json:"role" yaml:"role"` }
Construction properties for {@link LambdaDeploymentGroup}.
TODO: EXAMPLE
type LoadBalancer ¶
type LoadBalancer interface { Generation() LoadBalancerGeneration Name() *string }
An interface of an abstract load balancer, as needed by CodeDeploy.
Create instances using the static factory methods: {@link #classic}, {@link #application} and {@link #network}.
TODO: EXAMPLE
func LoadBalancer_Application ¶
func LoadBalancer_Application(albTargetGroup awselasticloadbalancingv2.IApplicationTargetGroup) LoadBalancer
Creates a new CodeDeploy load balancer from an Application Load Balancer Target Group.
func LoadBalancer_Classic ¶
func LoadBalancer_Classic(loadBalancer awselasticloadbalancing.LoadBalancer) LoadBalancer
Creates a new CodeDeploy load balancer from a Classic ELB Load Balancer.
func LoadBalancer_Network ¶
func LoadBalancer_Network(nlbTargetGroup awselasticloadbalancingv2.INetworkTargetGroup) LoadBalancer
Creates a new CodeDeploy load balancer from a Network Load Balancer Target Group.
type LoadBalancerGeneration ¶
type LoadBalancerGeneration string
The generations of AWS load balancing solutions.
const ( LoadBalancerGeneration_FIRST LoadBalancerGeneration = "FIRST" LoadBalancerGeneration_SECOND LoadBalancerGeneration = "SECOND" )
type MinimumHealthyHosts ¶
type MinimumHealthyHosts interface { }
Minimum number of healthy hosts for a server deployment.
TODO: EXAMPLE
func MinimumHealthyHosts_Count ¶
func MinimumHealthyHosts_Count(value *float64) MinimumHealthyHosts
The minimum healhty hosts threshold expressed as an absolute number.
func MinimumHealthyHosts_Percentage ¶
func MinimumHealthyHosts_Percentage(value *float64) MinimumHealthyHosts
The minmum healhty hosts threshold expressed as a percentage of the fleet.
type ServerApplication ¶
type ServerApplication interface { awscdk.Resource IServerApplication ApplicationArn() *string ApplicationName() *string Env() *awscdk.ResourceEnvironment Node() constructs.Node PhysicalName() *string Stack() awscdk.Stack ApplyRemovalPolicy(policy awscdk.RemovalPolicy) GeneratePhysicalName() *string GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string GetResourceNameAttribute(nameAttr *string) *string ToString() *string }
A CodeDeploy Application that deploys to EC2/on-premise instances.
TODO: EXAMPLE
func NewServerApplication ¶
func NewServerApplication(scope constructs.Construct, id *string, props *ServerApplicationProps) ServerApplication
type ServerApplicationProps ¶
type ServerApplicationProps struct { // The physical, human-readable name of the CodeDeploy Application. ApplicationName *string `json:"applicationName" yaml:"applicationName"` }
Construction properties for {@link ServerApplication}.
TODO: EXAMPLE
type ServerDeploymentConfig ¶
type ServerDeploymentConfig interface { awscdk.Resource IServerDeploymentConfig DeploymentConfigArn() *string DeploymentConfigName() *string Env() *awscdk.ResourceEnvironment Node() constructs.Node PhysicalName() *string Stack() awscdk.Stack ApplyRemovalPolicy(policy awscdk.RemovalPolicy) GeneratePhysicalName() *string GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string GetResourceNameAttribute(nameAttr *string) *string ToString() *string }
A custom Deployment Configuration for an EC2/on-premise Deployment Group.
TODO: EXAMPLE
func NewServerDeploymentConfig ¶
func NewServerDeploymentConfig(scope constructs.Construct, id *string, props *ServerDeploymentConfigProps) ServerDeploymentConfig
type ServerDeploymentConfigProps ¶
type ServerDeploymentConfigProps struct { // Minimum number of healthy hosts. MinimumHealthyHosts MinimumHealthyHosts `json:"minimumHealthyHosts" yaml:"minimumHealthyHosts"` // The physical, human-readable name of the Deployment Configuration. DeploymentConfigName *string `json:"deploymentConfigName" yaml:"deploymentConfigName"` }
Construction properties of {@link ServerDeploymentConfig}.
TODO: EXAMPLE
type ServerDeploymentGroup ¶
type ServerDeploymentGroup interface { awscdk.Resource IServerDeploymentGroup Application() IServerApplication AutoScalingGroups() *[]awsautoscaling.IAutoScalingGroup DeploymentConfig() IServerDeploymentConfig DeploymentGroupArn() *string DeploymentGroupName() *string Env() *awscdk.ResourceEnvironment Node() constructs.Node PhysicalName() *string Role() awsiam.IRole Stack() awscdk.Stack AddAlarm(alarm awscloudwatch.IAlarm) AddAutoScalingGroup(asg awsautoscaling.AutoScalingGroup) ApplyRemovalPolicy(policy awscdk.RemovalPolicy) GeneratePhysicalName() *string GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string GetResourceNameAttribute(nameAttr *string) *string ToString() *string }
A CodeDeploy Deployment Group that deploys to EC2/on-premise instances.
TODO: EXAMPLE
func NewServerDeploymentGroup ¶
func NewServerDeploymentGroup(scope constructs.Construct, id *string, props *ServerDeploymentGroupProps) ServerDeploymentGroup
type ServerDeploymentGroupAttributes ¶
type ServerDeploymentGroupAttributes struct { // The reference to the CodeDeploy EC2/on-premise Application that this Deployment Group belongs to. Application IServerApplication `json:"application" yaml:"application"` // The physical, human-readable name of the CodeDeploy EC2/on-premise Deployment Group that we are referencing. DeploymentGroupName *string `json:"deploymentGroupName" yaml:"deploymentGroupName"` // The Deployment Configuration this Deployment Group uses. DeploymentConfig IServerDeploymentConfig `json:"deploymentConfig" yaml:"deploymentConfig"` }
Properties of a reference to a CodeDeploy EC2/on-premise Deployment Group.
TODO: EXAMPLE
See: ServerDeploymentGroup#import
type ServerDeploymentGroupProps ¶
type ServerDeploymentGroupProps struct { // The CloudWatch alarms associated with this Deployment Group. // // CodeDeploy will stop (and optionally roll back) // a deployment if during it any of the alarms trigger. // // Alarms can also be added after the Deployment Group is created using the {@link #addAlarm} method. // See: https://docs.aws.amazon.com/codedeploy/latest/userguide/monitoring-create-alarms.html // Alarms *[]awscloudwatch.IAlarm `json:"alarms" yaml:"alarms"` // The CodeDeploy EC2/on-premise Application this Deployment Group belongs to. Application IServerApplication `json:"application" yaml:"application"` // The auto-rollback configuration for this Deployment Group. AutoRollback *AutoRollbackConfig `json:"autoRollback" yaml:"autoRollback"` // The auto-scaling groups belonging to this Deployment Group. // // Auto-scaling groups can also be added after the Deployment Group is created // using the {@link #addAutoScalingGroup} method. // // [disable-awslint:ref-via-interface] is needed because we update userdata // for ASGs to install the codedeploy agent. AutoScalingGroups *[]awsautoscaling.IAutoScalingGroup `json:"autoScalingGroups" yaml:"autoScalingGroups"` // The EC2/on-premise Deployment Configuration to use for this Deployment Group. DeploymentConfig IServerDeploymentConfig `json:"deploymentConfig" yaml:"deploymentConfig"` // The physical, human-readable name of the CodeDeploy Deployment Group. DeploymentGroupName *string `json:"deploymentGroupName" yaml:"deploymentGroupName"` // All EC2 instances matching the given set of tags when a deployment occurs will be added to this Deployment Group. Ec2InstanceTags InstanceTagSet `json:"ec2InstanceTags" yaml:"ec2InstanceTags"` // Whether to continue a deployment even if fetching the alarm status from CloudWatch failed. IgnorePollAlarmsFailure *bool `json:"ignorePollAlarmsFailure" yaml:"ignorePollAlarmsFailure"` // If you've provided any auto-scaling groups with the {@link #autoScalingGroups} property, you can set this property to add User Data that installs the CodeDeploy agent on the instances. // See: https://docs.aws.amazon.com/codedeploy/latest/userguide/codedeploy-agent-operations-install.html // InstallAgent *bool `json:"installAgent" yaml:"installAgent"` // The load balancer to place in front of this Deployment Group. // // Can be created from either a classic Elastic Load Balancer, // or an Application Load Balancer / Network Load Balancer Target Group. LoadBalancer LoadBalancer `json:"loadBalancer" yaml:"loadBalancer"` // All on-premise instances matching the given set of tags when a deployment occurs will be added to this Deployment Group. OnPremiseInstanceTags InstanceTagSet `json:"onPremiseInstanceTags" yaml:"onPremiseInstanceTags"` // The service Role of this Deployment Group. Role awsiam.IRole `json:"role" yaml:"role"` }
Construction properties for {@link ServerDeploymentGroup}.
TODO: EXAMPLE