Class: AWSCDK::EC2::VPCEndpointServiceProps

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
ec2/vpc_endpoint_service_props.rb

Overview

Construction properties for a VpcEndpointService.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(vpc_endpoint_service_load_balancers:, acceptance_required: nil, allowed_principals: nil, allowed_regions: nil, contributor_insights: nil, supported_ip_address_types: nil) ⇒ VPCEndpointServiceProps

Returns a new instance of VPCEndpointServiceProps.

Parameters:

  • vpc_endpoint_service_load_balancers (Array<AWSCDK::EC2::IVPCEndpointServiceLoadBalancer>)

    One or more load balancers to host the VPC Endpoint Service.

  • acceptance_required (Boolean, nil) (defaults to: nil)

    Whether requests from service consumers to connect to the service through an endpoint must be accepted.

  • allowed_principals (Array<AWSCDK::IAM::ARNPrincipal>, nil) (defaults to: nil)

    IAM users, IAM roles, or AWS accounts to allow inbound connections from.

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

    The Regions from which service consumers can access the service.

  • contributor_insights (Boolean, nil) (defaults to: nil)

    Indicates whether to enable the built-in Contributor Insights rules provided by AWS PrivateLink.

  • supported_ip_address_types (Array<AWSCDK::EC2::IPAddressType>, nil) (defaults to: nil)

    Specify which IP address types are supported for VPC endpoint service.



13
14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'ec2/vpc_endpoint_service_props.rb', line 13

def initialize(vpc_endpoint_service_load_balancers:, acceptance_required: nil, allowed_principals: nil, allowed_regions: nil, contributor_insights: nil, supported_ip_address_types: nil)
  @vpc_endpoint_service_load_balancers = vpc_endpoint_service_load_balancers
  Jsii::Type.check_type(@vpc_endpoint_service_load_balancers, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7ImZxbiI6ImF3cy1jZGstbGliLmF3c19lYzIuSVZwY0VuZHBvaW50U2VydmljZUxvYWRCYWxhbmNlciJ9LCJraW5kIjoiYXJyYXkifX0=")), "vpcEndpointServiceLoadBalancers")
  @acceptance_required = acceptance_required
  Jsii::Type.check_type(@acceptance_required, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJib29sZWFuIn0=")), "acceptanceRequired") unless @acceptance_required.nil?
  @allowed_principals = allowed_principals
  Jsii::Type.check_type(@allowed_principals, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7ImZxbiI6ImF3cy1jZGstbGliLmF3c19pYW0uQXJuUHJpbmNpcGFsIn0sImtpbmQiOiJhcnJheSJ9fQ==")), "allowedPrincipals") unless @allowed_principals.nil?
  @allowed_regions = allowed_regions
  Jsii::Type.check_type(@allowed_regions, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "allowedRegions") unless @allowed_regions.nil?
  @contributor_insights = contributor_insights
  Jsii::Type.check_type(@contributor_insights, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJib29sZWFuIn0=")), "contributorInsights") unless @contributor_insights.nil?
  @supported_ip_address_types = supported_ip_address_types
  Jsii::Type.check_type(@supported_ip_address_types, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7ImZxbiI6ImF3cy1jZGstbGliLmF3c19lYzIuSXBBZGRyZXNzVHlwZSJ9LCJraW5kIjoiYXJyYXkifX0=")), "supportedIpAddressTypes") unless @supported_ip_address_types.nil?
end

Instance Attribute Details

#acceptance_requiredBoolean? (readonly)

Note:

Default: true

Whether requests from service consumers to connect to the service through an endpoint must be accepted.

Returns:

  • (Boolean, nil)


36
37
38
# File 'ec2/vpc_endpoint_service_props.rb', line 36

def acceptance_required
  @acceptance_required
end

#allowed_principalsArray<AWSCDK::IAM::ARNPrincipal>? (readonly)

Note:

Default: - no principals

IAM users, IAM roles, or AWS accounts to allow inbound connections from.

These principals can connect to your service using VPC endpoints. Takes a list of one or more ArnPrincipal.

Returns:



44
45
46
# File 'ec2/vpc_endpoint_service_props.rb', line 44

def allowed_principals
  @allowed_principals
end

#allowed_regionsArray<String>? (readonly)

Note:

Default: - No Region restrictions

The Regions from which service consumers can access the service.

Returns:

  • (Array<String>, nil)


49
50
51
# File 'ec2/vpc_endpoint_service_props.rb', line 49

def allowed_regions
  @allowed_regions
end

#contributor_insightsBoolean? (readonly)

Note:

Default: false

Indicates whether to enable the built-in Contributor Insights rules provided by AWS PrivateLink.

Returns:

  • (Boolean, nil)


54
55
56
# File 'ec2/vpc_endpoint_service_props.rb', line 54

def contributor_insights
  @contributor_insights
end

#supported_ip_address_typesArray<AWSCDK::EC2::IPAddressType>? (readonly)

Note:

Default: - No specific IP address types configured

Specify which IP address types are supported for VPC endpoint service.

Returns:



59
60
61
# File 'ec2/vpc_endpoint_service_props.rb', line 59

def supported_ip_address_types
  @supported_ip_address_types
end

#vpc_endpoint_service_load_balancersArray<AWSCDK::EC2::IVPCEndpointServiceLoadBalancer> (readonly)

One or more load balancers to host the VPC Endpoint Service.



31
32
33
# File 'ec2/vpc_endpoint_service_props.rb', line 31

def vpc_endpoint_service_load_balancers
  @vpc_endpoint_service_load_balancers
end

Class Method Details

.jsii_propertiesObject



61
62
63
64
65
66
67
68
69
70
# File 'ec2/vpc_endpoint_service_props.rb', line 61

def self.jsii_properties
  {
    :vpc_endpoint_service_load_balancers => "vpcEndpointServiceLoadBalancers",
    :acceptance_required => "acceptanceRequired",
    :allowed_principals => "allowedPrincipals",
    :allowed_regions => "allowedRegions",
    :contributor_insights => "contributorInsights",
    :supported_ip_address_types => "supportedIpAddressTypes",
  }
end

Instance Method Details

#to_jsiiObject



72
73
74
75
76
77
78
79
80
81
82
83
# File 'ec2/vpc_endpoint_service_props.rb', line 72

def to_jsii
  result = {}
  result.merge!({
    "vpcEndpointServiceLoadBalancers" => @vpc_endpoint_service_load_balancers,
    "acceptanceRequired" => @acceptance_required,
    "allowedPrincipals" => @allowed_principals,
    "allowedRegions" => @allowed_regions,
    "contributorInsights" => @contributor_insights,
    "supportedIpAddressTypes" => @supported_ip_address_types,
  })
  result.compact
end