Class: AWSCDK::Transfer::CfnServer::EndpointDetailsProperty

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
transfer/cfn_server.rb

Overview

The virtual private cloud (VPC) endpoint settings that are configured for your server.

When you host your endpoint within your VPC, you can make your endpoint accessible only to resources within your VPC, or you can attach Elastic IP addresses and make your endpoint accessible to clients over the internet. Your VPC's default security groups are automatically assigned to your endpoint.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(address_allocation_ids: nil, security_group_ids: nil, subnet_ids: nil, vpc_endpoint_id: nil, vpc_id: nil) ⇒ EndpointDetailsProperty

Returns a new instance of EndpointDetailsProperty.

Parameters:

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

    A list of address allocation IDs that are required to attach an Elastic IP address to your server's endpoint.

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

    A list of security groups IDs that are available to attach to your server's endpoint.

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

    A list of subnet IDs that are required to host your server endpoint in your VPC.

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

    The ID of the VPC endpoint.

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

    The VPC ID of the virtual private cloud in which the server's endpoint will be hosted.



774
775
776
777
778
779
780
781
782
783
784
785
# File 'transfer/cfn_server.rb', line 774

def initialize(address_allocation_ids: nil, security_group_ids: nil, subnet_ids: nil, vpc_endpoint_id: nil, vpc_id: nil)
  @address_allocation_ids = address_allocation_ids
  Jsii::Type.check_type(@address_allocation_ids, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "addressAllocationIds") unless @address_allocation_ids.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?
  @subnet_ids = subnet_ids
  Jsii::Type.check_type(@subnet_ids, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "subnetIds") unless @subnet_ids.nil?
  @vpc_endpoint_id = vpc_endpoint_id
  Jsii::Type.check_type(@vpc_endpoint_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "vpcEndpointId") unless @vpc_endpoint_id.nil?
  @vpc_id = vpc_id
  Jsii::Type.check_type(@vpc_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "vpcId") unless @vpc_id.nil?
end

Instance Attribute Details

#address_allocation_idsArray<String>? (readonly)

A list of address allocation IDs that are required to attach an Elastic IP address to your server's endpoint.

An address allocation ID corresponds to the allocation ID of an Elastic IP address. This value can be retrieved from the allocation_id field from the Amazon EC2 Address data type. One way to retrieve this value is by calling the EC2 DescribeAddresses API.

This parameter is optional. Set this parameter if you want to make your VPC endpoint public-facing. For details, see Create an internet-facing endpoint for your server .

This property can only be set as follows:

  • EndpointType must be set to VPC
  • The Transfer Family server must be offline.
  • You cannot set this parameter for Transfer Family servers that use the FTP protocol.
  • The server must already have SubnetIds populated ( SubnetIds and AddressAllocationIds cannot be updated simultaneously).
  • AddressAllocationIds can't contain duplicates, and must be equal in length to SubnetIds . For example, if you have three subnet IDs, you must also specify three address allocation IDs.
  • Call the UpdateServer API to set or change this parameter.
  • You can't set address allocation IDs for servers that have an IpAddressType set to DUALSTACK You can only set this property if IpAddressType is set to IPV4 .


805
806
807
# File 'transfer/cfn_server.rb', line 805

def address_allocation_ids
  @address_allocation_ids
end

#security_group_idsArray<String>? (readonly)

A list of security groups IDs that are available to attach to your server's endpoint.

While SecurityGroupIds appears in the response syntax for consistency with CreateServer and UpdateServer operations, this field is not populated in DescribeServer responses. Security groups are managed at the VPC endpoint level and can be modified outside of the Transfer Family service. To retrieve current security group information, use the EC2 DescribeVpcEndpoints API with the VpcEndpointId returned in the response.

This property can only be set when EndpointType is set to VPC .

You can edit the SecurityGroupIds property in the UpdateServer API only if you are changing the EndpointType from PUBLIC or VPC_ENDPOINT to VPC . To change security groups associated with your server's VPC endpoint after creation, use the Amazon EC2 ModifyVpcEndpoint API.



816
817
818
# File 'transfer/cfn_server.rb', line 816

def security_group_ids
  @security_group_ids
end

#subnet_idsArray<String>? (readonly)

A list of subnet IDs that are required to host your server endpoint in your VPC.

This property can only be set when EndpointType is set to VPC .



823
824
825
# File 'transfer/cfn_server.rb', line 823

def subnet_ids
  @subnet_ids
end

#vpc_endpoint_idString? (readonly)

The ID of the VPC endpoint.

This property can only be set when EndpointType is set to VPC_ENDPOINT .



830
831
832
# File 'transfer/cfn_server.rb', line 830

def vpc_endpoint_id
  @vpc_endpoint_id
end

#vpc_idString? (readonly)

The VPC ID of the virtual private cloud in which the server's endpoint will be hosted.

This property can only be set when EndpointType is set to VPC .



837
838
839
# File 'transfer/cfn_server.rb', line 837

def vpc_id
  @vpc_id
end

Class Method Details

.jsii_propertiesObject



839
840
841
842
843
844
845
846
847
# File 'transfer/cfn_server.rb', line 839

def self.jsii_properties
  {
    :address_allocation_ids => "addressAllocationIds",
    :security_group_ids => "securityGroupIds",
    :subnet_ids => "subnetIds",
    :vpc_endpoint_id => "vpcEndpointId",
    :vpc_id => "vpcId",
  }
end

Instance Method Details

#to_jsiiObject



849
850
851
852
853
854
855
856
857
858
859
# File 'transfer/cfn_server.rb', line 849

def to_jsii
  result = {}
  result.merge!({
    "addressAllocationIds" => @address_allocation_ids,
    "securityGroupIds" => @security_group_ids,
    "subnetIds" => @subnet_ids,
    "vpcEndpointId" => @vpc_endpoint_id,
    "vpcId" => @vpc_id,
  })
  result.compact
end