Class: AWSCDK::ARCRegionSwitch::CfnPlan::DocumentDBConfigurationProperty

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

Overview

Configuration for Amazon DocumentDB global clusters used in a Region switch plan.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(behavior:, database_cluster_arns:, global_cluster_identifier:, cross_account_role: nil, external_id: nil, timeout_minutes: nil, ungraceful: nil) ⇒ DocumentDBConfigurationProperty

Returns a new instance of DocumentDBConfigurationProperty.

Parameters:

  • behavior (String)

    The behavior for a global cluster, that is, only allow switchover or also allow failover.

  • database_cluster_arns (Array<String>)

    The database cluster Amazon Resource Names (ARNs) for a DocumentDB global cluster.

  • global_cluster_identifier (String)

    The global cluster identifier for a DocumentDB global cluster.

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

    The cross account role for the configuration.

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

    The external ID (secret key) for the configuration.

  • timeout_minutes (Numeric, nil) (defaults to: nil)

    The timeout value specified for the configuration.

  • ungraceful (AWSCDK::IResolvable, AWSCDK::ARCRegionSwitch::CfnPlan::DocumentDBUngracefulProperty, nil) (defaults to: nil)

    The settings for ungraceful execution.



1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
# File 'arc_region_switch/cfn_plan.rb', line 1138

def initialize(behavior:, database_cluster_arns:, global_cluster_identifier:, cross_account_role: nil, external_id: nil, timeout_minutes: nil, ungraceful: nil)
  @behavior = behavior
  Jsii::Type.check_type(@behavior, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "behavior")
  @database_cluster_arns = database_cluster_arns
  Jsii::Type.check_type(@database_cluster_arns, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "databaseClusterArns")
  @global_cluster_identifier = global_cluster_identifier
  Jsii::Type.check_type(@global_cluster_identifier, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "globalClusterIdentifier")
  @cross_account_role = 
  Jsii::Type.check_type(@cross_account_role, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "crossAccountRole") unless @cross_account_role.nil?
  @external_id = external_id
  Jsii::Type.check_type(@external_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "externalId") unless @external_id.nil?
  @timeout_minutes = timeout_minutes
  Jsii::Type.check_type(@timeout_minutes, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "timeoutMinutes") unless @timeout_minutes.nil?
  @ungraceful = ungraceful.is_a?(Hash) ? ::AWSCDK::ARCRegionSwitch::CfnPlan::DocumentDBUngracefulProperty.new(**ungraceful.transform_keys(&:to_sym)) : ungraceful
  Jsii::Type.check_type(@ungraceful, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19hcmNyZWdpb25zd2l0Y2guQ2ZuUGxhbi5Eb2N1bWVudERiVW5ncmFjZWZ1bFByb3BlcnR5In1dfX0=")), "ungraceful") unless @ungraceful.nil?
end

Instance Attribute Details

#behaviorString (readonly)

The behavior for a global cluster, that is, only allow switchover or also allow failover.



1159
1160
1161
# File 'arc_region_switch/cfn_plan.rb', line 1159

def behavior
  @behavior
end

#cross_account_roleString? (readonly)

The cross account role for the configuration.



1174
1175
1176
# File 'arc_region_switch/cfn_plan.rb', line 1174

def 
  @cross_account_role
end

#database_cluster_arnsArray<String> (readonly)

The database cluster Amazon Resource Names (ARNs) for a DocumentDB global cluster.



1164
1165
1166
# File 'arc_region_switch/cfn_plan.rb', line 1164

def database_cluster_arns
  @database_cluster_arns
end

#external_idString? (readonly)

The external ID (secret key) for the configuration.



1179
1180
1181
# File 'arc_region_switch/cfn_plan.rb', line 1179

def external_id
  @external_id
end

#global_cluster_identifierString (readonly)

The global cluster identifier for a DocumentDB global cluster.



1169
1170
1171
# File 'arc_region_switch/cfn_plan.rb', line 1169

def global_cluster_identifier
  @global_cluster_identifier
end

#timeout_minutesNumeric? (readonly)

Note:

Default: - 60

The timeout value specified for the configuration.



1185
1186
1187
# File 'arc_region_switch/cfn_plan.rb', line 1185

def timeout_minutes
  @timeout_minutes
end

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

The settings for ungraceful execution.



1190
1191
1192
# File 'arc_region_switch/cfn_plan.rb', line 1190

def ungraceful
  @ungraceful
end

Class Method Details

.jsii_propertiesObject



1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
# File 'arc_region_switch/cfn_plan.rb', line 1192

def self.jsii_properties
  {
    :behavior => "behavior",
    :database_cluster_arns => "databaseClusterArns",
    :global_cluster_identifier => "globalClusterIdentifier",
    :cross_account_role => "crossAccountRole",
    :external_id => "externalId",
    :timeout_minutes => "timeoutMinutes",
    :ungraceful => "ungraceful",
  }
end

Instance Method Details

#to_jsiiObject



1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
# File 'arc_region_switch/cfn_plan.rb', line 1204

def to_jsii
  result = {}
  result.merge!({
    "behavior" => @behavior,
    "databaseClusterArns" => @database_cluster_arns,
    "globalClusterIdentifier" => @global_cluster_identifier,
    "crossAccountRole" => @cross_account_role,
    "externalId" => @external_id,
    "timeoutMinutes" => @timeout_minutes,
    "ungraceful" => @ungraceful,
  })
  result.compact
end