Class: AWSCDK::ARCZonalShift::CfnZonalAutoshiftConfigurationProps

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
arc_zonal_shift/cfn_zonal_autoshift_configuration_props.rb

Overview

Properties for defining a CfnZonalAutoshiftConfiguration.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(resource_identifier:, practice_run_configuration: nil, zonal_autoshift_status: nil) ⇒ CfnZonalAutoshiftConfigurationProps

Returns a new instance of CfnZonalAutoshiftConfigurationProps.

Parameters:

  • resource_identifier (String)

    The identifier for the resource that AWS shifts traffic for.

  • practice_run_configuration (AWSCDK::IResolvable, AWSCDK::ARCZonalShift::CfnZonalAutoshiftConfiguration::PracticeRunConfigurationProperty, nil) (defaults to: nil)

    A practice run configuration for a resource includes the Amazon CloudWatch alarms that you've specified for a practice run, as well as any blocked dates or blocked windows for the practice run.

  • zonal_autoshift_status (String, nil) (defaults to: nil)

    When zonal autoshift is ENABLED , you authorize AWS to shift away resource traffic for an application from an Availability Zone during events, on your behalf, to help reduce time to recovery.



12
13
14
15
16
17
18
19
# File 'arc_zonal_shift/cfn_zonal_autoshift_configuration_props.rb', line 12

def initialize(resource_identifier:, practice_run_configuration: nil, zonal_autoshift_status: nil)
  @resource_identifier = resource_identifier
  Jsii::Type.check_type(@resource_identifier, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "resourceIdentifier")
  @practice_run_configuration = practice_run_configuration.is_a?(Hash) ? ::AWSCDK::ARCZonalShift::CfnZonalAutoshiftConfiguration::PracticeRunConfigurationProperty.new(**practice_run_configuration.transform_keys(&:to_sym)) : practice_run_configuration
  Jsii::Type.check_type(@practice_run_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19hcmN6b25hbHNoaWZ0LkNmblpvbmFsQXV0b3NoaWZ0Q29uZmlndXJhdGlvbi5QcmFjdGljZVJ1bkNvbmZpZ3VyYXRpb25Qcm9wZXJ0eSJ9XX19")), "practiceRunConfiguration") unless @practice_run_configuration.nil?
  @zonal_autoshift_status = zonal_autoshift_status
  Jsii::Type.check_type(@zonal_autoshift_status, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "zonalAutoshiftStatus") unless @zonal_autoshift_status.nil?
end

Instance Attribute Details

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

A practice run configuration for a resource includes the Amazon CloudWatch alarms that you've specified for a practice run, as well as any blocked dates or blocked windows for the practice run.

When a resource has a practice run configuration, ARC shifts traffic for the resource weekly for practice runs.

Practice runs are required for zonal autoshift. The zonal shifts that ARC starts for practice runs help you to ensure that shifting away traffic from an Availability Zone during an autoshift is safe for your application.

You can update or delete a practice run configuration. Before you delete a practice run configuration, you must disable zonal autoshift for the resource. A practice run configuration is required when zonal autoshift is enabled.



40
41
42
# File 'arc_zonal_shift/cfn_zonal_autoshift_configuration_props.rb', line 40

def practice_run_configuration
  @practice_run_configuration
end

#resource_identifierString (readonly)

The identifier for the resource that AWS shifts traffic for.

The identifier is the Amazon Resource Name (ARN) for the resource.

At this time, supported resources are Network Load Balancers and Application Load Balancers.



29
30
31
# File 'arc_zonal_shift/cfn_zonal_autoshift_configuration_props.rb', line 29

def resource_identifier
  @resource_identifier
end

#zonal_autoshift_statusString? (readonly)

When zonal autoshift is ENABLED , you authorize AWS to shift away resource traffic for an application from an Availability Zone during events, on your behalf, to help reduce time to recovery.

Traffic is also shifted away for the required weekly practice runs.



47
48
49
# File 'arc_zonal_shift/cfn_zonal_autoshift_configuration_props.rb', line 47

def zonal_autoshift_status
  @zonal_autoshift_status
end

Class Method Details

.jsii_propertiesObject



49
50
51
52
53
54
55
# File 'arc_zonal_shift/cfn_zonal_autoshift_configuration_props.rb', line 49

def self.jsii_properties
  {
    :resource_identifier => "resourceIdentifier",
    :practice_run_configuration => "practiceRunConfiguration",
    :zonal_autoshift_status => "zonalAutoshiftStatus",
  }
end

Instance Method Details

#to_jsiiObject



57
58
59
60
61
62
63
64
65
# File 'arc_zonal_shift/cfn_zonal_autoshift_configuration_props.rb', line 57

def to_jsii
  result = {}
  result.merge!({
    "resourceIdentifier" => @resource_identifier,
    "practiceRunConfiguration" => @practice_run_configuration,
    "zonalAutoshiftStatus" => @zonal_autoshift_status,
  })
  result.compact
end