Class: AWSCDK::VPCLattice::CfnResourceConfigurationProps

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
vpc_lattice/cfn_resource_configuration_props.rb

Overview

Properties for defining a CfnResourceConfiguration.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name:, resource_configuration_type:, allow_association_to_sharable_service_network: nil, custom_domain_name: nil, domain_verification_id: nil, group_domain: nil, port_ranges: nil, protocol_type: nil, resource_configuration_auth_type: nil, resource_configuration_definition: nil, resource_configuration_group_id: nil, resource_gateway_id: nil, tags: nil) ⇒ CfnResourceConfigurationProps

Returns a new instance of CfnResourceConfigurationProps.

Parameters:

  • name (String)

    The name of the resource configuration.

  • resource_configuration_type (String)

    The type of resource configuration. A resource configuration can be one of the following types:.

  • allow_association_to_sharable_service_network (Boolean, AWSCDK::IResolvable, nil) (defaults to: nil)

    Specifies whether the resource configuration can be associated with a sharable service network.

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

    The custom domain name.

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

    The domain verification ID.

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

    (GROUP) The group domain for a group resource configuration.

  • port_ranges (Array<String>, nil) (defaults to: nil)

    (SINGLE, GROUP, CHILD) The TCP port ranges that a consumer can use to access a resource configuration (for example: 1-65535).

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

    (SINGLE, GROUP) The protocol accepted by the resource configuration.

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

    The auth type for the resource configuration.

  • resource_configuration_definition (AWSCDK::IResolvable, AWSCDK::VPCLattice::CfnResourceConfiguration::ResourceConfigurationDefinitionProperty, nil) (defaults to: nil)

    Identifies the resource configuration in one of the following ways:.

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

    The ID of the group resource configuration.

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

    The ID of the resource gateway.

  • tags (Array<AWSCDK::CfnTag>, nil) (defaults to: nil)

    The tags for the resource configuration.



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
47
48
49
# File 'vpc_lattice/cfn_resource_configuration_props.rb', line 22

