Class: AWSCDK::VPCLattice::CfnServiceNetworkProps

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

Overview

Properties for defining a CfnServiceNetwork.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(auth_type: nil, name: nil, sharing_config: nil, tags: nil) ⇒ CfnServiceNetworkProps

Returns a new instance of CfnServiceNetworkProps.

Parameters:



13
14
15
16
17
18
19
20
21
22
# File 'vpc_lattice/cfn_service_network_props.rb', line 13

def initialize(auth_type: nil, name: nil, sharing_config: nil, tags: nil)
  @auth_type = auth_type
  Jsii::Type.check_type(@auth_type, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "authType") unless @auth_type.nil?
  @name = name
  Jsii::Type.check_type(@name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "name") unless @name.nil?
  @sharing_config = sharing_config.is_a?(Hash) ? ::AWSCDK::VPCLattice::CfnServiceNetwork::SharingConfigProperty.new(**sharing_config.transform_keys(&:to_sym)) : sharing_config
  Jsii::Type.check_type(@sharing_config, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c192cGNsYXR0aWNlLkNmblNlcnZpY2VOZXR3b3JrLlNoYXJpbmdDb25maWdQcm9wZXJ0eSJ9XX19")), "sharingConfig") unless @sharing_config.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

#auth_typeString? (readonly)

Note:

Default: - "NONE"

The type of IAM policy.

  • NONE : The resource does not use an IAM policy. This is the default.
  • AWS_IAM : The resource uses an IAM policy. When this type is used, auth is enabled and an auth policy is required.


32
33
34
# File 'vpc_lattice/cfn_service_network_props.rb', line 32

def auth_type
  @auth_type
end

#nameString? (readonly)

The name of the service network.

The name must be unique to the account. The valid characters are a-z, 0-9, and hyphens (-). You can't use a hyphen as the first or last character, or immediately after another hyphen.

If you don't specify a name, CloudFormation generates one. However, if you specify a name, and later want to replace the resource, you must specify a new name.



41
42
43
# File 'vpc_lattice/cfn_service_network_props.rb', line 41

def name
  @name
end

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

Specify if the service network should be enabled for sharing.



46
47
48
# File 'vpc_lattice/cfn_service_network_props.rb', line 46

def sharing_config
  @sharing_config
end

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

The tags for the service network.



51
52
53
# File 'vpc_lattice/cfn_service_network_props.rb', line 51

def tags
  @tags
end

Class Method Details

.jsii_propertiesObject



53
54
55
56
57
58
59
60
# File 'vpc_lattice/cfn_service_network_props.rb', line 53

def self.jsii_properties
  {
    :auth_type => "authType",
    :name => "name",
    :sharing_config => "sharingConfig",
    :tags => "tags",
  }
end

Instance Method Details

#to_jsiiObject



62
63
64
65
66
67
68
69
70
71
# File 'vpc_lattice/cfn_service_network_props.rb', line 62

def to_jsii
  result = {}
  result.merge!({
    "authType" => @auth_type,
    "name" => @name,
    "sharingConfig" => @sharing_config,
    "tags" => @tags,
  })
  result.compact
end