Class CfnLocationObjectStorageProps.Builder

java.lang.Object
software.amazon.awscdk.services.datasync.CfnLocationObjectStorageProps.Builder
All Implemented Interfaces:
software.amazon.jsii.Builder<CfnLocationObjectStorageProps>
Enclosing interface:
CfnLocationObjectStorageProps

@Stability(Stable) public static final class CfnLocationObjectStorageProps.Builder extends Object implements software.amazon.jsii.Builder<CfnLocationObjectStorageProps>
  • Constructor Details

    • Builder

      public Builder()
  • Method Details

    • accessKey

      @Stability(Stable) public CfnLocationObjectStorageProps.Builder accessKey(String accessKey)
      Parameters:
      accessKey - Specifies the access key (for example, a user name) if credentials are required to authenticate with the object storage server.
      Returns:
      this
    • agentArns

      @Stability(Stable) public CfnLocationObjectStorageProps.Builder agentArns(List<String> agentArns)
      Parameters:
      agentArns - (Optional) Specifies the Amazon Resource Names (ARNs) of the DataSync agents that can connect with your object storage system. If you are setting up an agentless cross-cloud transfer, you do not need to specify a value for this parameter.

      Make sure you configure this parameter correctly when you first create your storage location. You cannot add or remove agents from a storage location after you create it.

      Returns:
      this
    • bucketName

      @Stability(Stable) public CfnLocationObjectStorageProps.Builder bucketName(String bucketName)
      Parameters:
      bucketName - Specifies the name of the object storage bucket involved in the transfer.
      Returns:
      this
    • cmkSecretConfig

      @Stability(Stable) public CfnLocationObjectStorageProps.Builder cmkSecretConfig(IResolvable cmkSecretConfig)
      Parameters:
      cmkSecretConfig - Specifies configuration information for a DataSync-managed secret, which includes the SecretKey that DataSync uses to access a specific object storage location, with a customer-managed AWS KMS key . When you include this paramater as part of a CreateLocationObjectStorage request, you provide only the KMS key ARN. DataSync uses this KMS key together with the value you specify for the SecretKey parameter to create a DataSync-managed secret to store the location access credentials.

      Make sure the DataSync has permission to access the KMS key that you specify.

      You can use either CmkSecretConfig (with SecretKey ) or CustomSecretConfig (without SecretKey ) to provide credentials for a CreateLocationObjectStorage request. Do not provide both parameters for the same request.

      Returns:
      this
    • cmkSecretConfig

      @Stability(Stable) public CfnLocationObjectStorageProps.Builder cmkSecretConfig(CfnLocationObjectStorage.CmkSecretConfigProperty cmkSecretConfig)
      Parameters:
      cmkSecretConfig - Specifies configuration information for a DataSync-managed secret, which includes the SecretKey that DataSync uses to access a specific object storage location, with a customer-managed AWS KMS key . When you include this paramater as part of a CreateLocationObjectStorage request, you provide only the KMS key ARN. DataSync uses this KMS key together with the value you specify for the SecretKey parameter to create a DataSync-managed secret to store the location access credentials.

      Make sure the DataSync has permission to access the KMS key that you specify.

      You can use either CmkSecretConfig (with SecretKey ) or CustomSecretConfig (without SecretKey ) to provide credentials for a CreateLocationObjectStorage request. Do not provide both parameters for the same request.

      Returns:
      this
    • customSecretConfig

      @Stability(Stable) public CfnLocationObjectStorageProps.Builder customSecretConfig(IResolvable customSecretConfig)
      Parameters:
      customSecretConfig - Specifies configuration information for a customer-managed Secrets Manager secret where the secret key for a specific object storage location is stored in plain text. This configuration includes the secret ARN, and the ARN for an IAM role that provides access to the secret.

      You can use either CmkSecretConfig (with SecretKey ) or CustomSecretConfig (without SecretKey ) to provide credentials for a CreateLocationObjectStorage request. Do not provide both parameters for the same request.

      Returns:
      this
    • customSecretConfig

      @Stability(Stable) public CfnLocationObjectStorageProps.Builder customSecretConfig(CfnLocationObjectStorage.CustomSecretConfigProperty customSecretConfig)
      Parameters:
      customSecretConfig - Specifies configuration information for a customer-managed Secrets Manager secret where the secret key for a specific object storage location is stored in plain text. This configuration includes the secret ARN, and the ARN for an IAM role that provides access to the secret.

      You can use either CmkSecretConfig (with SecretKey ) or CustomSecretConfig (without SecretKey ) to provide credentials for a CreateLocationObjectStorage request. Do not provide both parameters for the same request.

      Returns:
      this
    • secretKey

      @Stability(Stable) public CfnLocationObjectStorageProps.Builder secretKey(String secretKey)
      Parameters:
      secretKey - Specifies the secret key (for example, a password) if credentials are required to authenticate with the object storage server.

      If you provide a secret using SecretKey , but do not provide secret configuration details using CmkSecretConfig or CustomSecretConfig , then DataSync stores the token using your AWS account's Secrets Manager secret.

      Returns:
      this
    • serverCertificate

      @Stability(Stable) public CfnLocationObjectStorageProps.Builder serverCertificate(String serverCertificate)
      Parameters:
      serverCertificate - Specifies a certificate chain for DataSync to authenticate with your object storage system if the system uses a private or self-signed certificate authority (CA). You must specify a single .pem file with a full certificate chain (for example, file:///home/user/.ssh/object_storage_certificates.pem ).

      The certificate chain might include:

      • The object storage system's certificate
      • All intermediate certificates (if there are any)
      • The root certificate of the signing CA

      You can concatenate your certificates into a .pem file (which can be up to 32768 bytes before base64 encoding). The following example cat command creates an object_storage_certificates.pem file that includes three certificates:

      cat object_server_certificate.pem intermediate_certificate.pem ca_root_certificate.pem > object_storage_certificates.pem

      To use this parameter, configure ServerProtocol to HTTPS .

      Returns:
      this
    • serverHostname

      @Stability(Stable) public CfnLocationObjectStorageProps.Builder serverHostname(String serverHostname)
      Parameters:
      serverHostname - Specifies the domain name or IP address (IPv4 or IPv6) of the object storage server that your DataSync agent connects to.
      Returns:
      this
    • serverPort

      @Stability(Stable) public CfnLocationObjectStorageProps.Builder serverPort(Number serverPort)
      Parameters:
      serverPort - Specifies the port that your object storage server accepts inbound network traffic on (for example, port 443).
      Returns:
      this
    • serverProtocol

      @Stability(Stable) public CfnLocationObjectStorageProps.Builder serverProtocol(String serverProtocol)
      Parameters:
      serverProtocol - Specifies the protocol that your object storage server uses to communicate. If not specified, the default value is HTTPS .
      Returns:
      this
    • subdirectory

      @Stability(Stable) public CfnLocationObjectStorageProps.Builder subdirectory(String subdirectory)
      Parameters:
      subdirectory - Specifies the object prefix for your object storage server. If this is a source location, DataSync only copies objects with this prefix. If this is a destination location, DataSync writes all objects with this prefix.
      Returns:
      this
    • tags

      @Stability(Stable) public CfnLocationObjectStorageProps.Builder tags(List<? extends CfnTag> tags)
      Parameters:
      tags - Specifies the key-value pair that represents a tag that you want to add to the resource. Tags can help you manage, filter, and search for your resources. We recommend creating a name tag for your location.
      Returns:
      this
    • build

      @Stability(Stable) public CfnLocationObjectStorageProps build()
      Builds the configured instance.
      Specified by:
      build in interface software.amazon.jsii.Builder<CfnLocationObjectStorageProps>
      Returns:
      a new instance of CfnLocationObjectStorageProps
      Throws:
      NullPointerException - if any required attribute was not provided