def initialize(name:, resource_configuration_type:, allow_association_to_sharable_service_network: nil, custom_domain_name: nil, domain_verification_id: nil, group_domain: nil, port_ranges: nil, protocol_type: nil, resource_configuration_auth_type: nil, resource_configuration_definition: nil, resource_configuration_group_id: nil, resource_gateway_id: nil, tags: nil)
  @name = name
  Jsii::Type.check_type(@name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "name")
  @resource_configuration_type = resource_configuration_type
  Jsii::Type.check_type(@resource_configuration_type, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "resourceConfigurationType")
  @allow_association_to_sharable_service_network = allow_association_to_sharable_service_network
  Jsii::Type.check_type(@allow_association_to_sharable_service_network, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "allowAssociationToSharableServiceNetwork") unless @allow_association_to_sharable_service_network.nil?
  @custom_domain_name = custom_domain_name
  Jsii::Type.check_type(@custom_domain_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "customDomainName") unless @custom_domain_name.nil?
  @domain_verification_id = domain_verification_id
  Jsii::Type.check_type(@domain_verification_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "domainVerificationId") unless @domain_verification_id.nil?
  @group_domain = group_domain
  Jsii::Type.check_type(@group_domain, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "groupDomain") unless @group_domain.nil?
  @port_ranges = port_ranges
  Jsii::Type.check_type(@port_ranges, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "portRanges") unless @port_ranges.nil?
  @protocol_type = protocol_type
  Jsii::Type.check_type(@protocol_type, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "protocolType") unless @protocol_type.nil?
  @resource_configuration_auth_type = resource_configuration_auth_type
  Jsii::Type.check_type(@resource_configuration_auth_type, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "resourceConfigurationAuthType") unless @resource_configuration_auth_type.nil?
  @resource_configuration_definition = resource_configuration_definition.is_a?(Hash) ? ::AWSCDK::VPCLattice::CfnResourceConfiguration::ResourceConfigurationDefinitionProperty.new(**resource_configuration_definition.transform_keys(&:to_sym)) : resource_configuration_definition
  Jsii::Type.check_type(@resource_configuration_definition, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c192cGNsYXR0aWNlLkNmblJlc291cmNlQ29uZmlndXJhdGlvbi5SZXNvdXJjZUNvbmZpZ3VyYXRpb25EZWZpbml0aW9uUHJvcGVydHkifV19fQ==")), "resourceConfigurationDefinition") unless @resource_configuration_definition.nil?
  @resource_configuration_group_id = resource_configuration_group_id
  Jsii::Type.check_type(@resource_configuration_group_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "resourceConfigurationGroupId") unless @resource_configuration_group_id.nil?
  @resource_gateway_id = resource_gateway_id
  Jsii::Type.check_type(@resource_gateway_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "resourceGatewayId") unless @resource_gateway_id.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

#allow_association_to_sharable_service_networkBoolean, ... (readonly)

Specifies whether the resource configuration can be associated with a sharable service network.



70
71
72
# File 'vpc_lattice/cfn_resource_configuration_props.rb', line 70

def allow_association_to_sharable_service_network
  @allow_association_to_sharable_service_network
end

#custom_domain_nameString? (readonly)

The custom domain name.



75
76
77
# File 'vpc_lattice/cfn_resource_configuration_props.rb', line 75

def custom_domain_name
  @custom_domain_name
end

#domain_verification_idString? (readonly)

The domain verification ID.



80
81
82
# File 'vpc_lattice/cfn_resource_configuration_props.rb', line 80

def domain_verification_id
  @domain_verification_id
end

#group_domainString? (readonly)

(GROUP) The group domain for a group resource configuration.

Any domains that you create for the child resource are subdomains of the group domain. Child resources inherit the verification status of the domain.



87
88
89
# File 'vpc_lattice/cfn_resource_configuration_props.rb', line 87

def group_domain
  @group_domain
end

#nameString (readonly)

The name of the resource configuration.



55
56
57
# File 'vpc_lattice/cfn_resource_configuration_props.rb', line 55

def name
  @name
end

#port_rangesArray<String>? (readonly)

(SINGLE, GROUP, CHILD) The TCP port ranges that a consumer can use to access a resource configuration (for example: 1-65535).

You can separate port ranges using commas (for example: 1,2,22-30).



94
95
96
# File 'vpc_lattice/cfn_resource_configuration_props.rb', line 94

def port_ranges
  @port_ranges
end

#protocol_typeString? (readonly)

(SINGLE, GROUP) The protocol accepted by the resource configuration.



99
100
101
# File 'vpc_lattice/cfn_resource_configuration_props.rb', line 99

def protocol_type
  @protocol_type
end

#resource_configuration_auth_typeString? (readonly)

The auth type for the resource configuration.



104
105
106
# File 'vpc_lattice/cfn_resource_configuration_props.rb', line 104

def resource_configuration_auth_type
  @resource_configuration_auth_type
end

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

Identifies the resource configuration in one of the following ways:.

  • Amazon Resource Name (ARN) - Supported resource-types that are provisioned by AWS services, such as RDS databases, can be identified by their ARN.
  • Domain name - Any domain name that is publicly resolvable.
  • IP address - For IPv4 and IPv6, only IP addresses in the VPC are supported.


113
114
115
# File 'vpc_lattice/cfn_resource_configuration_props.rb', line 113

def resource_configuration_definition
  @resource_configuration_definition
end

#resource_configuration_group_idString? (readonly)

The ID of the group resource configuration.



118
119
120
# File 'vpc_lattice/cfn_resource_configuration_props.rb', line 118

def resource_configuration_group_id
  @resource_configuration_group_id
end

#resource_configuration_typeString (readonly)

The type of resource configuration. A resource configuration can be one of the following types:.

  • SINGLE - A single resource.
  • GROUP - A group of resources. You must create a group resource configuration before you create a child resource configuration.
  • CHILD - A single resource that is part of a group resource configuration.
  • ARN - An AWS resource.


65
66
67
# File 'vpc_lattice/cfn_resource_configuration_props.rb', line 65

def resource_configuration_type
  @resource_configuration_type
end

#resource_gateway_idString? (readonly)

The ID of the resource gateway.



123
124
125
# File 'vpc_lattice/cfn_resource_configuration_props.rb', line 123

def resource_gateway_id
  @resource_gateway_id
end

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

The tags for the resource configuration.



128
129
130
# File 'vpc_lattice/cfn_resource_configuration_props.rb', line 128

def tags
  @tags
end

Class Method Details

.jsii_propertiesObject



130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
# File 'vpc_lattice/cfn_resource_configuration_props.rb', line 130

def self.jsii_properties
  {
    :name => "name",
    :resource_configuration_type => "resourceConfigurationType",
    :allow_association_to_sharable_service_network => "allowAssociationToSharableServiceNetwork",
    :custom_domain_name => "customDomainName",
    :domain_verification_id => "domainVerificationId",
    :group_domain => "groupDomain",
    :port_ranges => "portRanges",
    :protocol_type => "protocolType",
    :resource_configuration_auth_type => "resourceConfigurationAuthType",
    :resource_configuration_definition => "resourceConfigurationDefinition",
    :resource_configuration_group_id => "resourceConfigurationGroupId",
    :resource_gateway_id => "resourceGatewayId",
    :tags => "tags",
  }
end

Instance Method Details

#to_jsiiObject



148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
# File 'vpc_lattice/cfn_resource_configuration_props.rb', line 148

def to_jsii
  result = {}
  result.merge!({
    "name" => @name,
    "resourceConfigurationType" => @resource_configuration_type,
    "allowAssociationToSharableServiceNetwork" => @allow_association_to_sharable_service_network,
    "customDomainName" => @custom_domain_name,
    "domainVerificationId" => @domain_verification_id,
    "groupDomain" => @group_domain,
    "portRanges" => @port_ranges,
    "protocolType" => @protocol_type,
    "resourceConfigurationAuthType" => @resource_configuration_auth_type,
    "resourceConfigurationDefinition" => @resource_configuration_definition,
    "resourceConfigurationGroupId" => @resource_configuration_group_id,
    "resourceGatewayId" => @resource_gateway_id,
    "tags" => @tags,
  })
  result.compact
end