Class: AWSCDK::ARCRegionSwitch::CfnPlanProps

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
arc_region_switch/cfn_plan_props.rb

Overview

Properties for defining a CfnPlan.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(execution_role:, name:, recovery_approach:, regions:, workflows:, associated_alarms: nil, description: nil, primary_region: nil, recovery_time_objective_minutes: nil, report_configuration: nil, tags: nil, triggers: nil) ⇒ CfnPlanProps

Returns a new instance of CfnPlanProps.

Parameters:



21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
# File 'arc_region_switch/cfn_plan_props.rb', line 21

def initialize(execution_role:, name:, recovery_approach:, regions:, workflows:, associated_alarms: nil, description: nil, primary_region: nil, recovery_time_objective_minutes: nil, report_configuration: nil, tags: nil, triggers: nil)
  @execution_role = execution_role
  Jsii::Type.check_type(@execution_role, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "executionRole")
  @name = name
  Jsii::Type.check_type(@name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "name")
  @recovery_approach = recovery_approach
  Jsii::Type.check_type(@recovery_approach, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "recoveryApproach")
  @regions = regions
  Jsii::Type.check_type(@regions, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "regions")
  @workflows = workflows
  Jsii::Type.check_type(@workflows, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfYXJjcmVnaW9uc3dpdGNoLkNmblBsYW4uV29ya2Zsb3dQcm9wZXJ0eSJ9XX19LCJraW5kIjoiYXJyYXkifX1dfX0=")), "workflows")
  @associated_alarms = associated_alarms
  Jsii::Type.check_type(@associated_alarms, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfYXJjcmVnaW9uc3dpdGNoLkNmblBsYW4uQXNzb2NpYXRlZEFsYXJtUHJvcGVydHkifV19fSwia2luZCI6Im1hcCJ9fV19fQ==")), "associatedAlarms") unless @associated_alarms.nil?
  @description = description
  Jsii::Type.check_type(@description, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "description") unless @description.nil?
  @primary_region = primary_region
  Jsii::Type.check_type(@primary_region, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "primaryRegion") unless @primary_region.nil?
  @recovery_time_objective_minutes = recovery_time_objective_minutes
  Jsii::Type.check_type(@recovery_time_objective_minutes, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "recoveryTimeObjectiveMinutes") unless @recovery_time_objective_minutes.nil?
  @report_configuration = report_configuration.is_a?(Hash) ? ::AWSCDK::ARCRegionSwitch::CfnPlan::ReportConfigurationProperty.new(**report_configuration.transform_keys(&:to_sym)) : report_configuration
  Jsii::Type.check_type(@report_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19hcmNyZWdpb25zd2l0Y2guQ2ZuUGxhbi5SZXBvcnRDb25maWd1cmF0aW9uUHJvcGVydHkifV19fQ==")), "reportConfiguration") unless @report_configuration.nil?
  @tags = tags
  Jsii::Type.check_type(@tags, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoibWFwIn19")), "tags") unless @tags.nil?
  @triggers = triggers
  Jsii::Type.check_type(@triggers, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfYXJjcmVnaW9uc3dpdGNoLkNmblBsYW4uVHJpZ2dlclByb3BlcnR5In1dfX0sImtpbmQiOiJhcnJheSJ9fV19fQ==")), "triggers") unless @triggers.nil?
end

Instance Attribute Details

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

The associated application health alarms for a plan.



77
78
79
# File 'arc_region_switch/cfn_plan_props.rb', line 77

def associated_alarms
  @associated_alarms
end

#descriptionString? (readonly)

The description for a plan.



82
83
84
# File 'arc_region_switch/cfn_plan_props.rb', line 82

def description
  @description
end

#execution_roleString (readonly)

The execution role for a plan.



52
53
54
# File 'arc_region_switch/cfn_plan_props.rb', line 52

def execution_role
  @execution_role
end

#nameString (readonly)

The name for a plan.



57
58
59
# File 'arc_region_switch/cfn_plan_props.rb', line 57

def name
  @name
end

#primary_regionString? (readonly)

The primary Region for a plan.



87
88
89
# File 'arc_region_switch/cfn_plan_props.rb', line 87

def primary_region
  @primary_region
end

#recovery_approachString (readonly)

The recovery approach for a Region switch plan, which can be active/active (activeActive) or active/passive (activePassive).



62
63
64
# File 'arc_region_switch/cfn_plan_props.rb', line 62

def recovery_approach
  @recovery_approach
end

#recovery_time_objective_minutesNumeric? (readonly)

The recovery time objective for a plan.



92
93
94
# File 'arc_region_switch/cfn_plan_props.rb', line 92

def recovery_time_objective_minutes
  @recovery_time_objective_minutes
end

#regionsArray<String> (readonly)

The AWS Regions for a plan.



67
68
69
# File 'arc_region_switch/cfn_plan_props.rb', line 67

def regions
  @regions
end

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

The report configuration for a plan.



97
98
99
# File 'arc_region_switch/cfn_plan_props.rb', line 97

def report_configuration
  @report_configuration
end

#tagsHash{String => String}? (readonly)



100
101
102
# File 'arc_region_switch/cfn_plan_props.rb', line 100

def tags
  @tags
end

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

The triggers for a plan.



105
106
107
# File 'arc_region_switch/cfn_plan_props.rb', line 105

def triggers
  @triggers
end

Class Method Details

.jsii_propertiesObject



107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
# File 'arc_region_switch/cfn_plan_props.rb', line 107

def self.jsii_properties
  {
    :execution_role => "executionRole",
    :name => "name",
    :recovery_approach => "recoveryApproach",
    :regions => "regions",
    :workflows => "workflows",
    :associated_alarms => "associatedAlarms",
    :description => "description",
    :primary_region => "primaryRegion",
    :recovery_time_objective_minutes => "recoveryTimeObjectiveMinutes",
    :report_configuration => "reportConfiguration",
    :tags => "tags",
    :triggers => "triggers",
  }
end

Instance Method Details

#to_jsiiObject



124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
# File 'arc_region_switch/cfn_plan_props.rb', line 124

def to_jsii
  result = {}
  result.merge!({
    "executionRole" => @execution_role,
    "name" => @name,
    "recoveryApproach" => @recovery_approach,
    "regions" => @regions,
    "workflows" => @workflows,
    "associatedAlarms" => @associated_alarms,
    "description" => @description,
    "primaryRegion" => @primary_region,
    "recoveryTimeObjectiveMinutes" => @recovery_time_objective_minutes,
    "reportConfiguration" => @report_configuration,
    "tags" => @tags,
    "triggers" => @triggers,
  })
  result.compact
end