Class: AWSCDK::VPCLattice::CfnServiceNetworkVPCAssociationProps

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

Overview

Properties for defining a CfnServiceNetworkVpcAssociation.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(dns_options: nil, private_dns_enabled: nil, security_group_ids: nil, service_network_identifier: nil, tags: nil, vpc_identifier: nil) ⇒ CfnServiceNetworkVPCAssociationProps

Returns a new instance of CfnServiceNetworkVPCAssociationProps.

Parameters:

  • dns_options (AWSCDK::IResolvable, AWSCDK::VPCLattice::CfnServiceNetworkVPCAssociation::DNSOptionsProperty, nil) (defaults to: nil)

    The DNS options for the service network VPC association.

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

    Indicates if private DNS is enabled for the service network VPC association.

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

    The IDs of the security groups.

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

    The ID or ARN of the service network.

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

    The tags for the association.

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

    The ID of the VPC.



15
16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'vpc_lattice/cfn_service_network_vpc_association_props.rb', line 15

def initialize(dns_options: nil, private_dns_enabled: nil, security_group_ids: nil, service_network_identifier: nil, tags: nil, vpc_identifier: nil)
  @dns_options = dns_options.is_a?(Hash) ? ::AWSCDK::VPCLattice::CfnServiceNetworkVPCAssociation::DNSOptionsProperty.new(**dns_options.transform_keys(&:to_sym)) : dns_options
  Jsii::Type.check_type(@dns_options, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c192cGNsYXR0aWNlLkNmblNlcnZpY2VOZXR3b3JrVnBjQXNzb2NpYXRpb24uRG5zT3B0aW9uc1Byb3BlcnR5In1dfX0=")), "dnsOptions") unless @dns_options.nil?
  @private_dns_enabled = private_dns_enabled
  Jsii::Type.check_type(@private_dns_enabled, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "privateDnsEnabled") unless @private_dns_enabled.nil?
  @security_group_ids = security_group_ids
  Jsii::Type.check_type(@security_group_ids, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "securityGroupIds") unless @security_group_ids.nil?
  @service_network_identifier = service_network_identifier
  Jsii::Type.check_type(@service_network_identifier, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "serviceNetworkIdentifier") unless @service_network_identifier.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?
  @vpc_identifier = vpc_identifier
  Jsii::Type.check_type(@vpc_identifier, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "vpcIdentifier") unless @vpc_identifier.nil?
end

Instance Attribute Details

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

The DNS options for the service network VPC association.



34
35
36
# File 'vpc_lattice/cfn_service_network_vpc_association_props.rb', line 34

def dns_options
  @dns_options
end

#private_dns_enabledBoolean, ... (readonly)

Indicates if private DNS is enabled for the service network VPC association.



39
40
41
# File 'vpc_lattice/cfn_service_network_vpc_association_props.rb', line 39

def private_dns_enabled
  @private_dns_enabled
end

#security_group_idsArray<String>? (readonly)

The IDs of the security groups.

Security groups aren't added by default. You can add a security group to apply network level controls to control which resources in a VPC are allowed to access the service network and its services. For more information, see Control traffic to resources using security groups in the Amazon VPC User Guide .



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

def security_group_ids
  @security_group_ids
end

#service_network_identifierString? (readonly)

The ID or ARN of the service network.

You must use an ARN if the resources are in different accounts.



53
54
55
# File 'vpc_lattice/cfn_service_network_vpc_association_props.rb', line 53

def service_network_identifier
  @service_network_identifier
end

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

The tags for the association.



58
59
60
# File 'vpc_lattice/cfn_service_network_vpc_association_props.rb', line 58

def tags
  @tags
end

#vpc_identifierString? (readonly)

The ID of the VPC.



63
64
65
# File 'vpc_lattice/cfn_service_network_vpc_association_props.rb', line 63

def vpc_identifier
  @vpc_identifier
end

Class Method Details

.jsii_propertiesObject



65
66
67
68
69
70
71
72
73
74
# File 'vpc_lattice/cfn_service_network_vpc_association_props.rb', line 65

def self.jsii_properties
  {
    :dns_options => "dnsOptions",
    :private_dns_enabled => "privateDnsEnabled",
    :security_group_ids => "securityGroupIds",
    :service_network_identifier => "serviceNetworkIdentifier",
    :tags => "tags",
    :vpc_identifier => "vpcIdentifier",
  }
end

Instance Method Details

#to_jsiiObject



76
77
78
79
80
81
82
83
84
85
86
87
# File 'vpc_lattice/cfn_service_network_vpc_association_props.rb', line 76

def to_jsii
  result = {}
  result.merge!({
    "dnsOptions" => @dns_options,
    "privateDnsEnabled" => @private_dns_enabled,
    "securityGroupIds" => @security_group_ids,
    "serviceNetworkIdentifier" => @service_network_identifier,
    "tags" => @tags,
    "vpcIdentifier" => @vpc_identifier,
  })
  result.compact
end