Class: AWSCDK::APIGateway::CfnVPCLinkProps

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
api_gateway/cfn_vpc_link_props.rb

Overview

Properties for defining a CfnVpcLink.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name:, target_arns:, description: nil, tags: nil) ⇒ CfnVPCLinkProps

Returns a new instance of CfnVPCLinkProps.

Parameters:

  • name (String)

    The name used to label and identify the VPC link.

  • target_arns (Array<String, AWSCDK::Interfaces::AWSElasticloadbalancingv2::ILoadBalancerRef>)

    The ARN of the network load balancer of the VPC targeted by the VPC link.

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

    The description of the VPC link.

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

    An array of arbitrary tags (key-value pairs) to associate with the VPC link.



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

def initialize(name:, target_arns:, description: nil, tags: nil)
  @name = name
  Jsii::Type.check_type(@name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "name")
  @target_arns = target_arns
  Jsii::Type.check_type(@target_arns, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InVuaW9uIjp7InR5cGVzIjpbeyJwcmltaXRpdmUiOiJzdHJpbmcifSx7ImZxbiI6ImF3cy1jZGstbGliLmludGVyZmFjZXMuYXdzX2VsYXN0aWNsb2FkYmFsYW5jaW5ndjIuSUxvYWRCYWxhbmNlclJlZiJ9XX19LCJraW5kIjoiYXJyYXkifX0=")), "targetArns")
  @description = description
  Jsii::Type.check_type(@description, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "description") unless @description.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

#descriptionString? (readonly)

The description of the VPC link.



40
41
42
# File 'api_gateway/cfn_vpc_link_props.rb', line 40

def description
  @description
end

#nameString (readonly)

The name used to label and identify the VPC link.



28
29
30
# File 'api_gateway/cfn_vpc_link_props.rb', line 28

def name
  @name
end

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

An array of arbitrary tags (key-value pairs) to associate with the VPC link.



45
46
47
# File 'api_gateway/cfn_vpc_link_props.rb', line 45

def tags
  @tags
end

#target_arnsArray<String, AWSCDK::Interfaces::AWSElasticloadbalancingv2::ILoadBalancerRef> (readonly)

The ARN of the network load balancer of the VPC targeted by the VPC link.

The network load balancer must be owned by the same AWS account of the API owner.



35
36
37
# File 'api_gateway/cfn_vpc_link_props.rb', line 35

def target_arns
  @target_arns
end

Class Method Details

.jsii_propertiesObject



47
48
49
50
51
52
53
54
# File 'api_gateway/cfn_vpc_link_props.rb', line 47

def self.jsii_properties
  {
    :name => "name",
    :target_arns => "targetArns",
    :description => "description",
    :tags => "tags",
  }
end

Instance Method Details

#to_jsiiObject



56
57
58
59
60
61
62
63
64
65
# File 'api_gateway/cfn_vpc_link_props.rb', line 56

def to_jsii
  result = {}
  result.merge!({
    "name" => @name,
    "targetArns" => @target_arns,
    "description" => @description,
    "tags" => @tags,
  })
  result.compact
end