Class: AWSCDK::CodeDeploy::ZonalConfig

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

Overview

Configuration for CodeDeploy to deploy your application to one Availability Zone at a time within an AWS Region.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(first_zone_monitor_duration: nil, minimum_healthy_hosts_per_zone: nil, monitor_duration: nil) ⇒ ZonalConfig

Returns a new instance of ZonalConfig.

Parameters:

  • first_zone_monitor_duration (AWSCDK::Duration, nil) (defaults to: nil)

    The period of time that CodeDeploy must wait after completing a deployment to the first Availability Zone.

  • minimum_healthy_hosts_per_zone (AWSCDK::CodeDeploy::MinimumHealthyHostsPerZone, nil) (defaults to: nil)

    The number or percentage of instances that must remain available per Availability Zone during a deployment.

  • monitor_duration (AWSCDK::Duration, nil) (defaults to: nil)

    The period of time that CodeDeploy must wait after completing a deployment to an Availability Zone.



10
11
12
13
14
15
16
17
# File 'code_deploy/zonal_config.rb', line 10

def initialize(first_zone_monitor_duration: nil, minimum_healthy_hosts_per_zone: nil, monitor_duration: nil)
  @first_zone_monitor_duration = first_zone_monitor_duration
  Jsii::Type.check_type(@first_zone_monitor_duration, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5EdXJhdGlvbiJ9")), "firstZoneMonitorDuration") unless @first_zone_monitor_duration.nil?
  @minimum_healthy_hosts_per_zone = minimum_healthy_hosts_per_zone
  Jsii::Type.check_type(@minimum_healthy_hosts_per_zone, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfY29kZWRlcGxveS5NaW5pbXVtSGVhbHRoeUhvc3RzUGVyWm9uZSJ9")), "minimumHealthyHostsPerZone") unless @minimum_healthy_hosts_per_zone.nil?
  @monitor_duration = monitor_duration
  Jsii::Type.check_type(@monitor_duration, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5EdXJhdGlvbiJ9")), "monitorDuration") unless @monitor_duration.nil?
end

Instance Attribute Details

#first_zone_monitor_durationAWSCDK::Duration? (readonly)

Note:

Default: - the same value as monitorDuration

The period of time that CodeDeploy must wait after completing a deployment to the first Availability Zone.

Accepted Values:

  • 0
  • Greater than or equal to 1

Returns:



28
29
30
# File 'code_deploy/zonal_config.rb', line 28

def first_zone_monitor_duration
  @first_zone_monitor_duration
end

#minimum_healthy_hosts_per_zoneAWSCDK::CodeDeploy::MinimumHealthyHostsPerZone? (readonly)

Note:

Default: - 0 percent

The number or percentage of instances that must remain available per Availability Zone during a deployment.

This option works in conjunction with the minimum_healthy_hosts option.



36
37
38
# File 'code_deploy/zonal_config.rb', line 36

def minimum_healthy_hosts_per_zone
  @minimum_healthy_hosts_per_zone
end

#monitor_durationAWSCDK::Duration? (readonly)

Note:

Default: - CodeDeploy starts deploying to the next Availability Zone immediately

The period of time that CodeDeploy must wait after completing a deployment to an Availability Zone.

Accepted Values:

  • 0
  • Greater than or equal to 1

Returns:



46
47
48
# File 'code_deploy/zonal_config.rb', line 46

def monitor_duration
  @monitor_duration
end

Class Method Details

.jsii_propertiesObject



48
49
50
51
52
53
54
# File 'code_deploy/zonal_config.rb', line 48

def self.jsii_properties
  {
    :first_zone_monitor_duration => "firstZoneMonitorDuration",
    :minimum_healthy_hosts_per_zone => "minimumHealthyHostsPerZone",
    :monitor_duration => "monitorDuration",
  }
end

Instance Method Details

#to_jsiiObject



56
57
58
59
60
61
62
63
64
# File 'code_deploy/zonal_config.rb', line 56

def to_jsii
  result = {}
  result.merge!({
    "firstZoneMonitorDuration" => @first_zone_monitor_duration,
    "minimumHealthyHostsPerZone" => @minimum_healthy_hosts_per_zone,
    "monitorDuration" => @monitor_duration,
  })
  result.compact
end