Class: AWSCDK::FSX::CfnDataRepositoryAssociationProps

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
fsx/cfn_data_repository_association_props.rb

Overview

Properties for defining a CfnDataRepositoryAssociation.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(data_repository_path:, file_system_id:, file_system_path:, batch_import_meta_data_on_create: nil, imported_file_chunk_size: nil, s3: nil, tags: nil) ⇒ CfnDataRepositoryAssociationProps

Returns a new instance of CfnDataRepositoryAssociationProps.

Parameters:

  • data_repository_path (String)

    The path to the Amazon S3 data repository that will be linked to the file system.

  • file_system_id (String)

    The ID of the file system on which the data repository association is configured.

  • file_system_path (String)

    A path on the Amazon FSx for Lustre file system that points to a high-level directory (such as /ns1/ ) or subdirectory (such as /ns1/subdir/ ) that will be mapped 1-1 with DataRepositoryPath .

  • batch_import_meta_data_on_create (Boolean, AWSCDK::IResolvable, nil) (defaults to: nil)

    A boolean flag indicating whether an import data repository task to import metadata should run after the data repository association is created.

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

    For files imported from a data repository, this value determines the stripe count and maximum amount of data per file (in MiB) stored on a single physical disk.

  • s3 (AWSCDK::IResolvable, AWSCDK::FSX::CfnDataRepositoryAssociation::S3Property, nil) (defaults to: nil)

    The configuration for an Amazon S3 data repository linked to an Amazon FSx Lustre file system with a data repository association.

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

    A list of Tag values, with a maximum of 50 elements.



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

def initialize(data_repository_path:, file_system_id:, file_system_path:, batch_import_meta_data_on_create: nil, imported_file_chunk_size: nil, s3: nil, tags: nil)
  @data_repository_path = data_repository_path
  Jsii::Type.check_type(@data_repository_path, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "dataRepositoryPath")
  @file_system_id = file_system_id
  Jsii::Type.check_type(@file_system_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "fileSystemId")
  @file_system_path = file_system_path
  Jsii::Type.check_type(@file_system_path, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "fileSystemPath")
  @batch_import_meta_data_on_create = 
  Jsii::Type.check_type(@batch_import_meta_data_on_create, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "batchImportMetaDataOnCreate") unless @batch_import_meta_data_on_create.nil?
  @imported_file_chunk_size = imported_file_chunk_size
  Jsii::Type.check_type(@imported_file_chunk_size, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "importedFileChunkSize") unless @imported_file_chunk_size.nil?
  @s3 = s3.is_a?(Hash) ? ::AWSCDK::FSX::CfnDataRepositoryAssociation::S3Property.new(**s3.transform_keys(&:to_sym)) : s3
  Jsii::Type.check_type(@s3, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19mc3guQ2ZuRGF0YVJlcG9zaXRvcnlBc3NvY2lhdGlvbi5TM1Byb3BlcnR5In1dfX0=")), "s3") unless @s3.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

#batch_import_meta_data_on_createBoolean, ... (readonly)

A boolean flag indicating whether an import data repository task to import metadata should run after the data repository association is created.

The task runs if this flag is set to true .



62
63
64
# File 'fsx/cfn_data_repository_association_props.rb', line 62

def 
  @batch_import_meta_data_on_create
end

#data_repository_pathString (readonly)

The path to the Amazon S3 data repository that will be linked to the file system.

The path can be an S3 bucket or prefix in the format s3://myBucket/myPrefix/ . This path specifies where in the S3 data repository files will be imported from or exported to.



39
40
41
# File 'fsx/cfn_data_repository_association_props.rb', line 39

def data_repository_path
  @data_repository_path
end

#file_system_idString (readonly)

The ID of the file system on which the data repository association is configured.



44
45
46
# File 'fsx/cfn_data_repository_association_props.rb', line 44

def file_system_id
  @file_system_id
end

#file_system_pathString (readonly)

A path on the Amazon FSx for Lustre file system that points to a high-level directory (such as /ns1/ ) or subdirectory (such as /ns1/subdir/ ) that will be mapped 1-1 with DataRepositoryPath .

The leading forward slash in the name is required. Two data repository associations cannot have overlapping file system paths. For example, if a data repository is associated with file system path /ns1/ , then you cannot link another data repository with file system path /ns1/ns2 .

This path specifies where in your file system files will be exported from or imported to. This file system directory can be linked to only one Amazon S3 bucket, and no other S3 bucket can be linked to the directory.

If you specify only a forward slash ( / ) as the file system path, you can link only one data repository to the file system. You can only specify "/" as the file system path for the first data repository associated with a file system.



55
56
57
# File 'fsx/cfn_data_repository_association_props.rb', line 55

def file_system_path
  @file_system_path
end

#imported_file_chunk_sizeNumeric? (readonly)

For files imported from a data repository, this value determines the stripe count and maximum amount of data per file (in MiB) stored on a single physical disk.

The maximum number of disks that a single file can be striped across is limited by the total number of disks that make up the file system or cache.

The default chunk size is 1,024 MiB (1 GiB) and can go as high as 512,000 MiB (500 GiB). Amazon S3 objects have a maximum size of 5 TB.



71
72
73
# File 'fsx/cfn_data_repository_association_props.rb', line 71

def imported_file_chunk_size
  @imported_file_chunk_size
end

#s3AWSCDK::IResolvable, ... (readonly)

The configuration for an Amazon S3 data repository linked to an Amazon FSx Lustre file system with a data repository association.

The configuration defines which file events (new, changed, or deleted files or directories) are automatically imported from the linked data repository to the file system or automatically exported from the file system to the data repository.



78
79
80
# File 'fsx/cfn_data_repository_association_props.rb', line 78

def s3
  @s3
end

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

A list of Tag values, with a maximum of 50 elements.



83
84
85
# File 'fsx/cfn_data_repository_association_props.rb', line 83

def tags
  @tags
end

Class Method Details

.jsii_propertiesObject



85
86
87
88
89
90
91
92
93
94
95
# File 'fsx/cfn_data_repository_association_props.rb', line 85

def self.jsii_properties
  {
    :data_repository_path => "dataRepositoryPath",
    :file_system_id => "fileSystemId",
    :file_system_path => "fileSystemPath",
    :batch_import_meta_data_on_create => "batchImportMetaDataOnCreate",
    :imported_file_chunk_size => "importedFileChunkSize",
    :s3 => "s3",
    :tags => "tags",
  }
end

Instance Method Details

#to_jsiiObject



97
98
99
100
101
102
103
104
105
106
107
108
109
# File 'fsx/cfn_data_repository_association_props.rb', line 97

def to_jsii
  result = {}
  result.merge!({
    "dataRepositoryPath" => @data_repository_path,
    "fileSystemId" => @file_system_id,
    "fileSystemPath" => @file_system_path,
    "batchImportMetaDataOnCreate" => @batch_import_meta_data_on_create,
    "importedFileChunkSize" => @imported_file_chunk_size,
    "s3" => @s3,
    "tags" => @tags,
  })
  result.compact
end