Class: AWSCDK::ECS::CfnTaskDefinition::S3FilesVolumeConfigurationProperty

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

Overview

This parameter is specified when you're using an Amazon S3 Files file system for task storage.

For more information, see Amazon S3 Files volumes in the Amazon Elastic Container Service Developer Guide. Your task definition must include a Task IAM Role. See IAM role for attaching your file system to compute resources for required permissions.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(file_system_arn:, access_point_arn: nil, root_directory: nil, transit_encryption_port: nil) ⇒ S3FilesVolumeConfigurationProperty

Returns a new instance of S3FilesVolumeConfigurationProperty.

Parameters:

  • file_system_arn (String)

    The full ARN of the S3 Files file system to mount.

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

    The full ARN of the S3 Files access point to use.

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

    The directory within the Amazon S3 Files file system to mount as the root directory.

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

    The port to use for sending encrypted data between the ECS host and the S3 Files file system.



3078
3079
3080
3081
3082
3083
3084
3085
3086
3087
# File 'ecs/cfn_task_definition.rb', line 3078

def initialize(file_system_arn:, access_point_arn: nil, root_directory: nil, transit_encryption_port: nil)
  @file_system_arn = file_system_arn
  Jsii::Type.check_type(@file_system_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "fileSystemArn")
  @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?
  @root_directory = root_directory
  Jsii::Type.check_type(@root_directory, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "rootDirectory") unless @root_directory.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

#access_point_arnString? (readonly)

The full ARN of the S3 Files access point to use.

If an access point is specified, the root directory value specified in the S3FilesVolumeConfiguration must either be omitted or set to / which will enforce the path set on the S3 Files access point. For more information, see Creating S3 Files access points.



3100
3101
3102
# File 'ecs/cfn_task_definition.rb', line 3100

def access_point_arn
  @access_point_arn
end

#file_system_arnString (readonly)

The full ARN of the S3 Files file system to mount.



3093
3094
3095
# File 'ecs/cfn_task_definition.rb', line 3093

def file_system_arn
  @file_system_arn
end

#root_directoryString? (readonly)

The directory within the Amazon S3 Files file system to mount as the root directory.

If this parameter is omitted, the root of the Amazon S3 Files file system will be used. Specifying / will have the same effect as omitting this parameter. If a S3 Files access point is specified in the access_point_arn, the root directory parameter must either be omitted or set to / which will enforce the path set on the S3 Files access point.



3108
3109
3110
# File 'ecs/cfn_task_definition.rb', line 3108

def root_directory
  @root_directory
end

#transit_encryption_portNumeric? (readonly)

The port to use for sending encrypted data between the ECS host and the S3 Files file system.

If you do not specify a transit encryption port, it will use the port selection strategy that the Amazon S3 Files mount helper uses. For more information, see S3 Files mount helper.



3115
3116
3117
# File 'ecs/cfn_task_definition.rb', line 3115

def transit_encryption_port
  @transit_encryption_port
end

Class Method Details

.jsii_propertiesObject



3117
3118
3119
3120
3121
3122
3123
3124
# File 'ecs/cfn_task_definition.rb', line 3117

def self.jsii_properties
  {
    :file_system_arn => "fileSystemArn",
    :access_point_arn => "accessPointArn",
    :root_directory => "rootDirectory",
    :transit_encryption_port => "transitEncryptionPort",
  }
end

Instance Method Details

#to_jsiiObject



3126
3127
3128
3129
3130
3131
3132
3133
3134
3135
# File 'ecs/cfn_task_definition.rb', line 3126

def to_jsii
  result = {}
  result.merge!({
    "fileSystemArn" => @file_system_arn,
    "accessPointArn" => @access_point_arn,
    "rootDirectory" => @root_directory,
    "transitEncryptionPort" => @transit_encryption_port,
  })
  result.compact
end