Class: AWSCDK::ARCRegionSwitch::CfnPlan::GlobalAuroraConfigurationProperty

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

Overview

Configuration for Amazon Aurora global databases 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) ⇒ GlobalAuroraConfigurationProperty

Returns a new instance of GlobalAuroraConfigurationProperty.

Parameters:

  • behavior (String)

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

  • database_cluster_arns (Array<String>)

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

  • global_cluster_identifier (String)

    The global cluster identifier for a global database.

  • 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::GlobalAuroraUngracefulProperty, nil) (defaults to: nil)

    The settings for ungraceful execution.



1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
# File 'arc_region_switch/cfn_plan.rb', line 1934

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::GlobalAuroraUngracefulProperty.new(**ungraceful.transform_keys(&:to_sym)) : ungraceful
  Jsii::Type.check_type(@ungraceful, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19hcmNyZWdpb25zd2l0Y2guQ2ZuUGxhbi5HbG9iYWxBdXJvcmFVbmdyYWNlZnVsUHJvcGVydHkifV19fQ==")), "ungraceful") unless @ungraceful.nil?
end

Instance Attribute Details

#behaviorString (readonly)

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



1955
1956
1957
# File 'arc_region_switch/cfn_plan.rb', line 1955

def behavior
  @behavior
end

#cross_account_roleString? (readonly)

The cross account role for the configuration.



1970
1971
1972
# File 'arc_region_switch/cfn_plan.rb', line 1970

def 
  @cross_account_role
end

#database_cluster_arnsArray<String> (readonly)

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



1960
1961
1962
# File 'arc_region_switch/cfn_plan.rb', line 1960

def database_cluster_arns
  @database_cluster_arns
end

#external_idString? (readonly)

The external ID (secret key) for the configuration.



1975
1976
1977
# File 'arc_region_switch/cfn_plan.rb', line 1975

def external_id
  @external_id
end

#global_cluster_identifierString (readonly)

The global cluster identifier for a global database.



1965
1966
1967
# File 'arc_region_switch/cfn_plan.rb', line 1965

def global_cluster_identifier
  @global_cluster_identifier
end

#timeout_minutesNumeric? (readonly)

Note:

Default: - 60

The timeout value specified for the configuration.



1981
1982
1983
# File 'arc_region_switch/cfn_plan.rb', line 1981

def timeout_minutes
  @timeout_minutes
end

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

The settings for ungraceful execution.



1986
1987
1988
# File 'arc_region_switch/cfn_plan.rb', line 1986

def ungraceful
  @ungraceful
end

Class Method Details

.jsii_propertiesObject



1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
# File 'arc_region_switch/cfn_plan.rb', line 1988

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



2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
# File 'arc_region_switch/cfn_plan.rb', line 2000

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