Class: AWSCDK::EFS::CfnMountTargetProps

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
efs/cfn_mount_target_props.rb

Overview

Properties for defining a CfnMountTarget.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(file_system_id:, security_groups:, subnet_id:, ip_address: nil, ip_address_type: nil, ipv6_address: nil) ⇒ CfnMountTargetProps

Returns a new instance of CfnMountTargetProps.

Parameters:

  • file_system_id (String, AWSCDK::Interfaces::AWSEFS::IFileSystemRef)

    The ID of the file system for which to create the mount target.

  • security_groups (Array<String, AWSCDK::Interfaces::AWSEC2::ISecurityGroupRef>)

    VPC security group IDs, of the form sg-xxxxxxxx .

  • subnet_id (String, AWSCDK::Interfaces::AWSEC2::ISubnetRef)

    The ID of the subnet to add the mount target in.

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

    If the IpAddressType for the mount target is IPv4 ( IPV4_ONLY or DUAL_STACK ), then specify the IPv4 address to use.

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

    The IP address type for the mount target.

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

    If the IPAddressType for the mount target is IPv6 ( IPV6_ONLY or DUAL_STACK ), then specify the IPv6 address to use.



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

def initialize(file_system_id:, security_groups:, subnet_id:, ip_address: nil, ip_address_type: nil, ipv6_address: nil)
  @file_system_id = file_system_id
  Jsii::Type.check_type(@file_system_id, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoic3RyaW5nIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5pbnRlcmZhY2VzLmF3c19lZnMuSUZpbGVTeXN0ZW1SZWYifV19fQ==")), "fileSystemId")
  @security_groups = security_groups
  Jsii::Type.check_type(@security_groups, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InVuaW9uIjp7InR5cGVzIjpbeyJwcmltaXRpdmUiOiJzdHJpbmcifSx7ImZxbiI6ImF3cy1jZGstbGliLmludGVyZmFjZXMuYXdzX2VjMi5JU2VjdXJpdHlHcm91cFJlZiJ9XX19LCJraW5kIjoiYXJyYXkifX0=")), "securityGroups")
  @subnet_id = subnet_id
  Jsii::Type.check_type(@subnet_id, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoic3RyaW5nIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5pbnRlcmZhY2VzLmF3c19lYzIuSVN1Ym5ldFJlZiJ9XX19")), "subnetId")
  @ip_address = ip_address
  Jsii::Type.check_type(@ip_address, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "ipAddress") unless @ip_address.nil?
  @ip_address_type = ip_address_type
  Jsii::Type.check_type(@ip_address_type, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "ipAddressType") unless @ip_address_type.nil?
  @ipv6_address = ipv6_address
  Jsii::Type.check_type(@ipv6_address, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "ipv6Address") unless @ipv6_address.nil?
end

Instance Attribute Details

#file_system_idString, AWSCDK::Interfaces::AWSEFS::IFileSystemRef (readonly)

The ID of the file system for which to create the mount target.



34
35
36
# File 'efs/cfn_mount_target_props.rb', line 34

def file_system_id
  @file_system_id
end

#ip_addressString? (readonly)

If the IpAddressType for the mount target is IPv4 ( IPV4_ONLY or DUAL_STACK ), then specify the IPv4 address to use.

If you do not specify an IpAddress , then Amazon EFS selects an unused IP address from the subnet specified for SubnetId .



55
56
57
# File 'efs/cfn_mount_target_props.rb', line 55

def ip_address
  @ip_address
end

#ip_address_typeString? (readonly)

The IP address type for the mount target.

The possible values are IPV4_ONLY (only IPv4 addresses), IPV6_ONLY (only IPv6 addresses), and DUAL_STACK (dual-stack, both IPv4 and IPv6 addresses). If you don’t specify an IpAddressType , then IPV4_ONLY is used.

The IPAddressType must match the IP type of the subnet. Additionally, the IPAddressType parameter overrides the value set as the default IP address for the subnet in the VPC. For example, if the IPAddressType is IPV4_ONLY and AssignIpv6AddressOnCreation is true , then IPv4 is used for the mount target. For more information, see Modify the IP addressing attributes of your subnet .



64
65
66
# File 'efs/cfn_mount_target_props.rb', line 64

def ip_address_type
  @ip_address_type
end

#ipv6_addressString? (readonly)

If the IPAddressType for the mount target is IPv6 ( IPV6_ONLY or DUAL_STACK ), then specify the IPv6 address to use.

If you do not specify an Ipv6Address , then Amazon EFS selects an unused IP address from the subnet specified for SubnetId .



71
72
73
# File 'efs/cfn_mount_target_props.rb', line 71

def ipv6_address
  @ipv6_address
end

#security_groupsArray<String, AWSCDK::Interfaces::AWSEC2::ISecurityGroupRef> (readonly)

VPC security group IDs, of the form sg-xxxxxxxx .

These must be for the same VPC as the subnet specified. The maximum number of security groups depends on account quota. For more information, see Amazon VPC Quotas in the Amazon VPC User Guide (see the Security Groups table). If you don't specify a security group, then Amazon EFS uses the default security group for the subnet's VPC.



41
42
43
# File 'efs/cfn_mount_target_props.rb', line 41

def security_groups
  @security_groups
end

#subnet_idString, AWSCDK::Interfaces::AWSEC2::ISubnetRef (readonly)

The ID of the subnet to add the mount target in.

For One Zone file systems, use the subnet that is associated with the file system's Availability Zone. The subnet type must be the same type as the IpAddressType .



48
49
50
# File 'efs/cfn_mount_target_props.rb', line 48

def subnet_id
  @subnet_id
end

Class Method Details

.jsii_propertiesObject



73
74
75
76
77
78
79
80
81
82
# File 'efs/cfn_mount_target_props.rb', line 73

def self.jsii_properties
  {
    :file_system_id => "fileSystemId",
    :security_groups => "securityGroups",
    :subnet_id => "subnetId",
    :ip_address => "ipAddress",
    :ip_address_type => "ipAddressType",
    :ipv6_address => "ipv6Address",
  }
end

Instance Method Details

#to_jsiiObject



84
85
86
87
88
89
90
91
92
93
94
95
# File 'efs/cfn_mount_target_props.rb', line 84

def to_jsii
  result = {}
  result.merge!({
    "fileSystemId" => @file_system_id,
    "securityGroups" => @security_groups,
    "subnetId" => @subnet_id,
    "ipAddress" => @ip_address,
    "ipAddressType" => @ip_address_type,
    "ipv6Address" => @ipv6_address,
  })
  result.compact
end