Class: AWSCDK::Datasync::CfnLocationEFSProps

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
datasync/cfn_location_efs_props.rb

Overview

Properties for defining a CfnLocationEFS.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(ec2_config:, access_point_arn: nil, efs_filesystem_arn: nil, file_system_access_role_arn: nil, in_transit_encryption: nil, subdirectory: nil, tags: nil) ⇒ CfnLocationEFSProps

Returns a new instance of CfnLocationEFSProps.

Parameters:

  • ec2_config (AWSCDK::IResolvable, AWSCDK::Datasync::CfnLocationEFS::EC2ConfigProperty)

    Specifies the subnet and security groups DataSync uses to connect to one of your Amazon EFS file system's mount targets .

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

    Specifies the Amazon Resource Name (ARN) of the access point that DataSync uses to mount your Amazon EFS file system.

  • efs_filesystem_arn (String, AWSCDK::Interfaces::AWSEFS::IFileSystemRef, nil) (defaults to: nil)

    Specifies the ARN for your Amazon EFS file system.

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

    Specifies an AWS Identity and Access Management (IAM) role that allows DataSync to access your Amazon EFS file system.

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

    Specifies whether you want DataSync to use Transport Layer Security (TLS) 1.2 encryption when it transfers data to or from your Amazon EFS file system.

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

    Specifies a mount path for your Amazon EFS file system.

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

    Specifies the key-value pair that represents a tag that you want to add to the resource.



16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'datasync/cfn_location_efs_props.rb', line 16

def initialize(ec2_config:, access_point_arn: nil, efs_filesystem_arn: nil, file_system_access_role_arn: nil, in_transit_encryption: nil, subdirectory: nil, tags: nil)
  @ec2_config = ec2_config.is_a?(Hash) ? ::AWSCDK::Datasync::CfnLocationEFS::EC2ConfigProperty.new(**ec2_config.transform_keys(&:to_sym)) : ec2_config
  Jsii::Type.check_type(@ec2_config, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19kYXRhc3luYy5DZm5Mb2NhdGlvbkVGUy5FYzJDb25maWdQcm9wZXJ0eSJ9XX19")), "ec2Config")
  @access_point_arn = access_point_arn
  Jsii::Type.check_type(@access_point_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "accessPointArn") unless @access_point_arn.nil?
  @efs_filesystem_arn = efs_filesystem_arn
  Jsii::Type.check_type(@efs_filesystem_arn, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoic3RyaW5nIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5pbnRlcmZhY2VzLmF3c19lZnMuSUZpbGVTeXN0ZW1SZWYifV19fQ==")), "efsFilesystemArn") unless @efs_filesystem_arn.nil?
  @file_system_access_role_arn = file_system_access_role_arn
  Jsii::Type.check_type(@file_system_access_role_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "fileSystemAccessRoleArn") unless @file_system_access_role_arn.nil?
  @in_transit_encryption = in_transit_encryption
  Jsii::Type.check_type(@in_transit_encryption, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "inTransitEncryption") unless @in_transit_encryption.nil?
  @subdirectory = subdirectory
  Jsii::Type.check_type(@subdirectory, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "subdirectory") unless @subdirectory.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

#access_point_arnString? (readonly)

Specifies the Amazon Resource Name (ARN) of the access point that DataSync uses to mount your Amazon EFS file system.

For more information, see Accessing restricted file systems .



44
45
46
# File 'datasync/cfn_location_efs_props.rb', line 44

def access_point_arn
  @access_point_arn
end

#ec2_configAWSCDK::IResolvable, AWSCDK::Datasync::CfnLocationEFS::EC2ConfigProperty (readonly)

Specifies the subnet and security groups DataSync uses to connect to one of your Amazon EFS file system's mount targets .



37
38
39
# File 'datasync/cfn_location_efs_props.rb', line 37

def ec2_config
  @ec2_config
end

#efs_filesystem_arnString, ... (readonly)

Specifies the ARN for your Amazon EFS file system.



49
50
51
# File 'datasync/cfn_location_efs_props.rb', line 49

def efs_filesystem_arn
  @efs_filesystem_arn
end

#file_system_access_role_arnString? (readonly)

Specifies an AWS Identity and Access Management (IAM) role that allows DataSync to access your Amazon EFS file system.

For information on creating this role, see Creating a DataSync IAM role for file system access .



56
57
58
# File 'datasync/cfn_location_efs_props.rb', line 56

def file_system_access_role_arn
  @file_system_access_role_arn
end

#in_transit_encryptionString? (readonly)

Specifies whether you want DataSync to use Transport Layer Security (TLS) 1.2 encryption when it transfers data to or from your Amazon EFS file system.

If you specify an access point using AccessPointArn or an IAM role using FileSystemAccessRoleArn , you must set this parameter to TLS1_2 .



63
64
65
# File 'datasync/cfn_location_efs_props.rb', line 63

def in_transit_encryption
  @in_transit_encryption
end

#subdirectoryString? (readonly)

Specifies a mount path for your Amazon EFS file system.

This is where DataSync reads or writes data on your file system (depending on if this is a source or destination location).

By default, DataSync uses the root directory (or access point if you provide one by using AccessPointArn ). You can also include subdirectories using forward slashes (for example, /path/to/folder ).



72
73
74
# File 'datasync/cfn_location_efs_props.rb', line 72

def subdirectory
  @subdirectory
end

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

Specifies the key-value pair that represents a tag that you want to add to the resource.

The value can be an empty string. This value helps you manage, filter, and search for your resources. We recommend that you create a name tag for your location.



79
80
81
# File 'datasync/cfn_location_efs_props.rb', line 79

def tags
  @tags
end

Class Method Details

.jsii_propertiesObject



81
82
83
84
85
86
87
88
89
90
91
# File 'datasync/cfn_location_efs_props.rb', line 81

def self.jsii_properties
  {
    :ec2_config => "ec2Config",
    :access_point_arn => "accessPointArn",
    :efs_filesystem_arn => "efsFilesystemArn",
    :file_system_access_role_arn => "fileSystemAccessRoleArn",
    :in_transit_encryption => "inTransitEncryption",
    :subdirectory => "subdirectory",
    :tags => "tags",
  }
end

Instance Method Details

#to_jsiiObject



93
94
95
96
97
98
99
100
101
102
103
104
105
# File 'datasync/cfn_location_efs_props.rb', line 93

def to_jsii
  result = {}
  result.merge!({
    "ec2Config" => @ec2_config,
    "accessPointArn" => @access_point_arn,
    "efsFilesystemArn" => @efs_filesystem_arn,
    "fileSystemAccessRoleArn" => @file_system_access_role_arn,
    "inTransitEncryption" => @in_transit_encryption,
    "subdirectory" => @subdirectory,
    "tags" => @tags,
  })
  result.compact
end