/* * Copyright 2018-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with * the License. A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions * and limitations under the License. */ package com.amazonaws.services.fsx.model; import java.io.Serializable; import javax.annotation.Generated; import com.amazonaws.AmazonWebServiceRequest; /** * * @see AWS API Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class CreateDataRepositoryAssociationRequest extends com.amazonaws.AmazonWebServiceRequest implements Serializable, Cloneable { private String fileSystemId; /** *
* A path on the 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.
*
* 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.
*
* Set to true
to run an import data repository task to import metadata from the data repository to the
* file system after the data repository association is created. Default is false
.
*
* 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. *
** 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. *
*/ private Integer importedFileChunkSize; /** ** 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. *
*/ private S3DataRepositoryConfiguration s3; private String clientRequestToken; private java.util.List
* A path on the 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.
*
/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.
*
* A path on the 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.
*
/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.
*
* A path on the 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.
*
/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.
*
* 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.
*
s3://myBucket/myPrefix/
. This path specifies where in the S3
* data repository files will be imported from or exported to.
*/
public void setDataRepositoryPath(String dataRepositoryPath) {
this.dataRepositoryPath = dataRepositoryPath;
}
/**
*
* 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.
*
s3://myBucket/myPrefix/
. This path specifies where in the S3
* data repository files will be imported from or exported to.
*/
public String getDataRepositoryPath() {
return this.dataRepositoryPath;
}
/**
*
* 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.
*
s3://myBucket/myPrefix/
. This path specifies where in the S3
* data repository files will be imported from or exported to.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateDataRepositoryAssociationRequest withDataRepositoryPath(String dataRepositoryPath) {
setDataRepositoryPath(dataRepositoryPath);
return this;
}
/**
*
* Set to true
to run an import data repository task to import metadata from the data repository to the
* file system after the data repository association is created. Default is false
.
*
true
to run an import data repository task to import metadata from the data repository
* to the file system after the data repository association is created. Default is false
.
*/
public void setBatchImportMetaDataOnCreate(Boolean batchImportMetaDataOnCreate) {
this.batchImportMetaDataOnCreate = batchImportMetaDataOnCreate;
}
/**
*
* Set to true
to run an import data repository task to import metadata from the data repository to the
* file system after the data repository association is created. Default is false
.
*
true
to run an import data repository task to import metadata from the data
* repository to the file system after the data repository association is created. Default is
* false
.
*/
public Boolean getBatchImportMetaDataOnCreate() {
return this.batchImportMetaDataOnCreate;
}
/**
*
* Set to true
to run an import data repository task to import metadata from the data repository to the
* file system after the data repository association is created. Default is false
.
*
true
to run an import data repository task to import metadata from the data repository
* to the file system after the data repository association is created. Default is false
.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateDataRepositoryAssociationRequest withBatchImportMetaDataOnCreate(Boolean batchImportMetaDataOnCreate) {
setBatchImportMetaDataOnCreate(batchImportMetaDataOnCreate);
return this;
}
/**
*
* Set to true
to run an import data repository task to import metadata from the data repository to the
* file system after the data repository association is created. Default is false
.
*
true
to run an import data repository task to import metadata from the data
* repository to the file system after the data repository association is created. Default is
* false
.
*/
public Boolean isBatchImportMetaDataOnCreate() {
return this.batchImportMetaDataOnCreate;
}
/**
* * 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. *
** 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. *
* * @param importedFileChunkSize * 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. ** 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. */ public void setImportedFileChunkSize(Integer importedFileChunkSize) { this.importedFileChunkSize = importedFileChunkSize; } /** *
* 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. *
** 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. *
* * @return 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. ** 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. */ public Integer getImportedFileChunkSize() { return this.importedFileChunkSize; } /** *
* 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. *
** 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. *
* * @param importedFileChunkSize * 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. ** 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. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateDataRepositoryAssociationRequest withImportedFileChunkSize(Integer importedFileChunkSize) { setImportedFileChunkSize(importedFileChunkSize); return this; } /** *
* 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. *
* * @param s3 * 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. */ public void setS3(S3DataRepositoryConfiguration s3) { this.s3 = s3; } /** ** 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. *
* * @return 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. */ public S3DataRepositoryConfiguration getS3() { return this.s3; } /** ** 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. *
* * @param s3 * 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. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateDataRepositoryAssociationRequest withS3(S3DataRepositoryConfiguration s3) { setS3(s3); return this; } /** * @param clientRequestToken */ public void setClientRequestToken(String clientRequestToken) { this.clientRequestToken = clientRequestToken; } /** * @return */ public String getClientRequestToken() { return this.clientRequestToken; } /** * @param clientRequestToken * @return Returns a reference to this object so that method calls can be chained together. */ public CreateDataRepositoryAssociationRequest withClientRequestToken(String clientRequestToken) { setClientRequestToken(clientRequestToken); return this; } /** * @return */ public java.util.List* NOTE: This method appends the values to the existing list (if any). Use * {@link #setTags(java.util.Collection)} or {@link #withTags(java.util.Collection)} if you want to override the * existing values. *
* * @param tags * @return Returns a reference to this object so that method calls can be chained together. */ public CreateDataRepositoryAssociationRequest withTags(Tag... tags) { if (this.tags == null) { setTags(new java.util.ArrayList