location_object_storages
Creates, updates, deletes, gets or lists a location_object_storages resource.
Overview
| Name | location_object_storages |
| Type | Resource |
| Id | aws.datasync.location_object_storages |
Fields
The following fields are returned by SELECT queries:
- describe_location_object_storage
| Name | Datatype | Description |
|---|---|---|
access_key | string | The access key (for example, a user name) required to authenticate with the object storage system. (pattern: <code>^.*$</code>) |
agent_arns | array | The ARNs of the DataSync agents that can connect with your object storage system. |
cmk_secret_config | object | Describes configuration information for a DataSync-managed secret, such as an authentication token or set of credentials that DataSync uses to access a specific transfer location, and a customer-managed KMS key. |
creation_time | string (date-time) | The time that the location was created. |
custom_secret_config | object | Describes configuration information for a customer-managed secret, such as an authentication token or set of credentials that DataSync uses to access a specific transfer location, and a customer-managed Identity and Access Management (IAM) role that provides access to the secret. |
location_arn | string | The ARN of the object storage system location. (pattern: <code>^arn:(aws|aws-cn|aws-us-gov|aws-eusc|aws-iso|aws-iso-b):datasync:[a-z-0-9]+:[0-9]{12}:location/loc-[0-9a-z]{17}$</code>) |
location_uri | string | The URI of the object storage system location. (pattern: <code>^(efs|nfs|s3|smb|hdfs|fsx[a-z0-9-]+)://[a-zA-Z0-9.:/-]+$</code>) |
managed_secret_config | object | Describes configuration information for a DataSync-managed secret, such as an authentication token or set of credentials that DataSync uses to access a specific transfer location. DataSync uses the default Amazon Web Services-managed KMS key to encrypt this secret in Secrets Manager. |
server_certificate | string (byte) | The certificate chain for DataSync to authenticate with your object storage system if the system uses a private or self-signed certificate authority (CA). |
server_port | integer | The port that your object storage server accepts inbound network traffic on (for example, port 443). |
server_protocol | string | The protocol that your object storage system uses to communicate. (HTTPS, HTTP) |
Methods
The following methods are available for this resource:
| Name | Accessible by | Required Params | Optional Params | Description |
|---|---|---|---|---|
describe_location_object_storage | select | region | Provides details about how an DataSync transfer location for an object storage system is configured. | |
create_location_object_storage | insert | region, ServerHostname, BucketName | Creates a transfer location for an object storage system. DataSync can use this location as a source or destination for transferring data. You can make transfers with or without a DataSync agent. Before you begin, make sure that you understand the prerequisites for DataSync to work with object storage systems. | |
update_location_object_storage | update | region, LocationArn | Modifies the following configuration parameters of the object storage transfer location that you're using with DataSync. For more information, see Configuring DataSync transfers with an object storage system. |
Parameters
Parameters can be passed in the WHERE clause of a query. Check the Methods section to see which parameters are required or optional for each operation.
| Name | Datatype | Description |
|---|---|---|
region | string | AWS region (default: us-east-1) |
SELECT examples
- describe_location_object_storage
Provides details about how an DataSync transfer location for an object storage system is configured.
SELECT
access_key,
agent_arns,
cmk_secret_config,
creation_time,
custom_secret_config,
location_arn,
location_uri,
managed_secret_config,
server_certificate,
server_port,
server_protocol
FROM aws.datasync.location_object_storages
WHERE region = '{{ region }}' -- required
;
INSERT examples
- create_location_object_storage
- Manifest
Creates a transfer location for an object storage system. DataSync can use this location as a source or destination for transferring data. You can make transfers with or without a DataSync agent. Before you begin, make sure that you understand the prerequisites for DataSync to work with object storage systems.
INSERT INTO aws.datasync.location_object_storages (
ServerHostname,
ServerPort,
ServerProtocol,
Subdirectory,
BucketName,
AccessKey,
SecretKey,
AgentArns,
Tags,
ServerCertificate,
CmkSecretConfig,
CustomSecretConfig,
region
)
SELECT
'{{ ServerHostname }}' /* required */,
{{ ServerPort }},
'{{ ServerProtocol }}',
'{{ Subdirectory }}',
'{{ BucketName }}' /* required */,
'{{ AccessKey }}',
'{{ SecretKey }}',
'{{ AgentArns }}',
'{{ Tags }}',
'{{ ServerCertificate }}',
'{{ CmkSecretConfig }}',
'{{ CustomSecretConfig }}',
'{{ region }}'
RETURNING
location_arn
;
# Description fields are for documentation purposes
- name: location_object_storages
props:
- name: region
value: "{{ region }}"
description: Required parameter for the location_object_storages resource.
- name: ServerHostname
value: "{{ ServerHostname }}"
description: |
Specifies the domain name or IP address (IPv4 or IPv6) of the object storage server that your DataSync agent connects to.
- name: ServerPort
value: {{ ServerPort }}
description: |
Specifies the port that your object storage server accepts inbound network traffic on (for example, port 443).
- name: ServerProtocol
value: "{{ ServerProtocol }}"
description: |
Specifies the protocol that your object storage server uses to communicate. If not specified, the default value is HTTPS.
valid_values: ['HTTPS', 'HTTP']
- name: Subdirectory
value: "{{ Subdirectory }}"
description: |
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.
- name: BucketName
value: "{{ BucketName }}"
description: |
Specifies the name of the object storage bucket involved in the transfer.
- name: AccessKey
value: "{{ AccessKey }}"
description: |
Specifies the access key (for example, a user name) if credentials are required to authenticate with the object storage server.
- name: SecretKey
value: "{{ SecretKey }}"
description: |
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 Amazon Web Services account's Secrets Manager secret.
- name: AgentArns
value:
- "{{ AgentArns }}"
description: |
(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.
- name: Tags
description: |
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.
value:
- Key: "{{ Key }}"
Value: "{{ Value }}"
- name: ServerCertificate
value: "{{ ServerCertificate }}"
description: |
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.
- name: CmkSecretConfig
description: |
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 KMS key. When you include this parameter 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 that DataSync has permission to access the KMS key that you specify. For more information, see Using a service-managed secret encrypted with a custom KMS key. 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.
value:
SecretArn: "{{ SecretArn }}"
KmsKeyArn: "{{ KmsKeyArn }}"
- name: CustomSecretConfig
description: |
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, in Secrets Manager. This configuration includes the secret ARN, and the ARN for an IAM role that provides access to the secret. For more information, see Using a secret that you manage. 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.
value:
SecretArn: "{{ SecretArn }}"
SecretAccessRoleArn: "{{ SecretAccessRoleArn }}"
UPDATE examples
- update_location_object_storage
Modifies the following configuration parameters of the object storage transfer location that you're using with DataSync. For more information, see Configuring DataSync transfers with an object storage system.
UPDATE aws.datasync.location_object_storages
SET
LocationArn = '{{ LocationArn }}',
ServerPort = {{ ServerPort }},
ServerProtocol = '{{ ServerProtocol }}',
Subdirectory = '{{ Subdirectory }}',
ServerHostname = '{{ ServerHostname }}',
AccessKey = '{{ AccessKey }}',
SecretKey = '{{ SecretKey }}',
AgentArns = '{{ AgentArns }}',
ServerCertificate = '{{ ServerCertificate }}',
CmkSecretConfig = '{{ CmkSecretConfig }}',
CustomSecretConfig = '{{ CustomSecretConfig }}'
WHERE
region = '{{ region }}' --required
AND LocationArn = '{{ LocationArn }}' --required;