Class: AWSCDK::ResilienceHubv2::CfnServiceProps

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
resilience_hubv2/cfn_service_props.rb

Overview

Properties for defining a CfnService.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name:, regions:, assertions: nil, associated_systems: nil, dependency_discovery: nil, description: nil, input_sources: nil, kms_key_id: nil, permission_model: nil, policy_arn: nil, report_configuration: nil, tags: nil) ⇒ CfnServiceProps

Returns a new instance of CfnServiceProps.

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 'resilience_hubv2/cfn_service_props.rb', line 21

def initialize(name:, regions:, assertions: nil, associated_systems: nil, dependency_discovery: nil, description: nil, input_sources: nil, kms_key_id: nil, permission_model: nil, policy_arn: nil, report_configuration: nil, tags: nil)
  @name = name
  Jsii::Type.check_type(@name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "name")
  @regions = regions
  Jsii::Type.check_type(@regions, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "regions")
  @assertions = assertions
  Jsii::Type.check_type(@assertions, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfcmVzaWxpZW5jZWh1YnYyLkNmblNlcnZpY2UuQXNzZXJ0aW9uRGVmaW5pdGlvblByb3BlcnR5In1dfX0sImtpbmQiOiJhcnJheSJ9fV19fQ==")), "assertions") unless @assertions.nil?
  @associated_systems = associated_systems
  Jsii::Type.check_type(@associated_systems, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfcmVzaWxpZW5jZWh1YnYyLkNmblNlcnZpY2UuQXNzb2NpYXRlZFN5c3RlbVByb3BlcnR5In1dfX0sImtpbmQiOiJhcnJheSJ9fV19fQ==")), "associatedSystems") unless @associated_systems.nil?
  @dependency_discovery = dependency_discovery
  Jsii::Type.check_type(@dependency_discovery, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "dependencyDiscovery") unless @dependency_discovery.nil?
  @description = description
  Jsii::Type.check_type(@description, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "description") unless @description.nil?
  @input_sources = input_sources
  Jsii::Type.check_type(@input_sources, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfcmVzaWxpZW5jZWh1YnYyLkNmblNlcnZpY2UuSW5wdXRTb3VyY2VEZWZpbml0aW9uUHJvcGVydHkifV19fSwia2luZCI6ImFycmF5In19XX19")), "inputSources") unless @input_sources.nil?
  @kms_key_id = kms_key_id
  Jsii::Type.check_type(@kms_key_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "kmsKeyId") unless @kms_key_id.nil?
  @permission_model = permission_model.is_a?(Hash) ? ::AWSCDK::ResilienceHubv2::CfnService::PermissionModelProperty.new(**permission_model.transform_keys(&:to_sym)) : permission_model
  Jsii::Type.check_type(@permission_model, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19yZXNpbGllbmNlaHVidjIuQ2ZuU2VydmljZS5QZXJtaXNzaW9uTW9kZWxQcm9wZXJ0eSJ9XX19")), "permissionModel") unless @permission_model.nil?
  @policy_arn = policy_arn
  Jsii::Type.check_type(@policy_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "policyArn") unless @policy_arn.nil?
  @report_configuration = report_configuration.is_a?(Hash) ? ::AWSCDK::ResilienceHubv2::CfnService::ServiceReportConfigurationProperty.new(**report_configuration.transform_keys(&:to_sym)) : report_configuration
  Jsii::Type.check_type(@report_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19yZXNpbGllbmNlaHVidjIuQ2ZuU2VydmljZS5TZXJ2aWNlUmVwb3J0Q29uZmlndXJhdGlvblByb3BlcnR5In1dfX0=")), "reportConfiguration") unless @report_configuration.nil?
  @tags = tags.is_a?(Array) ? tags.map { |jsii_v0| jsii_v0.is_a?(Hash) ? ::AWSCDK::CfnTag.new(**jsii_v0.transform_keys(&:to_sym)) : jsii_v0 } : tags
  Jsii::Type.check_type(@tags, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7ImZxbiI6ImF3cy1jZGstbGliLkNmblRhZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "tags") unless @tags.nil?
end

Instance Attribute Details

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

Assertions associated with this service.



62
63
64
# File 'resilience_hubv2/cfn_service_props.rb', line 62

def assertions
  @assertions
end

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

Systems associated with this service.



67
68
69
# File 'resilience_hubv2/cfn_service_props.rb', line 67

def associated_systems
  @associated_systems
end

#dependency_discoveryString? (readonly)

Dependency discovery state.



72
73
74
# File 'resilience_hubv2/cfn_service_props.rb', line 72

def dependency_discovery
  @dependency_discovery
end

#descriptionString? (readonly)

The description of the service.



77
78
79
# File 'resilience_hubv2/cfn_service_props.rb', line 77

def description
  @description
end

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

Input sources for this service.



82
83
84
# File 'resilience_hubv2/cfn_service_props.rb', line 82

def input_sources
  @input_sources
end

#kms_key_idString? (readonly)

The KMS key ID for encrypting service data.



87
88
89
# File 'resilience_hubv2/cfn_service_props.rb', line 87

def kms_key_id
  @kms_key_id
end

#nameString (readonly)

The name of the service.



52
53
54
# File 'resilience_hubv2/cfn_service_props.rb', line 52

def name
  @name
end

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



90
91
92
# File 'resilience_hubv2/cfn_service_props.rb', line 90

def permission_model
  @permission_model
end

#policy_arnString? (readonly)

The ARN of the resilience policy to associate.



95
96
97
# File 'resilience_hubv2/cfn_service_props.rb', line 95

def policy_arn
  @policy_arn
end

#regionsArray<String> (readonly)

AWS regions for the service.



57
58
59
# File 'resilience_hubv2/cfn_service_props.rb', line 57

def regions
  @regions
end

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

Configuration for automatic report generation on a Service.



100
101
102
# File 'resilience_hubv2/cfn_service_props.rb', line 100

def report_configuration
  @report_configuration
end

#tagsArray<AWSCDK::CfnTag>? (readonly)

Tags assigned to the service.



105
106
107
# File 'resilience_hubv2/cfn_service_props.rb', line 105

def tags
  @tags
end

Class Method Details

.jsii_propertiesObject



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

def self.jsii_properties
  {
    :name => "name",
    :regions => "regions",
    :assertions => "assertions",
    :associated_systems => "associatedSystems",
    :dependency_discovery => "dependencyDiscovery",
    :description => "description",
    :input_sources => "inputSources",
    :kms_key_id => "kmsKeyId",
    :permission_model => "permissionModel",
    :policy_arn => "policyArn",
    :report_configuration => "reportConfiguration",
    :tags => "tags",
  }
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 'resilience_hubv2/cfn_service_props.rb', line 124

def to_jsii
  result = {}
  result.merge!({
    "name" => @name,
    "regions" => @regions,
    "assertions" => @assertions,
    "associatedSystems" => @associated_systems,
    "dependencyDiscovery" => @dependency_discovery,
    "description" => @description,
    "inputSources" => @input_sources,
    "kmsKeyId" => @kms_key_id,
    "permissionModel" => @permission_model,
    "policyArn" => @policy_arn,
    "reportConfiguration" => @report_configuration,
    "tags" => @tags,
  })
  result.compact
end