Class: AWSCDK::CodeDeploy::CfnDeploymentGroup::LoadBalancerInfoProperty

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
code_deploy/cfn_deployment_group.rb

Overview

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 in the AWS CodeDeploy User Guide .

For 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 , CloudFormation ignores any settings specified in LoadBalancerInfo .

CloudFormation supports blue/green deployments on the AWS Lambda compute platform only.

LoadBalancerInfo is a property of the DeploymentGroup resource.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(elb_info_list: nil, target_group_info_list: nil, target_group_pair_info_list: nil) ⇒ LoadBalancerInfoProperty

Returns a new instance of LoadBalancerInfoProperty.

Parameters:



1484
1485
1486
1487
1488
1489
1490
1491
# File 'code_deploy/cfn_deployment_group.rb', line 1484

def initialize(elb_info_list: nil, target_group_info_list: nil, target_group_pair_info_list: nil)
  @elb_info_list = elb_info_list
  Jsii::Type.check_type(@elb_info_list, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfY29kZWRlcGxveS5DZm5EZXBsb3ltZW50R3JvdXAuRUxCSW5mb1Byb3BlcnR5In1dfX0sImtpbmQiOiJhcnJheSJ9fV19fQ==")), "elbInfoList") unless @elb_info_list.nil?
  @target_group_info_list = target_group_info_list
  Jsii::Type.check_type(@target_group_info_list, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfY29kZWRlcGxveS5DZm5EZXBsb3ltZW50R3JvdXAuVGFyZ2V0R3JvdXBJbmZvUHJvcGVydHkifV19fSwia2luZCI6ImFycmF5In19XX19")), "targetGroupInfoList") unless @target_group_info_list.nil?
  @target_group_pair_info_list = target_group_pair_info_list
  Jsii::Type.check_type(@target_group_pair_info_list, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfY29kZWRlcGxveS5DZm5EZXBsb3ltZW50R3JvdXAuVGFyZ2V0R3JvdXBQYWlySW5mb1Byb3BlcnR5In1dfX0sImtpbmQiOiJhcnJheSJ9fV19fQ==")), "targetGroupPairInfoList") unless @target_group_pair_info_list.nil?
end

Instance Attribute Details

#elb_info_listAWSCDK::IResolvable, ... (readonly)

An array that contains information about the load balancers to use for load balancing in a deployment.

If you're using Classic Load Balancers, specify those load balancers in this array.

You can add up to 10 load balancers to the array. > If you're using Application Load Balancers or Network Load Balancers, use the target_group_info_list array instead of this one.



1501
1502
1503
# File 'code_deploy/cfn_deployment_group.rb', line 1501

def elb_info_list
  @elb_info_list
end

#target_group_info_listAWSCDK::IResolvable, ... (readonly)

An array that contains information about the target groups to use for load balancing in a deployment.

If you're using Application Load Balancers and Network Load Balancers, specify their associated target groups in this array.

You can add up to 10 target groups to the array. > If you're using Classic Load Balancers, use the elb_info_list array instead of this one.



1510
1511
1512
# File 'code_deploy/cfn_deployment_group.rb', line 1510

def target_group_info_list
  @target_group_info_list
end

#target_group_pair_info_listAWSCDK::IResolvable, ... (readonly)

The target group pair information.

This is an array of TargeGroupPairInfo objects with a maximum size of one.



1517
1518
1519
# File 'code_deploy/cfn_deployment_group.rb', line 1517

def target_group_pair_info_list
  @target_group_pair_info_list
end

Class Method Details

.jsii_propertiesObject



1519
1520
1521
1522
1523
1524
1525
# File 'code_deploy/cfn_deployment_group.rb', line 1519

def self.jsii_properties
  {
    :elb_info_list => "elbInfoList",
    :target_group_info_list => "targetGroupInfoList",
    :target_group_pair_info_list => "targetGroupPairInfoList",
  }
end

Instance Method Details

#to_jsiiObject



1527
1528
1529
1530
1531
1532
1533
1534
1535
# File 'code_deploy/cfn_deployment_group.rb', line 1527

def to_jsii
  result = {}
  result.merge!({
    "elbInfoList" => @elb_info_list,
    "targetGroupInfoList" => @target_group_info_list,
    "targetGroupPairInfoList" => @target_group_pair_info_list,
  })
  result.compact
end