Class: AWSCDK::ECS::EFSVolumeConfiguration

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
ecs/efs_volume_configuration.rb

Overview

The configuration for an Elastic FileSystem volume.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(file_system_id:, authorization_config: nil, root_directory: nil, transit_encryption: nil, transit_encryption_port: nil) ⇒ EFSVolumeConfiguration

Returns a new instance of EFSVolumeConfiguration.

Parameters:

  • file_system_id (String)

    The Amazon EFS file system ID to use.

  • authorization_config (AWSCDK::ECS::AuthorizationConfig, nil) (defaults to: nil)

    The authorization configuration details for the Amazon EFS file system.

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

    The directory within the Amazon EFS file system to mount as the root directory inside the host.

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

    Whether or not to enable encryption for Amazon EFS data in transit between the Amazon ECS host and the Amazon EFS server.

  • transit_encryption_port (Numeric, nil) (defaults to: nil)

    The port to use when sending encrypted data between the Amazon ECS host and the Amazon EFS server.



12
13
14
15
16
17
18
19
20
21
22
23
# File 'ecs/efs_volume_configuration.rb', line 12

def initialize(file_system_id:, authorization_config: nil, root_directory: nil, transit_encryption: nil, transit_encryption_port: nil)
  @file_system_id = file_system_id
  Jsii::Type.check_type(@file_system_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "fileSystemId")
  @authorization_config = authorization_config.is_a?(Hash) ? ::AWSCDK::ECS::AuthorizationConfig.new(**authorization_config.transform_keys(&:to_sym)) : authorization_config
  Jsii::Type.check_type(@authorization_config, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfZWNzLkF1dGhvcml6YXRpb25Db25maWcifQ==")), "authorizationConfig") unless @authorization_config.nil?
  @root_directory = root_directory
  Jsii::Type.check_type(@root_directory, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "rootDirectory") unless @root_directory.nil?
  @transit_encryption = transit_encryption
  Jsii::Type.check_type(@transit_encryption, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "transitEncryption") unless @transit_encryption.nil?
  @transit_encryption_port = transit_encryption_port
  Jsii::Type.check_type(@transit_encryption_port, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "transitEncryptionPort") unless @transit_encryption_port.nil?
end

Instance Attribute Details

#authorization_configAWSCDK::ECS::AuthorizationConfig? (readonly)

Note:

Default: No configuration.

The authorization configuration details for the Amazon EFS file system.



33
34
35
# File 'ecs/efs_volume_configuration.rb', line 33

def authorization_config
  @authorization_config
end

#file_system_idString (readonly)

The Amazon EFS file system ID to use.

Returns:

  • (String)


28
29
30
# File 'ecs/efs_volume_configuration.rb', line 28

def file_system_id
  @file_system_id
end

#root_directoryString? (readonly)

Note:

Default: The root of the Amazon EFS volume

The directory within the Amazon EFS file system to mount as the root directory inside the host.

Specifying / will have the same effect as omitting this parameter.

Returns:

  • (String, nil)


40
41
42
# File 'ecs/efs_volume_configuration.rb', line 40

def root_directory
  @root_directory
end

#transit_encryptionString? (readonly)

Note:

Default: DISABLED

Whether or not to enable encryption for Amazon EFS data in transit between the Amazon ECS host and the Amazon EFS server.

Transit encryption must be enabled if Amazon EFS IAM authorization is used.

Valid values: ENABLED | DISABLED

Returns:

  • (String, nil)


49
50
51
# File 'ecs/efs_volume_configuration.rb', line 49

def transit_encryption
  @transit_encryption
end

#transit_encryption_portNumeric? (readonly)

Note:

Default: Port selection strategy that the Amazon EFS mount helper uses.

The port to use when sending encrypted data between the Amazon ECS host and the Amazon EFS server.

EFS mount helper uses.

Returns:

  • (Numeric, nil)


56
57
58
# File 'ecs/efs_volume_configuration.rb', line 56

def transit_encryption_port
  @transit_encryption_port
end

Class Method Details

.jsii_propertiesObject



58
59
60
61
62
63
64
65
66
# File 'ecs/efs_volume_configuration.rb', line 58

def self.jsii_properties
  {
    :file_system_id => "fileSystemId",
    :authorization_config => "authorizationConfig",
    :root_directory => "rootDirectory",
    :transit_encryption => "transitEncryption",
    :transit_encryption_port => "transitEncryptionPort",
  }
end

Instance Method Details

#to_jsiiObject



68
69
70
71
72
73
74
75
76
77
78
# File 'ecs/efs_volume_configuration.rb', line 68

def to_jsii
  result = {}
  result.merge!({
    "fileSystemId" => @file_system_id,
    "authorizationConfig" => @authorization_config,
    "rootDirectory" => @root_directory,
    "transitEncryption" => @transit_encryption,
    "transitEncryptionPort" => @transit_encryption_port,
  })
  result.compact
end