# frozen_string_literal: true
# WARNING ABOUT GENERATED CODE
#
# This file is generated. See the contributing guide for more information:
# https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
#
# WARNING ABOUT GENERATED CODE
module Aws::DataSync
module Types
# Represents a single entry in a list (or array) of DataSync agents when
# you call the [ListAgents][1] operation.
#
#
#
# [1]: https://docs.aws.amazon.com/datasync/latest/userguide/API_ListAgents.html
#
# @!attribute [rw] agent_arn
# The Amazon Resource Name (ARN) of a DataSync agent.
# @return [String]
#
# @!attribute [rw] name
# The name of an agent.
# @return [String]
#
# @!attribute [rw] status
# The status of an agent. For more information, see [DataSync agent
# statuses][1].
#
#
#
# [1]: https://docs.aws.amazon.com/datasync/latest/userguide/understand-agent-statuses.html
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/AgentListEntry AWS API Documentation
#
class AgentListEntry < Struct.new(
:agent_arn,
:name,
:status)
SENSITIVE = []
include Aws::Structure
end
# CancelTaskExecutionRequest
#
# @!attribute [rw] task_execution_arn
# The Amazon Resource Name (ARN) of the task execution to stop.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/CancelTaskExecutionRequest AWS API Documentation
#
class CancelTaskExecutionRequest < Struct.new(
:task_execution_arn)
SENSITIVE = []
include Aws::Structure
end
# @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/CancelTaskExecutionResponse AWS API Documentation
#
class CancelTaskExecutionResponse < Aws::EmptyStructure; end
# CreateAgentRequest
#
# @!attribute [rw] activation_key
# Your agent activation key. You can get the activation key either by
# sending an HTTP GET request with redirects that enable you to get
# the agent IP address (port 80). Alternatively, you can get it from
# the DataSync console.
#
# The redirect URL returned in the response provides you the
# activation key for your agent in the query string parameter
# `activationKey`. It might also include other activation-related
# parameters; however, these are merely defaults. The arguments you
# pass to this API call determine the actual configuration of your
# agent.
#
# For more information, see Activating an Agent in the *DataSync User
# Guide.*
# @return [String]
#
# @!attribute [rw] agent_name
# The name you configured for your agent. This value is a text
# reference that is used to identify the agent in the console.
# @return [String]
#
# @!attribute [rw] tags
# The key-value pair that represents the tag that you want to
# associate with the agent. The value can be an empty string. This
# value helps you manage, filter, and search for your agents.
#
# Valid characters for key and value are letters, spaces, and numbers
# representable in UTF-8 format, and the following special characters:
# + - = . \_ : / @.
#
#
# @return [Array]
#
# @!attribute [rw] vpc_endpoint_id
# The ID of the VPC (virtual private cloud) endpoint that the agent
# has access to. This is the client-side VPC endpoint, also called a
# PrivateLink. If you don't have a PrivateLink VPC endpoint, see
# [Creating a VPC Endpoint Service Configuration][1] in the Amazon VPC
# User Guide.
#
# VPC endpoint ID looks like this: `vpce-01234d5aff67890e1`.
#
#
#
# [1]: https://docs.aws.amazon.com/vpc/latest/userguide/endpoint-service.html#create-endpoint-service
# @return [String]
#
# @!attribute [rw] subnet_arns
# The Amazon Resource Names (ARNs) of the subnets in which DataSync
# will create elastic network interfaces for each data transfer task.
# The agent that runs a task must be private. When you start a task
# that is associated with an agent created in a VPC, or one that has
# access to an IP address in a VPC, then the task is also private. In
# this case, DataSync creates four network interfaces for each task in
# your subnet. For a data transfer to work, the agent must be able to
# route to all these four network interfaces.
# @return [Array]
#
# @!attribute [rw] security_group_arns
# The ARNs of the security groups used to protect your data transfer
# task subnets. See [SecurityGroupArns][1].
#
#
#
# [1]: https://docs.aws.amazon.com/datasync/latest/userguide/API_Ec2Config.html#DataSync-Type-Ec2Config-SecurityGroupArns
# @return [Array]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/CreateAgentRequest AWS API Documentation
#
class CreateAgentRequest < Struct.new(
:activation_key,
:agent_name,
:tags,
:vpc_endpoint_id,
:subnet_arns,
:security_group_arns)
SENSITIVE = []
include Aws::Structure
end
# CreateAgentResponse
#
# @!attribute [rw] agent_arn
# The Amazon Resource Name (ARN) of the agent. Use the `ListAgents`
# operation to return a list of agents for your account and Amazon Web
# Services Region.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/CreateAgentResponse AWS API Documentation
#
class CreateAgentResponse < Struct.new(
:agent_arn)
SENSITIVE = []
include Aws::Structure
end
# CreateLocationEfsRequest
#
# @!attribute [rw] subdirectory
# Specifies a mount path for your Amazon EFS file system. This is
# where DataSync reads or writes data (depending on if this is a
# source or destination location). By default, DataSync uses the root
# directory, but you can also include subdirectories.
#
# You must specify a value with forward slashes (for example,
# `/path/to/folder`).
#
#
# @return [String]
#
# @!attribute [rw] efs_filesystem_arn
# Specifies the ARN for the Amazon EFS file system.
# @return [String]
#
# @!attribute [rw] ec2_config
# Specifies the subnet and security groups DataSync uses to access
# your Amazon EFS file system.
# @return [Types::Ec2Config]
#
# @!attribute [rw] tags
# Specifies the key-value pair that represents a tag that you want to
# add to the resource. The value can be an empty string. This value
# helps you manage, filter, and search for your resources. We
# recommend that you create a name tag for your location.
# @return [Array]
#
# @!attribute [rw] access_point_arn
# Specifies the Amazon Resource Name (ARN) of the access point that
# DataSync uses to access the Amazon EFS file system.
# @return [String]
#
# @!attribute [rw] file_system_access_role_arn
# Specifies an Identity and Access Management (IAM) role that DataSync
# assumes when mounting the Amazon EFS file system.
# @return [String]
#
# @!attribute [rw] in_transit_encryption
# Specifies whether you want DataSync to use Transport Layer Security
# (TLS) 1.2 encryption when it copies data to or from the Amazon EFS
# file system.
#
# If you specify an access point using `AccessPointArn` or an IAM role
# using `FileSystemAccessRoleArn`, you must set this parameter to
# `TLS1_2`.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/CreateLocationEfsRequest AWS API Documentation
#
class CreateLocationEfsRequest < Struct.new(
:subdirectory,
:efs_filesystem_arn,
:ec2_config,
:tags,
:access_point_arn,
:file_system_access_role_arn,
:in_transit_encryption)
SENSITIVE = []
include Aws::Structure
end
# CreateLocationEfs
#
# @!attribute [rw] location_arn
# The Amazon Resource Name (ARN) of the Amazon EFS file system
# location that you create.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/CreateLocationEfsResponse AWS API Documentation
#
class CreateLocationEfsResponse < Struct.new(
:location_arn)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] fsx_filesystem_arn
# The Amazon Resource Name (ARN) for the FSx for Lustre file system.
# @return [String]
#
# @!attribute [rw] security_group_arns
# The Amazon Resource Names (ARNs) of the security groups that are
# used to configure the FSx for Lustre file system.
# @return [Array]
#
# @!attribute [rw] subdirectory
# A subdirectory in the location's path. This subdirectory in the FSx
# for Lustre file system is used to read data from the FSx for Lustre
# source location or write data to the FSx for Lustre destination.
# @return [String]
#
# @!attribute [rw] tags
# The key-value pair that represents a tag that you want to add to the
# resource. The value can be an empty string. This value helps you
# manage, filter, and search for your resources. We recommend that you
# create a name tag for your location.
# @return [Array]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/CreateLocationFsxLustreRequest AWS API Documentation
#
class CreateLocationFsxLustreRequest < Struct.new(
:fsx_filesystem_arn,
:security_group_arns,
:subdirectory,
:tags)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] location_arn
# The Amazon Resource Name (ARN) of the FSx for Lustre file system
# location that's created.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/CreateLocationFsxLustreResponse AWS API Documentation
#
class CreateLocationFsxLustreResponse < Struct.new(
:location_arn)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] protocol
# Specifies the data transfer protocol that DataSync uses to access
# your Amazon FSx file system.
# @return [Types::FsxProtocol]
#
# @!attribute [rw] security_group_arns
# Specifies the Amazon EC2 security groups that provide access to your
# file system's preferred subnet.
#
# The security groups must allow outbound traffic on the following
# ports (depending on the protocol you use):
#
# * **Network File System (NFS)**\: TCP ports 111, 635, and 2049
#
# * **Server Message Block (SMB)**\: TCP port 445
#
# Your file system's security groups must also allow inbound traffic
# on the same ports.
# @return [Array]
#
# @!attribute [rw] storage_virtual_machine_arn
# Specifies the ARN of the storage virtual machine (SVM) in your file
# system where you want to copy data to or from.
# @return [String]
#
# @!attribute [rw] subdirectory
# Specifies a path to the file share in the SVM where you'll copy
# your data.
#
# You can specify a junction path (also known as a mount point), qtree
# path (for NFS file shares), or share name (for SMB file shares). For
# example, your mount path might be `/vol1`, `/vol1/tree1`, or
# `/share1`.
#
# Don't specify a junction path in the SVM's root volume. For more
# information, see [Managing FSx for ONTAP storage virtual
# machines][1] in the *Amazon FSx for NetApp ONTAP User Guide*.
#
#
#
#
#
# [1]: https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/managing-svms.html
# @return [String]
#
# @!attribute [rw] tags
# Specifies labels that help you categorize, filter, and search for
# your Amazon Web Services resources. We recommend creating at least a
# name tag for your location.
# @return [Array]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/CreateLocationFsxOntapRequest AWS API Documentation
#
class CreateLocationFsxOntapRequest < Struct.new(
:protocol,
:security_group_arns,
:storage_virtual_machine_arn,
:subdirectory,
:tags)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] location_arn
# Specifies the ARN of the FSx for ONTAP file system location that you
# create.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/CreateLocationFsxOntapResponse AWS API Documentation
#
class CreateLocationFsxOntapResponse < Struct.new(
:location_arn)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] fsx_filesystem_arn
# The Amazon Resource Name (ARN) of the FSx for OpenZFS file system.
# @return [String]
#
# @!attribute [rw] protocol
# The type of protocol that DataSync uses to access your file system.
# @return [Types::FsxProtocol]
#
# @!attribute [rw] security_group_arns
# The ARNs of the security groups that are used to configure the FSx
# for OpenZFS file system.
# @return [Array]
#
# @!attribute [rw] subdirectory
# A subdirectory in the location's path that must begin with `/fsx`.
# DataSync uses this subdirectory to read or write data (depending on
# whether the file system is a source or destination location).
# @return [String]
#
# @!attribute [rw] tags
# The key-value pair that represents a tag that you want to add to the
# resource. The value can be an empty string. This value helps you
# manage, filter, and search for your resources. We recommend that you
# create a name tag for your location.
# @return [Array]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/CreateLocationFsxOpenZfsRequest AWS API Documentation
#
class CreateLocationFsxOpenZfsRequest < Struct.new(
:fsx_filesystem_arn,
:protocol,
:security_group_arns,
:subdirectory,
:tags)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] location_arn
# The ARN of the FSx for OpenZFS file system location that you
# created.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/CreateLocationFsxOpenZfsResponse AWS API Documentation
#
class CreateLocationFsxOpenZfsResponse < Struct.new(
:location_arn)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] subdirectory
# Specifies a mount path for your file system using forward slashes.
# This is where DataSync reads or writes data (depending on if this is
# a source or destination location).
# @return [String]
#
# @!attribute [rw] fsx_filesystem_arn
# Specifies the Amazon Resource Name (ARN) for the FSx for Windows
# File Server file system.
# @return [String]
#
# @!attribute [rw] security_group_arns
# Specifies the ARNs of the security groups that provide access to
# your file system's preferred subnet.
#
# If you choose a security group that doesn't allow connections from
# within itself, do one of the following:
#
# * Configure the security group to allow it to communicate within
# itself.
#
# * Choose a different security group that can communicate with the
# mount target's security group.
#
#
# @return [Array]
#
# @!attribute [rw] tags
# Specifies labels that help you categorize, filter, and search for
# your Amazon Web Services resources. We recommend creating at least a
# name tag for your location.
# @return [Array]
#
# @!attribute [rw] user
# Specifies the user who has the permissions to access files and
# folders in the file system.
#
# For information about choosing a user name that ensures sufficient
# permissions to files, folders, and metadata, see
# [user](create-fsx-location.html#FSxWuser).
# @return [String]
#
# @!attribute [rw] domain
# Specifies the name of the Windows domain that the FSx for Windows
# File Server belongs to.
# @return [String]
#
# @!attribute [rw] password
# Specifies the password of the user who has the permissions to access
# files and folders in the file system.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/CreateLocationFsxWindowsRequest AWS API Documentation
#
class CreateLocationFsxWindowsRequest < Struct.new(
:subdirectory,
:fsx_filesystem_arn,
:security_group_arns,
:tags,
:user,
:domain,
:password)
SENSITIVE = [:password]
include Aws::Structure
end
# @!attribute [rw] location_arn
# The ARN of the FSx for Windows File Server file system location you
# created.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/CreateLocationFsxWindowsResponse AWS API Documentation
#
class CreateLocationFsxWindowsResponse < Struct.new(
:location_arn)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] subdirectory
# A subdirectory in the HDFS cluster. This subdirectory is used to
# read data from or write data to the HDFS cluster. If the
# subdirectory isn't specified, it will default to `/`.
# @return [String]
#
# @!attribute [rw] name_nodes
# The NameNode that manages the HDFS namespace. The NameNode performs
# operations such as opening, closing, and renaming files and
# directories. The NameNode contains the information to map blocks of
# data to the DataNodes. You can use only one NameNode.
# @return [Array]
#
# @!attribute [rw] block_size
# The size of data blocks to write into the HDFS cluster. The block
# size must be a multiple of 512 bytes. The default block size is 128
# mebibytes (MiB).
# @return [Integer]
#
# @!attribute [rw] replication_factor
# The number of DataNodes to replicate the data to when writing to the
# HDFS cluster. By default, data is replicated to three DataNodes.
# @return [Integer]
#
# @!attribute [rw] kms_key_provider_uri
# The URI of the HDFS cluster's Key Management Server (KMS).
# @return [String]
#
# @!attribute [rw] qop_configuration
# The Quality of Protection (QOP) configuration specifies the Remote
# Procedure Call (RPC) and data transfer protection settings
# configured on the Hadoop Distributed File System (HDFS) cluster. If
# `QopConfiguration` isn't specified, `RpcProtection` and
# `DataTransferProtection` default to `PRIVACY`. If you set
# `RpcProtection` or `DataTransferProtection`, the other parameter
# assumes the same value.
# @return [Types::QopConfiguration]
#
# @!attribute [rw] authentication_type
# The type of authentication used to determine the identity of the
# user.
# @return [String]
#
# @!attribute [rw] simple_user
# The user name used to identify the client on the host operating
# system.
#
# If `SIMPLE` is specified for `AuthenticationType`, this parameter is
# required.
#
#
# @return [String]
#
# @!attribute [rw] kerberos_principal
# The Kerberos principal with access to the files and folders on the
# HDFS cluster.
#
# If `KERBEROS` is specified for `AuthenticationType`, this parameter
# is required.
#
#
# @return [String]
#
# @!attribute [rw] kerberos_keytab
# The Kerberos key table (keytab) that contains mappings between the
# defined Kerberos principal and the encrypted keys. You can load the
# keytab from a file by providing the file's address. If you're
# using the CLI, it performs base64 encoding for you. Otherwise,
# provide the base64-encoded text.
#
# If `KERBEROS` is specified for `AuthenticationType`, this parameter
# is required.
#
#
# @return [String]
#
# @!attribute [rw] kerberos_krb_5_conf
# The `krb5.conf` file that contains the Kerberos configuration
# information. You can load the `krb5.conf` file by providing the
# file's address. If you're using the CLI, it performs the base64
# encoding for you. Otherwise, provide the base64-encoded text.
#
# If `KERBEROS` is specified for `AuthenticationType`, this parameter
# is required.
#
#
# @return [String]
#
# @!attribute [rw] agent_arns
# The Amazon Resource Names (ARNs) of the agents that are used to
# connect to the HDFS cluster.
# @return [Array]
#
# @!attribute [rw] tags
# The key-value pair that represents the tag that you want to add to
# the location. The value can be an empty string. We recommend using
# tags to name your resources.
# @return [Array]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/CreateLocationHdfsRequest AWS API Documentation
#
class CreateLocationHdfsRequest < Struct.new(
:subdirectory,
:name_nodes,
:block_size,
:replication_factor,
:kms_key_provider_uri,
:qop_configuration,
:authentication_type,
:simple_user,
:kerberos_principal,
:kerberos_keytab,
:kerberos_krb_5_conf,
:agent_arns,
:tags)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] location_arn
# The ARN of the source HDFS cluster location that's created.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/CreateLocationHdfsResponse AWS API Documentation
#
class CreateLocationHdfsResponse < Struct.new(
:location_arn)
SENSITIVE = []
include Aws::Structure
end
# CreateLocationNfsRequest
#
# @!attribute [rw] subdirectory
# The subdirectory in the NFS file system that is used to read data
# from the NFS source location or write data to the NFS destination.
# The NFS path should be a path that's exported by the NFS server, or
# a subdirectory of that path. The path should be such that it can be
# mounted by other NFS clients in your network.
#
# To see all the paths exported by your NFS server, run "`showmount
# -e nfs-server-name`" from an NFS client that has access to your
# server. You can specify any directory that appears in the results,
# and any subdirectory of that directory. Ensure that the NFS export
# is accessible without Kerberos authentication.
#
# To transfer all the data in the folder you specified, DataSync needs
# to have permissions to read all the data. To ensure this, either
# configure the NFS export with `no_root_squash,` or ensure that the
# permissions for all of the files that you want DataSync allow read
# access for all users. Doing either enables the agent to read the
# files. For the agent to access directories, you must additionally
# enable all execute access.
#
# If you are copying data to or from your Snowcone device, see [NFS
# Server on Snowcone][1] for more information.
#
# For information about NFS export configuration, see 18.7. The
# /etc/exports Configuration File in the Red Hat Enterprise Linux
# documentation.
#
#
#
# [1]: https://docs.aws.amazon.com/datasync/latest/userguide/create-nfs-location.html#nfs-on-snowcone
# @return [String]
#
# @!attribute [rw] server_hostname
# The name of the NFS server. This value is the IP address or Domain
# Name Service (DNS) name of the NFS server. An agent that is
# installed on-premises uses this hostname to mount the NFS server in
# a network.
#
# If you are copying data to or from your Snowcone device, see [NFS
# Server on Snowcone][1] for more information.
#
# This name must either be DNS-compliant or must be an IP version 4
# (IPv4) address.
#
#
#
#
#
# [1]: https://docs.aws.amazon.com/datasync/latest/userguide/create-nfs-location.html#nfs-on-snowcone
# @return [String]
#
# @!attribute [rw] on_prem_config
# Contains a list of Amazon Resource Names (ARNs) of agents that are
# used to connect to an NFS server.
#
# If you are copying data to or from your Snowcone device, see [NFS
# Server on Snowcone][1] for more information.
#
#
#
# [1]: https://docs.aws.amazon.com/datasync/latest/userguide/create-nfs-location.html#nfs-on-snowcone
# @return [Types::OnPremConfig]
#
# @!attribute [rw] mount_options
# The NFS mount options that DataSync can use to mount your NFS share.
# @return [Types::NfsMountOptions]
#
# @!attribute [rw] tags
# The key-value pair that represents the tag that you want to add to
# the location. The value can be an empty string. We recommend using
# tags to name your resources.
# @return [Array]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/CreateLocationNfsRequest AWS API Documentation
#
class CreateLocationNfsRequest < Struct.new(
:subdirectory,
:server_hostname,
:on_prem_config,
:mount_options,
:tags)
SENSITIVE = []
include Aws::Structure
end
# CreateLocationNfsResponse
#
# @!attribute [rw] location_arn
# The Amazon Resource Name (ARN) of the source NFS file system
# location that is created.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/CreateLocationNfsResponse AWS API Documentation
#
class CreateLocationNfsResponse < Struct.new(
:location_arn)
SENSITIVE = []
include Aws::Structure
end
# CreateLocationObjectStorageRequest
#
# @!attribute [rw] server_hostname
# Specifies the domain name or IP address of the object storage
# server. A DataSync agent uses this hostname to mount the object
# storage server in a network.
# @return [String]
#
# @!attribute [rw] server_port
# Specifies the port that your object storage server accepts inbound
# network traffic on (for example, port 443).
# @return [Integer]
#
# @!attribute [rw] server_protocol
# Specifies the protocol that your object storage server uses to
# communicate.
# @return [String]
#
# @!attribute [rw] 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.
# @return [String]
#
# @!attribute [rw] bucket_name
# Specifies the name of the object storage bucket involved in the
# transfer.
# @return [String]
#
# @!attribute [rw] access_key
# Specifies the access key (for example, a user name) if credentials
# are required to authenticate with the object storage server.
# @return [String]
#
# @!attribute [rw] secret_key
# Specifies the secret key (for example, a password) if credentials
# are required to authenticate with the object storage server.
# @return [String]
#
# @!attribute [rw] agent_arns
# Specifies the Amazon Resource Names (ARNs) of the DataSync agents
# that can securely connect with your location.
# @return [Array]
#
# @!attribute [rw] 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.
# @return [Array]
#
# @!attribute [rw] server_certificate
# Specifies a certificate to authenticate with an object storage
# system that uses a private or self-signed certificate authority
# (CA). You must specify a Base64-encoded `.pem` file (for example,
# `file:///home/user/.ssh/storage_sys_certificate.pem`). The
# certificate can be up to 32768 bytes (before Base64 encoding).
#
# To use this parameter, configure `ServerProtocol` to `HTTPS`.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/CreateLocationObjectStorageRequest AWS API Documentation
#
class CreateLocationObjectStorageRequest < Struct.new(
:server_hostname,
:server_port,
:server_protocol,
:subdirectory,
:bucket_name,
:access_key,
:secret_key,
:agent_arns,
:tags,
:server_certificate)
SENSITIVE = [:secret_key]
include Aws::Structure
end
# CreateLocationObjectStorageResponse
#
# @!attribute [rw] location_arn
# Specifies the ARN of the object storage system location that you
# create.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/CreateLocationObjectStorageResponse AWS API Documentation
#
class CreateLocationObjectStorageResponse < Struct.new(
:location_arn)
SENSITIVE = []
include Aws::Structure
end
# CreateLocationS3Request
#
# @!attribute [rw] subdirectory
# A subdirectory in the Amazon S3 bucket. This subdirectory in Amazon
# S3 is used to read data from the S3 source location or write data to
# the S3 destination.
# @return [String]
#
# @!attribute [rw] s3_bucket_arn
# The ARN of the Amazon S3 bucket. If the bucket is on an Amazon Web
# Services Outpost, this must be an access point ARN.
# @return [String]
#
# @!attribute [rw] s3_storage_class
# The Amazon S3 storage class that you want to store your files in
# when this location is used as a task destination. For buckets in
# Amazon Web Services Regions, the storage class defaults to Standard.
# For buckets on Outposts, the storage class defaults to Amazon Web
# Services S3 Outposts.
#
# For more information about S3 storage classes, see [Amazon S3
# Storage Classes][1]. Some storage classes have behaviors that can
# affect your S3 storage cost. For detailed information, see
# [Considerations when working with S3 storage classes in
# DataSync][2].
#
#
#
# [1]: http://aws.amazon.com/s3/storage-classes/
# [2]: https://docs.aws.amazon.com/datasync/latest/userguide/create-s3-location.html#using-storage-classes
# @return [String]
#
# @!attribute [rw] s3_config
# The Amazon Resource Name (ARN) of the Identity and Access Management
# (IAM) role used to access an Amazon S3 bucket.
#
# For detailed information about using such a role, see Creating a
# Location for Amazon S3 in the *DataSync User Guide*.
# @return [Types::S3Config]
#
# @!attribute [rw] agent_arns
# If you're using DataSync on an Amazon Web Services Outpost, specify
# the Amazon Resource Names (ARNs) of the DataSync agents deployed on
# your Outpost. For more information about launching a DataSync agent
# on an Amazon Web Services Outpost, see [Deploy your DataSync agent
# on Outposts][1].
#
#
#
# [1]: https://docs.aws.amazon.com/datasync/latest/userguide/deploy-agents.html#outposts-agent
# @return [Array]
#
# @!attribute [rw] tags
# The key-value pair that represents the tag that you want to add to
# the location. The value can be an empty string. We recommend using
# tags to name your resources.
# @return [Array]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/CreateLocationS3Request AWS API Documentation
#
class CreateLocationS3Request < Struct.new(
:subdirectory,
:s3_bucket_arn,
:s3_storage_class,
:s3_config,
:agent_arns,
:tags)
SENSITIVE = []
include Aws::Structure
end
# CreateLocationS3Response
#
# @!attribute [rw] location_arn
# The Amazon Resource Name (ARN) of the source Amazon S3 bucket
# location that is created.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/CreateLocationS3Response AWS API Documentation
#
class CreateLocationS3Response < Struct.new(
:location_arn)
SENSITIVE = []
include Aws::Structure
end
# CreateLocationSmbRequest
#
# @!attribute [rw] subdirectory
# Specifies the name of the share exported by your SMB file server
# where DataSync will read or write data. You can include a
# subdirectory in the share path (for example,
# `/path/to/subdirectory`). Make sure that other SMB clients in your
# network can also mount this path.
#
# To copy all data in the specified subdirectory, DataSync must be
# able to mount the SMB share and access all of its data. For more
# information, see [required permissions][1] for SMB locations.
#
#
#
# [1]: https://docs.aws.amazon.com/datasync/latest/userguide/create-smb-location.html#configuring-smb-permissions
# @return [String]
#
# @!attribute [rw] server_hostname
# Specifies the Domain Name Service (DNS) name or IP address of the
# SMB file server that your DataSync agent will mount.
#
# You can't specify an IP version 6 (IPv6) address.
#
#
# @return [String]
#
# @!attribute [rw] user
# Specifies the user name that can mount your SMB file server and has
# permission to access the files and folders involved in your
# transfer.
#
# For information about choosing a user with the right level of access
# for your transfer, see [required permissions][1] for SMB locations.
#
#
#
# [1]: https://docs.aws.amazon.com/datasync/latest/userguide/create-smb-location.html#configuring-smb-permissions
# @return [String]
#
# @!attribute [rw] domain
# Specifies the Windows domain name that your SMB file server belongs
# to.
#
# For more information, see [required permissions][1] for SMB
# locations.
#
#
#
# [1]: https://docs.aws.amazon.com/datasync/latest/userguide/create-smb-location.html#configuring-smb-permissions
# @return [String]
#
# @!attribute [rw] password
# Specifies the password of the user who can mount your SMB file
# server and has permission to access the files and folders involved
# in your transfer.
#
# For more information, see [required permissions][1] for SMB
# locations.
#
#
#
# [1]: https://docs.aws.amazon.com/datasync/latest/userguide/create-smb-location.html#configuring-smb-permissions
# @return [String]
#
# @!attribute [rw] agent_arns
# Specifies the DataSync agent (or agents) which you want to connect
# to your SMB file server. You specify an agent by using its Amazon
# Resource Name (ARN).
# @return [Array]
#
# @!attribute [rw] mount_options
# Specifies the version of the SMB protocol that DataSync uses to
# access your SMB file server.
# @return [Types::SmbMountOptions]
#
# @!attribute [rw] tags
# Specifies labels that help you categorize, filter, and search for
# your Amazon Web Services resources. We recommend creating at least a
# name tag for your location.
# @return [Array]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/CreateLocationSmbRequest AWS API Documentation
#
class CreateLocationSmbRequest < Struct.new(
:subdirectory,
:server_hostname,
:user,
:domain,
:password,
:agent_arns,
:mount_options,
:tags)
SENSITIVE = [:password]
include Aws::Structure
end
# CreateLocationSmbResponse
#
# @!attribute [rw] location_arn
# The ARN of the SMB location that you created.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/CreateLocationSmbResponse AWS API Documentation
#
class CreateLocationSmbResponse < Struct.new(
:location_arn)
SENSITIVE = []
include Aws::Structure
end
# CreateTaskRequest
#
# @!attribute [rw] source_location_arn
# The Amazon Resource Name (ARN) of the source location for the task.
# @return [String]
#
# @!attribute [rw] destination_location_arn
# The Amazon Resource Name (ARN) of an Amazon Web Services storage
# resource's location.
# @return [String]
#
# @!attribute [rw] cloud_watch_log_group_arn
# The Amazon Resource Name (ARN) of the Amazon CloudWatch log group
# that is used to monitor and log events in the task.
# @return [String]
#
# @!attribute [rw] name
# The name of a task. This value is a text reference that is used to
# identify the task in the console.
# @return [String]
#
# @!attribute [rw] options
# Specifies the configuration options for a task. Some options include
# preserving file or object metadata and verifying data integrity.
#
# You can also override these options before starting an individual
# run of a task (also known as a *task execution*). For more
# information, see [StartTaskExecution][1].
#
#
#
# [1]: https://docs.aws.amazon.com/datasync/latest/userguide/API_StartTaskExecution.html
# @return [Types::Options]
#
# @!attribute [rw] excludes
# Specifies a list of filter rules that exclude specific data during
# your transfer. For more information and examples, see [Filtering
# data transferred by DataSync][1].
#
#
#
# [1]: https://docs.aws.amazon.com/datasync/latest/userguide/filtering.html
# @return [Array]
#
# @!attribute [rw] schedule
# Specifies a schedule used to periodically transfer files from a
# source to a destination location. The schedule should be specified
# in UTC time. For more information, see [Scheduling your task][1].
#
#
#
# [1]: https://docs.aws.amazon.com/datasync/latest/userguide/task-scheduling.html
# @return [Types::TaskSchedule]
#
# @!attribute [rw] tags
# Specifies the tags that you want to apply to the Amazon Resource
# Name (ARN) representing the task.
#
# *Tags* are key-value pairs that help you manage, filter, and search
# for your DataSync resources.
# @return [Array]
#
# @!attribute [rw] includes
# Specifies a list of filter rules that include specific data during
# your transfer. For more information and examples, see [Filtering
# data transferred by DataSync][1].
#
#
#
# [1]: https://docs.aws.amazon.com/datasync/latest/userguide/filtering.html
# @return [Array]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/CreateTaskRequest AWS API Documentation
#
class CreateTaskRequest < Struct.new(
:source_location_arn,
:destination_location_arn,
:cloud_watch_log_group_arn,
:name,
:options,
:excludes,
:schedule,
:tags,
:includes)
SENSITIVE = []
include Aws::Structure
end
# CreateTaskResponse
#
# @!attribute [rw] task_arn
# The Amazon Resource Name (ARN) of the task.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/CreateTaskResponse AWS API Documentation
#
class CreateTaskResponse < Struct.new(
:task_arn)
SENSITIVE = []
include Aws::Structure
end
# DeleteAgentRequest
#
# @!attribute [rw] agent_arn
# The Amazon Resource Name (ARN) of the agent to delete. Use the
# `ListAgents` operation to return a list of agents for your account
# and Amazon Web Services Region.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DeleteAgentRequest AWS API Documentation
#
class DeleteAgentRequest < Struct.new(
:agent_arn)
SENSITIVE = []
include Aws::Structure
end
# @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DeleteAgentResponse AWS API Documentation
#
class DeleteAgentResponse < Aws::EmptyStructure; end
# DeleteLocation
#
# @!attribute [rw] location_arn
# The Amazon Resource Name (ARN) of the location to delete.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DeleteLocationRequest AWS API Documentation
#
class DeleteLocationRequest < Struct.new(
:location_arn)
SENSITIVE = []
include Aws::Structure
end
# @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DeleteLocationResponse AWS API Documentation
#
class DeleteLocationResponse < Aws::EmptyStructure; end
# DeleteTask
#
# @!attribute [rw] task_arn
# Specifies the Amazon Resource Name (ARN) of the task that you want
# to delete.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DeleteTaskRequest AWS API Documentation
#
class DeleteTaskRequest < Struct.new(
:task_arn)
SENSITIVE = []
include Aws::Structure
end
# @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DeleteTaskResponse AWS API Documentation
#
class DeleteTaskResponse < Aws::EmptyStructure; end
# DescribeAgent
#
# @!attribute [rw] agent_arn
# Specifies the Amazon Resource Name (ARN) of the DataSync agent to
# describe.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DescribeAgentRequest AWS API Documentation
#
class DescribeAgentRequest < Struct.new(
:agent_arn)
SENSITIVE = []
include Aws::Structure
end
# DescribeAgentResponse
#
# @!attribute [rw] agent_arn
# The ARN of the agent.
# @return [String]
#
# @!attribute [rw] name
# The name of the agent.
# @return [String]
#
# @!attribute [rw] status
# The status of the agent. If the status is ONLINE, then the agent is
# configured properly and is available to use. The Running status is
# the normal running status for an agent. If the status is OFFLINE,
# the agent's VM is turned off or the agent is in an unhealthy state.
# When the issue that caused the unhealthy state is resolved, the
# agent returns to ONLINE status.
# @return [String]
#
# @!attribute [rw] last_connection_time
# The time that the agent last connected to DataSync.
# @return [Time]
#
# @!attribute [rw] creation_time
# The time that the agent was activated (that is, created in your
# account).
# @return [Time]
#
# @!attribute [rw] endpoint_type
# The type of endpoint that your agent is connected to. If the
# endpoint is a VPC endpoint, the agent is not accessible over the
# public internet.
# @return [String]
#
# @!attribute [rw] private_link_config
# The subnet and the security group that DataSync used to access a VPC
# endpoint.
# @return [Types::PrivateLinkConfig]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DescribeAgentResponse AWS API Documentation
#
class DescribeAgentResponse < Struct.new(
:agent_arn,
:name,
:status,
:last_connection_time,
:creation_time,
:endpoint_type,
:private_link_config)
SENSITIVE = []
include Aws::Structure
end
# DescribeLocationEfsRequest
#
# @!attribute [rw] location_arn
# The Amazon Resource Name (ARN) of the Amazon EFS file system
# location that you want information about.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DescribeLocationEfsRequest AWS API Documentation
#
class DescribeLocationEfsRequest < Struct.new(
:location_arn)
SENSITIVE = []
include Aws::Structure
end
# DescribeLocationEfsResponse
#
# @!attribute [rw] location_arn
# The ARN of the Amazon EFS file system location.
# @return [String]
#
# @!attribute [rw] location_uri
# The URL of the Amazon EFS file system location.
# @return [String]
#
# @!attribute [rw] ec2_config
# The subnet and security groups that DataSync uses to access your
# Amazon EFS file system.
# @return [Types::Ec2Config]
#
# @!attribute [rw] creation_time
# The time that the location was created.
# @return [Time]
#
# @!attribute [rw] access_point_arn
# The ARN of the access point that DataSync uses to access the Amazon
# EFS file system.
# @return [String]
#
# @!attribute [rw] file_system_access_role_arn
# The Identity and Access Management (IAM) role that DataSync assumes
# when mounting the Amazon EFS file system.
# @return [String]
#
# @!attribute [rw] in_transit_encryption
# Describes whether DataSync uses Transport Layer Security (TLS)
# encryption when copying data to or from the Amazon EFS file system.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DescribeLocationEfsResponse AWS API Documentation
#
class DescribeLocationEfsResponse < Struct.new(
:location_arn,
:location_uri,
:ec2_config,
:creation_time,
:access_point_arn,
:file_system_access_role_arn,
:in_transit_encryption)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] location_arn
# The Amazon Resource Name (ARN) of the FSx for Lustre location to
# describe.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DescribeLocationFsxLustreRequest AWS API Documentation
#
class DescribeLocationFsxLustreRequest < Struct.new(
:location_arn)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] location_arn
# The Amazon Resource Name (ARN) of the FSx for Lustre location that
# was described.
# @return [String]
#
# @!attribute [rw] location_uri
# The URI of the FSx for Lustre location that was described.
# @return [String]
#
# @!attribute [rw] security_group_arns
# The Amazon Resource Names (ARNs) of the security groups that are
# configured for the FSx for Lustre file system.
# @return [Array]
#
# @!attribute [rw] creation_time
# The time that the FSx for Lustre location was created.
# @return [Time]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DescribeLocationFsxLustreResponse AWS API Documentation
#
class DescribeLocationFsxLustreResponse < Struct.new(
:location_arn,
:location_uri,
:security_group_arns,
:creation_time)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] location_arn
# Specifies the Amazon Resource Name (ARN) of the FSx for ONTAP file
# system location that you want information about.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DescribeLocationFsxOntapRequest AWS API Documentation
#
class DescribeLocationFsxOntapRequest < Struct.new(
:location_arn)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] creation_time
# The time that the location was created.
# @return [Time]
#
# @!attribute [rw] location_arn
# The ARN of the FSx for ONTAP file system location.
# @return [String]
#
# @!attribute [rw] location_uri
# The uniform resource identifier (URI) of the FSx for ONTAP file
# system location.
# @return [String]
#
# @!attribute [rw] protocol
# Specifies the data transfer protocol that DataSync uses to access
# your Amazon FSx file system.
# @return [Types::FsxProtocol]
#
# @!attribute [rw] security_group_arns
# The security groups that DataSync uses to access your FSx for ONTAP
# file system.
# @return [Array]
#
# @!attribute [rw] storage_virtual_machine_arn
# The ARN of the storage virtual machine (SVM) on your FSx for ONTAP
# file system where you're copying data to or from.
# @return [String]
#
# @!attribute [rw] fsx_filesystem_arn
# The ARN of the FSx for ONTAP file system.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DescribeLocationFsxOntapResponse AWS API Documentation
#
class DescribeLocationFsxOntapResponse < Struct.new(
:creation_time,
:location_arn,
:location_uri,
:protocol,
:security_group_arns,
:storage_virtual_machine_arn,
:fsx_filesystem_arn)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] location_arn
# The Amazon Resource Name (ARN) of the FSx for OpenZFS location to
# describe.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DescribeLocationFsxOpenZfsRequest AWS API Documentation
#
class DescribeLocationFsxOpenZfsRequest < Struct.new(
:location_arn)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] location_arn
# The ARN of the FSx for OpenZFS location that was described.
# @return [String]
#
# @!attribute [rw] location_uri
# The uniform resource identifier (URI) of the FSx for OpenZFS
# location that was described.
#
# Example: `fsxz://us-west-2.fs-1234567890abcdef02/fsx/folderA/folder`
# @return [String]
#
# @!attribute [rw] security_group_arns
# The ARNs of the security groups that are configured for the FSx for
# OpenZFS file system.
# @return [Array]
#
# @!attribute [rw] protocol
# The type of protocol that DataSync uses to access your file system.
# @return [Types::FsxProtocol]
#
# @!attribute [rw] creation_time
# The time that the FSx for OpenZFS location was created.
# @return [Time]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DescribeLocationFsxOpenZfsResponse AWS API Documentation
#
class DescribeLocationFsxOpenZfsResponse < Struct.new(
:location_arn,
:location_uri,
:security_group_arns,
:protocol,
:creation_time)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] location_arn
# The Amazon Resource Name (ARN) of the FSx for Windows File Server
# location to describe.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DescribeLocationFsxWindowsRequest AWS API Documentation
#
class DescribeLocationFsxWindowsRequest < Struct.new(
:location_arn)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] location_arn
# The Amazon Resource Name (ARN) of the FSx for Windows File Server
# location that was described.
# @return [String]
#
# @!attribute [rw] location_uri
# The URL of the FSx for Windows File Server location that was
# described.
# @return [String]
#
# @!attribute [rw] security_group_arns
# The Amazon Resource Names (ARNs) of the security groups that are
# configured for the FSx for Windows File Server file system.
# @return [Array]
#
# @!attribute [rw] creation_time
# The time that the FSx for Windows File Server location was created.
# @return [Time]
#
# @!attribute [rw] user
# The user who has the permissions to access files and folders in the
# FSx for Windows File Server file system.
# @return [String]
#
# @!attribute [rw] domain
# The name of the Windows domain that the FSx for Windows File Server
# belongs to.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DescribeLocationFsxWindowsResponse AWS API Documentation
#
class DescribeLocationFsxWindowsResponse < Struct.new(
:location_arn,
:location_uri,
:security_group_arns,
:creation_time,
:user,
:domain)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] location_arn
# The Amazon Resource Name (ARN) of the HDFS cluster location to
# describe.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DescribeLocationHdfsRequest AWS API Documentation
#
class DescribeLocationHdfsRequest < Struct.new(
:location_arn)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] location_arn
# The ARN of the HDFS cluster location.
# @return [String]
#
# @!attribute [rw] location_uri
# The URI of the HDFS cluster location.
# @return [String]
#
# @!attribute [rw] name_nodes
# The NameNode that manage the HDFS namespace.
# @return [Array]
#
# @!attribute [rw] block_size
# The size of the data blocks to write into the HDFS cluster.
# @return [Integer]
#
# @!attribute [rw] replication_factor
# The number of DataNodes to replicate the data to when writing to the
# HDFS cluster.
# @return [Integer]
#
# @!attribute [rw] kms_key_provider_uri
# The URI of the HDFS cluster's Key Management Server (KMS).
# @return [String]
#
# @!attribute [rw] qop_configuration
# The Quality of Protection (QOP) configuration specifies the Remote
# Procedure Call (RPC) and data transfer protection settings
# configured on the Hadoop Distributed File System (HDFS) cluster.
# @return [Types::QopConfiguration]
#
# @!attribute [rw] authentication_type
# The type of authentication used to determine the identity of the
# user.
# @return [String]
#
# @!attribute [rw] simple_user
# The user name used to identify the client on the host operating
# system. This parameter is used if the `AuthenticationType` is
# defined as `SIMPLE`.
# @return [String]
#
# @!attribute [rw] kerberos_principal
# The Kerberos principal with access to the files and folders on the
# HDFS cluster. This parameter is used if the `AuthenticationType` is
# defined as `KERBEROS`.
# @return [String]
#
# @!attribute [rw] agent_arns
# The ARNs of the agents that are used to connect to the HDFS cluster.
# @return [Array]
#
# @!attribute [rw] creation_time
# The time that the HDFS location was created.
# @return [Time]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DescribeLocationHdfsResponse AWS API Documentation
#
class DescribeLocationHdfsResponse < Struct.new(
:location_arn,
:location_uri,
:name_nodes,
:block_size,
:replication_factor,
:kms_key_provider_uri,
:qop_configuration,
:authentication_type,
:simple_user,
:kerberos_principal,
:agent_arns,
:creation_time)
SENSITIVE = []
include Aws::Structure
end
# DescribeLocationNfsRequest
#
# @!attribute [rw] location_arn
# The Amazon Resource Name (ARN) of the NFS location to describe.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DescribeLocationNfsRequest AWS API Documentation
#
class DescribeLocationNfsRequest < Struct.new(
:location_arn)
SENSITIVE = []
include Aws::Structure
end
# DescribeLocationNfsResponse
#
# @!attribute [rw] location_arn
# The Amazon Resource Name (ARN) of the NFS location that was
# described.
# @return [String]
#
# @!attribute [rw] location_uri
# The URL of the source NFS location that was described.
# @return [String]
#
# @!attribute [rw] on_prem_config
# A list of Amazon Resource Names (ARNs) of agents to use for a
# Network File System (NFS) location.
# @return [Types::OnPremConfig]
#
# @!attribute [rw] mount_options
# The NFS mount options that DataSync used to mount your NFS share.
# @return [Types::NfsMountOptions]
#
# @!attribute [rw] creation_time
# The time that the NFS location was created.
# @return [Time]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DescribeLocationNfsResponse AWS API Documentation
#
class DescribeLocationNfsResponse < Struct.new(
:location_arn,
:location_uri,
:on_prem_config,
:mount_options,
:creation_time)
SENSITIVE = []
include Aws::Structure
end
# DescribeLocationObjectStorageRequest
#
# @!attribute [rw] location_arn
# The Amazon Resource Name (ARN) of the object storage system location
# that you want information about.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DescribeLocationObjectStorageRequest AWS API Documentation
#
class DescribeLocationObjectStorageRequest < Struct.new(
:location_arn)
SENSITIVE = []
include Aws::Structure
end
# DescribeLocationObjectStorageResponse
#
# @!attribute [rw] location_arn
# The ARN of the object storage system location.
# @return [String]
#
# @!attribute [rw] location_uri
# The URL of the object storage system location.
# @return [String]
#
# @!attribute [rw] access_key
# The access key (for example, a user name) required to authenticate
# with the object storage system.
# @return [String]
#
# @!attribute [rw] server_port
# The port that your object storage server accepts inbound network
# traffic on (for example, port 443).
# @return [Integer]
#
# @!attribute [rw] server_protocol
# The protocol that your object storage system uses to communicate.
# @return [String]
#
# @!attribute [rw] agent_arns
# The ARNs of the DataSync agents that can securely connect with your
# location.
# @return [Array]
#
# @!attribute [rw] creation_time
# The time that the location was created.
# @return [Time]
#
# @!attribute [rw] server_certificate
# The self-signed certificate that DataSync uses to securely
# authenticate with your object storage system.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DescribeLocationObjectStorageResponse AWS API Documentation
#
class DescribeLocationObjectStorageResponse < Struct.new(
:location_arn,
:location_uri,
:access_key,
:server_port,
:server_protocol,
:agent_arns,
:creation_time,
:server_certificate)
SENSITIVE = []
include Aws::Structure
end
# DescribeLocationS3Request
#
# @!attribute [rw] location_arn
# The Amazon Resource Name (ARN) of the Amazon S3 bucket location to
# describe.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DescribeLocationS3Request AWS API Documentation
#
class DescribeLocationS3Request < Struct.new(
:location_arn)
SENSITIVE = []
include Aws::Structure
end
# DescribeLocationS3Response
#
# @!attribute [rw] location_arn
# The Amazon Resource Name (ARN) of the Amazon S3 bucket or access
# point.
# @return [String]
#
# @!attribute [rw] location_uri
# The URL of the Amazon S3 location that was described.
# @return [String]
#
# @!attribute [rw] s3_storage_class
# The Amazon S3 storage class that you chose to store your files in
# when this location is used as a task destination. For more
# information about S3 storage classes, see [Amazon S3 Storage
# Classes][1]. Some storage classes have behaviors that can affect
# your S3 storage cost. For detailed information, see [Considerations
# when working with S3 storage classes in DataSync][2].
#
#
#
# [1]: http://aws.amazon.com/s3/storage-classes/
# [2]: https://docs.aws.amazon.com/datasync/latest/userguide/create-s3-location.html#using-storage-classes
# @return [String]
#
# @!attribute [rw] s3_config
# The Amazon Resource Name (ARN) of the Identity and Access Management
# (IAM) role used to access an Amazon S3 bucket.
#
# For detailed information about using such a role, see Creating a
# Location for Amazon S3 in the *DataSync User Guide*.
# @return [Types::S3Config]
#
# @!attribute [rw] agent_arns
# If you are using DataSync on an Amazon Web Services Outpost, the
# Amazon Resource Name (ARNs) of the EC2 agents deployed on your
# Outpost. For more information about launching a DataSync agent on an
# Amazon Web Services Outpost, see [Deploy your DataSync agent on
# Outposts][1].
#
#
#
# [1]: https://docs.aws.amazon.com/datasync/latest/userguide/deploy-agents.html#outposts-agent
# @return [Array]
#
# @!attribute [rw] creation_time
# The time that the Amazon S3 bucket location was created.
# @return [Time]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DescribeLocationS3Response AWS API Documentation
#
class DescribeLocationS3Response < Struct.new(
:location_arn,
:location_uri,
:s3_storage_class,
:s3_config,
:agent_arns,
:creation_time)
SENSITIVE = []
include Aws::Structure
end
# DescribeLocationSmbRequest
#
# @!attribute [rw] location_arn
# The Amazon Resource Name (ARN) of the SMB location to describe.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DescribeLocationSmbRequest AWS API Documentation
#
class DescribeLocationSmbRequest < Struct.new(
:location_arn)
SENSITIVE = []
include Aws::Structure
end
# DescribeLocationSmbResponse
#
# @!attribute [rw] location_arn
# The Amazon Resource Name (ARN) of the SMB location that was
# described.
# @return [String]
#
# @!attribute [rw] location_uri
# The URL of the source SMB location that was described.
# @return [String]
#
# @!attribute [rw] agent_arns
# The Amazon Resource Name (ARN) of the source SMB file system
# location that is created.
# @return [Array]
#
# @!attribute [rw] user
# The user who can mount the share, has the permissions to access
# files and folders in the SMB share.
# @return [String]
#
# @!attribute [rw] domain
# The name of the Windows domain that the SMB server belongs to.
# @return [String]
#
# @!attribute [rw] mount_options
# The mount options that are available for DataSync to use to access
# an SMB location.
# @return [Types::SmbMountOptions]
#
# @!attribute [rw] creation_time
# The time that the SMB location was created.
# @return [Time]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DescribeLocationSmbResponse AWS API Documentation
#
class DescribeLocationSmbResponse < Struct.new(
:location_arn,
:location_uri,
:agent_arns,
:user,
:domain,
:mount_options,
:creation_time)
SENSITIVE = []
include Aws::Structure
end
# DescribeTaskExecutionRequest
#
# @!attribute [rw] task_execution_arn
# The Amazon Resource Name (ARN) of the task that is being executed.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DescribeTaskExecutionRequest AWS API Documentation
#
class DescribeTaskExecutionRequest < Struct.new(
:task_execution_arn)
SENSITIVE = []
include Aws::Structure
end
# DescribeTaskExecutionResponse
#
# @!attribute [rw] task_execution_arn
# The Amazon Resource Name (ARN) of the task execution that was
# described. `TaskExecutionArn` is hierarchical and includes `TaskArn`
# for the task that was executed.
#
# For example, a `TaskExecution` value with the ARN
# `arn:aws:datasync:us-east-1:111222333444:task/task-0208075f79cedf4a2/execution/exec-08ef1e88ec491019b`
# executed the task with the ARN
# `arn:aws:datasync:us-east-1:111222333444:task/task-0208075f79cedf4a2`.
# @return [String]
#
# @!attribute [rw] status
# The status of the task execution.
#
# For detailed information about task execution statuses, see
# Understanding Task Statuses in the *DataSync User Guide.*
# @return [String]
#
# @!attribute [rw] options
# Configures your DataSync task settings. These options include how
# DataSync handles files, objects, and their associated metadata. You
# also can specify how DataSync verifies data integrity, set bandwidth
# limits for your task, among other options.
#
# Each task setting has a default value. Unless you need to, you
# don't have to configure any of these `Options` before starting your
# task.
# @return [Types::Options]
#
# @!attribute [rw] excludes
# A list of filter rules that exclude specific data during your
# transfer. For more information and examples, see [Filtering data
# transferred by DataSync][1].
#
#
#
# [1]: https://docs.aws.amazon.com/datasync/latest/userguide/filtering.html
# @return [Array]
#
# @!attribute [rw] includes
# A list of filter rules that include specific data during your
# transfer. For more information and examples, see [Filtering data
# transferred by DataSync][1].
#
#
#
# [1]: https://docs.aws.amazon.com/datasync/latest/userguide/filtering.html
# @return [Array]
#
# @!attribute [rw] start_time
# The time that the task execution was started.
# @return [Time]
#
# @!attribute [rw] estimated_files_to_transfer
# The expected number of files that is to be transferred over the
# network. This value is calculated during the `PREPARING` phase
# before the `TRANSFERRING` phase of the task execution. This value is
# the expected number of files to be transferred. It's calculated
# based on comparing the content of the source and destination
# locations and finding the delta that needs to be transferred.
# @return [Integer]
#
# @!attribute [rw] estimated_bytes_to_transfer
# The estimated physical number of bytes that is to be transferred
# over the network.
# @return [Integer]
#
# @!attribute [rw] files_transferred
# The actual number of files that was transferred over the network.
# This value is calculated and updated on an ongoing basis during the
# `TRANSFERRING` phase of the task execution. It's updated
# periodically when each file is read from the source and sent over
# the network.
#
# If failures occur during a transfer, this value can be less than
# `EstimatedFilesToTransfer`. In some cases, this value can also be
# greater than `EstimatedFilesToTransfer`. This element is
# implementation-specific for some location types, so don't use it as
# an indicator for a correct file number or to monitor your task
# execution.
# @return [Integer]
#
# @!attribute [rw] bytes_written
# The number of logical bytes written to the destination Amazon Web
# Services storage resource.
# @return [Integer]
#
# @!attribute [rw] bytes_transferred
# The total number of bytes that are involved in the transfer. For the
# number of bytes sent over the network, see `BytesCompressed`.
# @return [Integer]
#
# @!attribute [rw] result
# The result of the task execution.
# @return [Types::TaskExecutionResultDetail]
#
# @!attribute [rw] bytes_compressed
# The physical number of bytes transferred over the network after
# compression was applied. In most cases, this number is less than
# `BytesTransferred` unless the data isn't compressible.
# @return [Integer]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DescribeTaskExecutionResponse AWS API Documentation
#
class DescribeTaskExecutionResponse < Struct.new(
:task_execution_arn,
:status,
:options,
:excludes,
:includes,
:start_time,
:estimated_files_to_transfer,
:estimated_bytes_to_transfer,
:files_transferred,
:bytes_written,
:bytes_transferred,
:result,
:bytes_compressed)
SENSITIVE = []
include Aws::Structure
end
# DescribeTaskRequest
#
# @!attribute [rw] task_arn
# The Amazon Resource Name (ARN) of the task to describe.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DescribeTaskRequest AWS API Documentation
#
class DescribeTaskRequest < Struct.new(
:task_arn)
SENSITIVE = []
include Aws::Structure
end
# DescribeTaskResponse
#
# @!attribute [rw] task_arn
# The Amazon Resource Name (ARN) of the task that was described.
# @return [String]
#
# @!attribute [rw] status
# The status of the task that was described.
#
# For detailed information about task execution statuses, see
# Understanding Task Statuses in the *DataSync User Guide*.
# @return [String]
#
# @!attribute [rw] name
# The name of the task that was described.
# @return [String]
#
# @!attribute [rw] current_task_execution_arn
# The Amazon Resource Name (ARN) of the task execution that is
# transferring files.
# @return [String]
#
# @!attribute [rw] source_location_arn
# The Amazon Resource Name (ARN) of the source file system's
# location.
# @return [String]
#
# @!attribute [rw] destination_location_arn
# The Amazon Resource Name (ARN) of the Amazon Web Services storage
# resource's location.
# @return [String]
#
# @!attribute [rw] cloud_watch_log_group_arn
# The Amazon Resource Name (ARN) of the Amazon CloudWatch log group
# that was used to monitor and log events in the task.
#
# For more information on these groups, see Working with Log Groups
# and Log Streams in the *Amazon CloudWatch User Guide*.
# @return [String]
#
# @!attribute [rw] source_network_interface_arns
# The Amazon Resource Names (ARNs) of the network interfaces created
# for your source location. For more information, see [Network
# interface requirements][1].
#
#
#
# [1]: https://docs.aws.amazon.com/datasync/latest/userguide/datasync-network.html#required-network-interfaces
# @return [Array]
#
# @!attribute [rw] destination_network_interface_arns
# The Amazon Resource Names (ARNs) of the network interfaces created
# for your destination location. For more information, see [Network
# interface requirements][1].
#
#
#
# [1]: https://docs.aws.amazon.com/datasync/latest/userguide/datasync-network.html#required-network-interfaces
# @return [Array]
#
# @!attribute [rw] options
# The configuration options that control the behavior of the
# `StartTaskExecution` operation. Some options include preserving file
# or object metadata and verifying data integrity.
#
# You can override these options for each task execution. For more
# information, see [StartTaskExecution][1].
#
#
#
# [1]: https://docs.aws.amazon.com/datasync/latest/userguide/API_StartTaskExecution.html
# @return [Types::Options]
#
# @!attribute [rw] excludes
# A list of filter rules that exclude specific data during your
# transfer. For more information and examples, see [Filtering data
# transferred by DataSync][1].
#
#
#
# [1]: https://docs.aws.amazon.com/datasync/latest/userguide/filtering.html
# @return [Array]
#
# @!attribute [rw] schedule
# The schedule used to periodically transfer files from a source to a
# destination location.
# @return [Types::TaskSchedule]
#
# @!attribute [rw] error_code
# Errors that DataSync encountered during execution of the task. You
# can use this error code to help troubleshoot issues.
# @return [String]
#
# @!attribute [rw] error_detail
# Detailed description of an error that was encountered during the
# task execution. You can use this information to help troubleshoot
# issues.
# @return [String]
#
# @!attribute [rw] creation_time
# The time that the task was created.
# @return [Time]
#
# @!attribute [rw] includes
# A list of filter rules that include specific data during your
# transfer. For more information and examples, see [Filtering data
# transferred by DataSync][1].
#
#
#
# [1]: https://docs.aws.amazon.com/datasync/latest/userguide/filtering.html
# @return [Array]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DescribeTaskResponse AWS API Documentation
#
class DescribeTaskResponse < Struct.new(
:task_arn,
:status,
:name,
:current_task_execution_arn,
:source_location_arn,
:destination_location_arn,
:cloud_watch_log_group_arn,
:source_network_interface_arns,
:destination_network_interface_arns,
:options,
:excludes,
:schedule,
:error_code,
:error_detail,
:creation_time,
:includes)
SENSITIVE = []
include Aws::Structure
end
# The subnet and security groups that DataSync uses to access your
# Amazon EFS file system.
#
# @!attribute [rw] subnet_arn
# Specifies the ARN of a subnet where DataSync creates the [network
# interfaces][1] for managing traffic during your transfer.
#
# The subnet must be located:
#
# * In the same virtual private cloud (VPC) as the Amazon EFS file
# system.
#
# * In the same Availability Zone as at least one mount target for the
# Amazon EFS file system.
#
# You don't need to specify a subnet that includes a file system
# mount target.
#
#
#
#
#
# [1]: https://docs.aws.amazon.com/datasync/latest/userguide/datasync-network.html#required-network-interfaces
# @return [String]
#
# @!attribute [rw] security_group_arns
# Specifies the Amazon Resource Names (ARNs) of the security groups
# associated with an Amazon EFS file system's mount target.
# @return [Array]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/Ec2Config AWS API Documentation
#
class Ec2Config < Struct.new(
:subnet_arn,
:security_group_arns)
SENSITIVE = []
include Aws::Structure
end
# Specifies which files, folders, and objects to include or exclude when
# transferring files from source to destination.
#
# @!attribute [rw] filter_type
# The type of filter rule to apply. DataSync only supports the
# SIMPLE\_PATTERN rule type.
# @return [String]
#
# @!attribute [rw] value
# A single filter string that consists of the patterns to include or
# exclude. The patterns are delimited by "\|" (that is, a pipe), for
# example: `/folder1|/folder2`
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/FilterRule AWS API Documentation
#
class FilterRule < Struct.new(
:filter_type,
:value)
SENSITIVE = []
include Aws::Structure
end
# Specifies the data transfer protocol that DataSync uses to access your
# Amazon FSx file system.
#
# @!attribute [rw] nfs
# Specifies the Network File System (NFS) protocol configuration that
# DataSync uses to access your FSx for OpenZFS file system or FSx for
# ONTAP file system's storage virtual machine (SVM).
# @return [Types::FsxProtocolNfs]
#
# @!attribute [rw] smb
# Specifies the Server Message Block (SMB) protocol configuration that
# DataSync uses to access your FSx for ONTAP file system's SVM.
# @return [Types::FsxProtocolSmb]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/FsxProtocol AWS API Documentation
#
class FsxProtocol < Struct.new(
:nfs,
:smb)
SENSITIVE = []
include Aws::Structure
end
# Specifies the Network File System (NFS) protocol configuration that
# DataSync uses to access your Amazon FSx for OpenZFS or Amazon FSx for
# NetApp ONTAP file system.
#
# @!attribute [rw] mount_options
# Specifies how DataSync can access a location using the NFS protocol.
# @return [Types::NfsMountOptions]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/FsxProtocolNfs AWS API Documentation
#
class FsxProtocolNfs < Struct.new(
:mount_options)
SENSITIVE = []
include Aws::Structure
end
# Specifies the Server Message Block (SMB) protocol configuration that
# DataSync uses to access your Amazon FSx for NetApp ONTAP file system.
# For more information, see [Accessing FSx for ONTAP file systems][1].
#
#
#
# [1]: https://docs.aws.amazon.com/datasync/latest/userguide/create-ontap-location.html#create-ontap-location-access
#
# @!attribute [rw] domain
# Specifies the fully qualified domain name (FQDN) of the Microsoft
# Active Directory that your storage virtual machine (SVM) belongs to.
# @return [String]
#
# @!attribute [rw] mount_options
# Specifies the version of the Server Message Block (SMB) protocol
# that DataSync uses to access an SMB file server.
# @return [Types::SmbMountOptions]
#
# @!attribute [rw] password
# Specifies the password of a user who has permission to access your
# SVM.
# @return [String]
#
# @!attribute [rw] user
# Specifies a user name that can mount the location and access the
# files, folders, and metadata that you need in the SVM.
#
# If you provide a user in your Active Directory, note the following:
#
# * If you're using Directory Service for Microsoft Active Directory,
# the user must be a member of the Amazon Web Services Delegated FSx
# Administrators group.
#
# * If you're using a self-managed Active Directory, the user must be
# a member of either the Domain Admins group or a custom group that
# you specified for file system administration when you created your
# file system.
#
# Make sure that the user has the permissions it needs to copy the
# data you want:
#
# * `SE_TCB_NAME`\: Required to set object ownership and file
# metadata. With this privilege, you also can copy NTFS
# discretionary access lists (DACLs).
#
# * `SE_SECURITY_NAME`\: May be needed to copy NTFS system access
# control lists (SACLs). This operation specifically requires the
# Windows privilege, which is granted to members of the Domain
# Admins group. If you configure your task to copy SACLs, make sure
# that the user has the required privileges. For information about
# copying SACLs, see [Ownership and permissions-related options][1].
#
#
#
# [1]: https://docs.aws.amazon.com/datasync/latest/userguide/create-task.html#configure-ownership-and-permissions
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/FsxProtocolSmb AWS API Documentation
#
class FsxProtocolSmb < Struct.new(
:domain,
:mount_options,
:password,
:user)
SENSITIVE = [:password]
include Aws::Structure
end
# The NameNode of the Hadoop Distributed File System (HDFS). The
# NameNode manages the file system's namespace. The NameNode performs
# operations such as opening, closing, and renaming files and
# directories. The NameNode contains the information to map blocks of
# data to the DataNodes.
#
# @!attribute [rw] hostname
# The hostname of the NameNode in the HDFS cluster. This value is the
# IP address or Domain Name Service (DNS) name of the NameNode. An
# agent that's installed on-premises uses this hostname to
# communicate with the NameNode in the network.
# @return [String]
#
# @!attribute [rw] port
# The port that the NameNode uses to listen to client requests.
# @return [Integer]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/HdfsNameNode AWS API Documentation
#
class HdfsNameNode < Struct.new(
:hostname,
:port)
SENSITIVE = []
include Aws::Structure
end
# This exception is thrown when an error occurs in the DataSync service.
#
# @!attribute [rw] message
# @return [String]
#
# @!attribute [rw] error_code
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/InternalException AWS API Documentation
#
class InternalException < Struct.new(
:message,
:error_code)
SENSITIVE = []
include Aws::Structure
end
# This exception is thrown when the client submits a malformed request.
#
# @!attribute [rw] message
# @return [String]
#
# @!attribute [rw] error_code
# @return [String]
#
# @!attribute [rw] datasync_error_code
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/InvalidRequestException AWS API Documentation
#
class InvalidRequestException < Struct.new(
:message,
:error_code,
:datasync_error_code)
SENSITIVE = []
include Aws::Structure
end
# ListAgentsRequest
#
# @!attribute [rw] max_results
# Specifies the maximum number of DataSync agents to list in a
# response. By default, a response shows a maximum of 100 agents.
# @return [Integer]
#
# @!attribute [rw] next_token
# Specifies an opaque string that indicates the position to begin the
# next list of results in the response.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/ListAgentsRequest AWS API Documentation
#
class ListAgentsRequest < Struct.new(
:max_results,
:next_token)
SENSITIVE = []
include Aws::Structure
end
# ListAgentsResponse
#
# @!attribute [rw] agents
# A list of DataSync agents in your Amazon Web Services account in the
# Amazon Web Services Region specified in the request. The list is
# ordered by the agents' Amazon Resource Names (ARNs).
# @return [Array]
#
# @!attribute [rw] next_token
# The opaque string that indicates the position to begin the next list
# of results in the response.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/ListAgentsResponse AWS API Documentation
#
class ListAgentsResponse < Struct.new(
:agents,
:next_token)
SENSITIVE = []
include Aws::Structure
end
# ListLocationsRequest
#
# @!attribute [rw] max_results
# The maximum number of locations to return.
# @return [Integer]
#
# @!attribute [rw] next_token
# An opaque string that indicates the position at which to begin the
# next list of locations.
# @return [String]
#
# @!attribute [rw] filters
# You can use API filters to narrow down the list of resources
# returned by `ListLocations`. For example, to retrieve all tasks on a
# specific source location, you can use `ListLocations` with filter
# name `LocationType S3` and `Operator Equals`.
# @return [Array]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/ListLocationsRequest AWS API Documentation
#
class ListLocationsRequest < Struct.new(
:max_results,
:next_token,
:filters)
SENSITIVE = []
include Aws::Structure
end
# ListLocationsResponse
#
# @!attribute [rw] locations
# An array that contains a list of locations.
# @return [Array]
#
# @!attribute [rw] next_token
# An opaque string that indicates the position at which to begin
# returning the next list of locations.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/ListLocationsResponse AWS API Documentation
#
class ListLocationsResponse < Struct.new(
:locations,
:next_token)
SENSITIVE = []
include Aws::Structure
end
# ListTagsForResourceRequest
#
# @!attribute [rw] resource_arn
# Specifies the Amazon Resource Name (ARN) of the resource that you
# want tag information on.
# @return [String]
#
# @!attribute [rw] max_results
# Specifies how many results that you want in the response.
# @return [Integer]
#
# @!attribute [rw] next_token
# Specifies an opaque string that indicates the position to begin the
# next list of results in the response.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/ListTagsForResourceRequest AWS API Documentation
#
class ListTagsForResourceRequest < Struct.new(
:resource_arn,
:max_results,
:next_token)
SENSITIVE = []
include Aws::Structure
end
# ListTagsForResourceResponse
#
# @!attribute [rw] tags
# An array of tags applied to the specified resource.
# @return [Array]
#
# @!attribute [rw] next_token
# The opaque string that indicates the position to begin the next list
# of results in the response.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/ListTagsForResourceResponse AWS API Documentation
#
class ListTagsForResourceResponse < Struct.new(
:tags,
:next_token)
SENSITIVE = []
include Aws::Structure
end
# ListTaskExecutions
#
# @!attribute [rw] task_arn
# The Amazon Resource Name (ARN) of the task whose tasks you want to
# list.
# @return [String]
#
# @!attribute [rw] max_results
# The maximum number of executed tasks to list.
# @return [Integer]
#
# @!attribute [rw] next_token
# An opaque string that indicates the position at which to begin the
# next list of the executed tasks.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/ListTaskExecutionsRequest AWS API Documentation
#
class ListTaskExecutionsRequest < Struct.new(
:task_arn,
:max_results,
:next_token)
SENSITIVE = []
include Aws::Structure
end
# ListTaskExecutionsResponse
#
# @!attribute [rw] task_executions
# A list of executed tasks.
# @return [Array]
#
# @!attribute [rw] next_token
# An opaque string that indicates the position at which to begin
# returning the next list of executed tasks.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/ListTaskExecutionsResponse AWS API Documentation
#
class ListTaskExecutionsResponse < Struct.new(
:task_executions,
:next_token)
SENSITIVE = []
include Aws::Structure
end
# ListTasksRequest
#
# @!attribute [rw] max_results
# The maximum number of tasks to return.
# @return [Integer]
#
# @!attribute [rw] next_token
# An opaque string that indicates the position at which to begin the
# next list of tasks.
# @return [String]
#
# @!attribute [rw] filters
# You can use API filters to narrow down the list of resources
# returned by `ListTasks`. For example, to retrieve all tasks on a
# specific source location, you can use `ListTasks` with filter name
# `LocationId` and `Operator Equals` with the ARN for the location.
# @return [Array]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/ListTasksRequest AWS API Documentation
#
class ListTasksRequest < Struct.new(
:max_results,
:next_token,
:filters)
SENSITIVE = []
include Aws::Structure
end
# ListTasksResponse
#
# @!attribute [rw] tasks
# A list of all the tasks that are returned.
# @return [Array]
#
# @!attribute [rw] next_token
# An opaque string that indicates the position at which to begin
# returning the next list of tasks.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/ListTasksResponse AWS API Documentation
#
class ListTasksResponse < Struct.new(
:tasks,
:next_token)
SENSITIVE = []
include Aws::Structure
end
# Narrow down the list of resources returned by `ListLocations`. For
# example, to see all your Amazon S3 locations, create a filter using
# `"Name": "LocationType"`, `"Operator": "Equals"`, and `"Values":
# "S3"`.
#
# For more information, see [filtering resources][1].
#
#
#
# [1]: https://docs.aws.amazon.com/datasync/latest/userguide/query-resources.html
#
# @!attribute [rw] name
# The name of the filter being used. Each API call supports a list of
# filters that are available for it (for example, `LocationType` for
# `ListLocations`).
# @return [String]
#
# @!attribute [rw] values
# The values that you want to filter for. For example, you might want
# to display only Amazon S3 locations.
# @return [Array]
#
# @!attribute [rw] operator
# The operator that is used to compare filter values (for example,
# `Equals` or `Contains`).
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/LocationFilter AWS API Documentation
#
class LocationFilter < Struct.new(
:name,
:values,
:operator)
SENSITIVE = []
include Aws::Structure
end
# Represents a single entry in a list of locations. `LocationListEntry`
# returns an array that contains a list of locations when the
# [ListLocations][1] operation is called.
#
#
#
# [1]: https://docs.aws.amazon.com/datasync/latest/userguide/API_ListLocations.html
#
# @!attribute [rw] location_arn
# The Amazon Resource Name (ARN) of the location. For Network File
# System (NFS) or Amazon EFS, the location is the export path. For
# Amazon S3, the location is the prefix path that you want to mount
# and use as the root of the location.
# @return [String]
#
# @!attribute [rw] location_uri
# Represents a list of URIs of a location. `LocationUri` returns an
# array that contains a list of locations when the [ListLocations][1]
# operation is called.
#
# Format: `TYPE://GLOBAL_ID/SUBDIR`.
#
# TYPE designates the type of location (for example, `nfs` or `s3`).
#
# GLOBAL\_ID is the globally unique identifier of the resource that
# backs the location. An example for EFS is `us-east-2.fs-abcd1234`.
# An example for Amazon S3 is the bucket name, such as `myBucket`. An
# example for NFS is a valid IPv4 address or a hostname that is
# compliant with Domain Name Service (DNS).
#
# SUBDIR is a valid file system path, delimited by forward slashes as
# is the *nix convention. For NFS and Amazon EFS, it's the export
# path to mount the location. For Amazon S3, it's the prefix path
# that you mount to and treat as the root of the location.
#
#
#
#
#
# [1]: https://docs.aws.amazon.com/datasync/latest/userguide/API_ListLocations.html
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/LocationListEntry AWS API Documentation
#
class LocationListEntry < Struct.new(
:location_arn,
:location_uri)
SENSITIVE = []
include Aws::Structure
end
# Specifies how DataSync can access a location using the NFS protocol.
#
# @!attribute [rw] version
# Specifies the NFS version that you want DataSync to use when
# mounting your NFS share. If the server refuses to use the version
# specified, the task fails.
#
# You can specify the following options:
#
# * `AUTOMATIC` (default): DataSync chooses NFS version 4.1.
#
# * `NFS3`\: Stateless protocol version that allows for asynchronous
# writes on the server.
#
# * `NFSv4_0`\: Stateful, firewall-friendly protocol version that
# supports delegations and pseudo file systems.
#
# * `NFSv4_1`\: Stateful protocol version that supports sessions,
# directory delegations, and parallel data processing. NFS version
# 4.1 also includes all features available in version 4.0.
#
# DataSync currently only supports NFS version 3 with Amazon FSx for
# NetApp ONTAP locations.
#
#
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/NfsMountOptions AWS API Documentation
#
class NfsMountOptions < Struct.new(
:version)
SENSITIVE = []
include Aws::Structure
end
# A list of Amazon Resource Names (ARNs) of agents to use for a Network
# File System (NFS) location.
#
# @!attribute [rw] agent_arns
# ARNs of the agents to use for an NFS location.
# @return [Array]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/OnPremConfig AWS API Documentation
#
class OnPremConfig < Struct.new(
:agent_arns)
SENSITIVE = []
include Aws::Structure
end
# Configures your DataSync task settings. These options include how
# DataSync handles files, objects, and their associated metadata. You
# also can specify how DataSync verifies data integrity, set bandwidth
# limits for your task, among other options.
#
# Each task setting has a default value. Unless you need to, you don't
# have to configure any of these `Options` before starting your task.
#
# @!attribute [rw] verify_mode
# Specifies how and when DataSync checks the integrity of your data
# during a transfer.
#
# Default value: `POINT_IN_TIME_CONSISTENT`
#
# `ONLY_FILES_TRANSFERRED` (recommended): DataSync calculates the
# checksum of transferred files and metadata at the source location.
# At the end of the transfer, DataSync then compares this checksum to
# the checksum calculated on those files at the destination.
#
# We recommend this option when transferring to S3 Glacier Flexible
# Retrieval or S3 Glacier Deep Archive storage classes. For more
# information, see [Storage class considerations with Amazon S3
# locations][1].
#
# `POINT_IN_TIME_CONSISTENT`\: At the end of the transfer, DataSync
# scans the entire source and destination to verify that both
# locations are fully synchronized.
#
# You can't use this option when transferring to S3 Glacier Flexible
# Retrieval or S3 Glacier Deep Archive storage classes. For more
# information, see [Storage class considerations with Amazon S3
# locations][1].
#
# `NONE`\: DataSync doesn't run additional verification at the end of
# the transfer. All data transmissions are still integrity-checked
# with checksum verification during the transfer.
#
#
#
# [1]: https://docs.aws.amazon.com/datasync/latest/userguide/create-s3-location.html#using-storage-classes
# @return [String]
#
# @!attribute [rw] overwrite_mode
# Specifies whether data at the destination location should be
# overwritten or preserved. If set to `NEVER`, a destination file for
# example will not be replaced by a source file (even if the
# destination file differs from the source file). If you modify files
# in the destination and you sync the files, you can use this value to
# protect against overwriting those changes.
#
# Some storage classes have specific behaviors that can affect your
# Amazon S3 storage cost. For detailed information, see
# [Considerations when working with Amazon S3 storage classes in
# DataSync][1].
#
#
#
# [1]: https://docs.aws.amazon.com/datasync/latest/userguide/create-s3-location.html#using-storage-classes
# @return [String]
#
# @!attribute [rw] atime
# Specifies whether to preserve metadata indicating the last time a
# file was read or written to. If you set `Atime` to `BEST_EFFORT`,
# DataSync attempts to preserve the original `Atime` attribute on all
# source files (that is, the version before the `PREPARING` phase of
# the task execution).
#
# The behavior of `Atime` isn't fully standard across platforms, so
# DataSync can only do this on a best-effort basis.
#
#
#
# Default value: `BEST_EFFORT`
#
# `BEST_EFFORT`\: Attempt to preserve the per-file `Atime` value
# (recommended).
#
# `NONE`\: Ignore `Atime`.
#
# If `Atime` is set to `BEST_EFFORT`, `Mtime` must be set to
# `PRESERVE`.
#
# If `Atime` is set to `NONE`, `Mtime` must also be `NONE`.
#
#
# @return [String]
#
# @!attribute [rw] mtime
# Specifies whether to preserve metadata indicating the last time that
# a file was written to before the `PREPARING` phase of your task
# execution. This option is required when you need to run the a task
# more than once.
#
# Default Value: `PRESERVE`
#
# `PRESERVE`\: Preserve original `Mtime` (recommended)
#
# `NONE`\: Ignore `Mtime`.
#
# If `Mtime` is set to `PRESERVE`, `Atime` must be set to
# `BEST_EFFORT`.
#
# If `Mtime` is set to `NONE`, `Atime` must also be set to `NONE`.
#
#
# @return [String]
#
# @!attribute [rw] uid
# Specifies the POSIX user ID (UID) of the file's owner.
#
# For more information, see [Metadata copied by DataSync][1].
#
# Default value: `INT_VALUE`. This preserves the integer value of the
# ID.
#
# `INT_VALUE`\: Preserve the integer value of UID and group ID (GID)
# (recommended).
#
# `NONE`\: Ignore UID and GID.
#
#
#
# [1]: https://docs.aws.amazon.com/datasync/latest/userguide/special-files.html#metadata-copied
# @return [String]
#
# @!attribute [rw] gid
# Specifies the POSIX group ID (GID) of the file's owners.
#
# For more information, see [Metadata copied by DataSync][1].
#
# Default value: `INT_VALUE`. This preserves the integer value of the
# ID.
#
# `INT_VALUE`\: Preserve the integer value of user ID (UID) and GID
# (recommended).
#
# `NONE`\: Ignore UID and GID.
#
#
#
# [1]: https://docs.aws.amazon.com/datasync/latest/userguide/special-files.html#metadata-copied
# @return [String]
#
# @!attribute [rw] preserve_deleted_files
# Specifies whether files in the destination location that don't
# exist in the source should be preserved. This option can affect your
# Amazon S3 storage cost. If your task deletes objects, you might
# incur minimum storage duration charges for certain storage classes.
# For detailed information, see [Considerations when working with
# Amazon S3 storage classes in DataSync][1].
#
# Default value: `PRESERVE`
#
# `PRESERVE`\: Ignore such destination files (recommended).
#
# `REMOVE`\: Delete destination files that aren’t present in the
# source.
#
# If you set this parameter to `REMOVE`, you can't set `TransferMode`
# to `ALL`. When you transfer all data, DataSync doesn't scan your
# destination location and doesn't know what to delete.
#
#
#
#
#
# [1]: https://docs.aws.amazon.com/datasync/latest/userguide/create-s3-location.html#using-storage-classes
# @return [String]
#
# @!attribute [rw] preserve_devices
# Specifies whether DataSync should preserve the metadata of block and
# character devices in the source location and recreate the files with
# that device name and metadata on the destination. DataSync copies
# only the name and metadata of such devices.
#
# DataSync can't copy the actual contents of these devices because
# they're nonterminal and don't return an end-of-file (EOF) marker.
#
#
#
# Default value: `NONE`
#
# `NONE`\: Ignore special devices (recommended).
#
# `PRESERVE`\: Preserve character and block device metadata. This
# option currently isn't supported for Amazon EFS.
# @return [String]
#
# @!attribute [rw] posix_permissions
# Specifies which users or groups can access a file for a specific
# purpose such as reading, writing, or execution of the file.
#
# For more information, see [Metadata copied by DataSync][1].
#
# Default value: `PRESERVE`
#
# `PRESERVE`\: Preserve POSIX-style permissions (recommended).
#
# `NONE`\: Ignore permissions.
#
# DataSync can preserve extant permissions of a source location.
#
#
#
#
#
# [1]: https://docs.aws.amazon.com/datasync/latest/userguide/special-files.html#metadata-copied
# @return [String]
#
# @!attribute [rw] bytes_per_second
# Limits the bandwidth used by a DataSync task. For example, if you
# want DataSync to use a maximum of 1 MB, set this value to `1048576`
# (`=1024*1024`).
# @return [Integer]
#
# @!attribute [rw] task_queueing
# Specifies whether tasks should be queued before executing the tasks.
# The default is `ENABLED`, which means the tasks will be queued.
#
# If you use the same agent to run multiple tasks, you can enable the
# tasks to run in series. For more information, see [Queueing task
# executions][1].
#
#
#
# [1]: https://docs.aws.amazon.com/datasync/latest/userguide/run-task.html#queue-task-execution
# @return [String]
#
# @!attribute [rw] log_level
# Specifies the type of logs that DataSync publishes to a Amazon
# CloudWatch Logs log group. To specify the log group, see
# [CloudWatchLogGroupArn][1].
#
# If you set `LogLevel` to `OFF`, no logs are published. `BASIC`
# publishes logs on errors for individual files transferred.
# `TRANSFER` publishes logs for every file or object that is
# transferred and integrity checked.
#
#
#
# [1]: https://docs.aws.amazon.com/datasync/latest/userguide/API_CreateTask.html#DataSync-CreateTask-request-CloudWatchLogGroupArn
# @return [String]
#
# @!attribute [rw] transfer_mode
# Determines whether DataSync transfers only the data and metadata
# that differ between the source and the destination location or
# transfers all the content from the source (without comparing what's
# in the destination).
#
# `CHANGED`\: DataSync copies only data or metadata that is new or
# different content from the source location to the destination
# location.
#
# `ALL`\: DataSync copies all source location content to the
# destination (without comparing what's in the destination).
# @return [String]
#
# @!attribute [rw] security_descriptor_copy_flags
# Specifies which components of the SMB security descriptor are copied
# from source to destination objects.
#
# This value is only used for transfers between SMB and Amazon FSx for
# Windows File Server locations or between two FSx for Windows File
# Server locations. For more information, see [how DataSync handles
# metadata][1].
#
# Default value: `OWNER_DACL`
#
# `OWNER_DACL`\: For each copied object, DataSync copies the following
# metadata:
#
# * The object owner.
#
# * NTFS discretionary access control lists (DACLs), which determine
# whether to grant access to an object.
#
# DataSync won't copy NTFS system access control lists (SACLs) with
# this option.
#
# `OWNER_DACL_SACL`\: For each copied object, DataSync copies the
# following metadata:
#
# * The object owner.
#
# * NTFS discretionary access control lists (DACLs), which determine
# whether to grant access to an object.
#
# * SACLs, which are used by administrators to log attempts to access
# a secured object.
#
# Copying SACLs requires granting additional permissions to the
# Windows user that DataSync uses to access your SMB location. For
# information about choosing a user that ensures sufficient
# permissions to files, folders, and metadata, see
# [user](create-smb-location.html#SMBuser).
#
# `NONE`\: None of the SMB security descriptor components are copied.
# Destination objects are owned by the user that was provided for
# accessing the destination location. DACLs and SACLs are set based on
# the destination server’s configuration.
#
#
#
# [1]: https://docs.aws.amazon.com/datasync/latest/userguide/special-files.html
# @return [String]
#
# @!attribute [rw] object_tags
# Specifies whether object tags are preserved when transferring
# between object storage systems. If you want your DataSync task to
# ignore object tags, specify the `NONE` value.
#
# Default Value: `PRESERVE`
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/Options AWS API Documentation
#
class Options < Struct.new(
:verify_mode,
:overwrite_mode,
:atime,
:mtime,
:uid,
:gid,
:preserve_deleted_files,
:preserve_devices,
:posix_permissions,
:bytes_per_second,
:task_queueing,
:log_level,
:transfer_mode,
:security_descriptor_copy_flags,
:object_tags)
SENSITIVE = []
include Aws::Structure
end
# The VPC endpoint, subnet, and security group that an agent uses to
# access IP addresses in a VPC (Virtual Private Cloud).
#
# @!attribute [rw] vpc_endpoint_id
# The ID of the VPC endpoint that is configured for an agent. An agent
# that is configured with a VPC endpoint will not be accessible over
# the public internet.
# @return [String]
#
# @!attribute [rw] private_link_endpoint
# The private endpoint that is configured for an agent that has access
# to IP addresses in a [PrivateLink][1]. An agent that is configured
# with this endpoint will not be accessible over the public internet.
#
#
#
# [1]: https://docs.aws.amazon.com/vpc/latest/userguide/endpoint-service.html
# @return [String]
#
# @!attribute [rw] subnet_arns
# The Amazon Resource Names (ARNs) of the subnets that are configured
# for an agent activated in a VPC or an agent that has access to a VPC
# endpoint.
# @return [Array]
#
# @!attribute [rw] security_group_arns
# The Amazon Resource Names (ARNs) of the security groups that are
# configured for the EC2 resource that hosts an agent activated in a
# VPC or an agent that has access to a VPC endpoint.
# @return [Array]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/PrivateLinkConfig AWS API Documentation
#
class PrivateLinkConfig < Struct.new(
:vpc_endpoint_id,
:private_link_endpoint,
:subnet_arns,
:security_group_arns)
SENSITIVE = []
include Aws::Structure
end
# The Quality of Protection (QOP) configuration specifies the Remote
# Procedure Call (RPC) and data transfer privacy settings configured on
# the Hadoop Distributed File System (HDFS) cluster.
#
# @!attribute [rw] rpc_protection
# The RPC protection setting configured on the HDFS cluster. This
# setting corresponds to your `hadoop.rpc.protection` setting in your
# `core-site.xml` file on your Hadoop cluster.
# @return [String]
#
# @!attribute [rw] data_transfer_protection
# The data transfer protection setting configured on the HDFS cluster.
# This setting corresponds to your `dfs.data.transfer.protection`
# setting in the `hdfs-site.xml` file on your Hadoop cluster.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/QopConfiguration AWS API Documentation
#
class QopConfiguration < Struct.new(
:rpc_protection,
:data_transfer_protection)
SENSITIVE = []
include Aws::Structure
end
# The Amazon Resource Name (ARN) of the Identity and Access Management
# (IAM) role used to access an Amazon S3 bucket.
#
# For detailed information about using such a role, see Creating a
# Location for Amazon S3 in the *DataSync User Guide*.
#
# @!attribute [rw] bucket_access_role_arn
# The ARN of the IAM role for accessing the S3 bucket.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/S3Config AWS API Documentation
#
class S3Config < Struct.new(
:bucket_access_role_arn)
SENSITIVE = []
include Aws::Structure
end
# Specifies the version of the Server Message Block (SMB) protocol that
# DataSync uses to access an SMB file server.
#
# @!attribute [rw] version
# By default, DataSync automatically chooses an SMB protocol version
# based on negotiation with your SMB file server. You also can
# configure DataSync to use a specific SMB version, but we recommend
# doing this only if DataSync has trouble negotiating with the SMB
# file server automatically.
#
# These are the following options for configuring the SMB version:
#
# * `AUTOMATIC` (default): DataSync and the SMB file server negotiate
# a protocol version that they mutually support. (DataSync supports
# SMB versions 1.0 and later.)
#
# This is the recommended option. If you instead choose a specific
# version that your file server doesn't support, you may get an
# `Operation Not Supported` error.
#
# * `SMB3`\: Restricts the protocol negotiation to only SMB version
# 3.0.2.
#
# * `SMB2`\: Restricts the protocol negotiation to only SMB version
# 2.1.
#
# * `SMB2_0`\: Restricts the protocol negotiation to only SMB version
# 2.0.
#
# * `SMB1`\: Restricts the protocol negotiation to only SMB version
# 1.0.
#
# The `SMB1` option isn't available when [creating an Amazon FSx
# for NetApp ONTAP location][1].
#
#
#
#
#
# [1]: https://docs.aws.amazon.com/datasync/latest/userguide/API_CreateLocationFsxOntap.html
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/SmbMountOptions AWS API Documentation
#
class SmbMountOptions < Struct.new(
:version)
SENSITIVE = []
include Aws::Structure
end
# StartTaskExecutionRequest
#
# @!attribute [rw] task_arn
# Specifies the Amazon Resource Name (ARN) of the task that you want
# to start.
# @return [String]
#
# @!attribute [rw] override_options
# Configures your DataSync task settings. These options include how
# DataSync handles files, objects, and their associated metadata. You
# also can specify how DataSync verifies data integrity, set bandwidth
# limits for your task, among other options.
#
# Each task setting has a default value. Unless you need to, you
# don't have to configure any of these `Options` before starting your
# task.
# @return [Types::Options]
#
# @!attribute [rw] includes
# Specifies a list of filter rules that determines which files to
# include when running a task. The pattern should contain a single
# filter string that consists of the patterns to include. The patterns
# are delimited by "\|" (that is, a pipe), for example,
# `"/folder1|/folder2"`.
# @return [Array]
#
# @!attribute [rw] excludes
# Specifies a list of filter rules that determines which files to
# exclude from a task. The list contains a single filter string that
# consists of the patterns to exclude. The patterns are delimited by
# "\|" (that is, a pipe), for example, `"/folder1|/folder2"`.
# @return [Array]
#
# @!attribute [rw] tags
# Specifies the tags that you want to apply to the Amazon Resource
# Name (ARN) representing the task execution.
#
# *Tags* are key-value pairs that help you manage, filter, and search
# for your DataSync resources.
# @return [Array]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/StartTaskExecutionRequest AWS API Documentation
#
class StartTaskExecutionRequest < Struct.new(
:task_arn,
:override_options,
:includes,
:excludes,
:tags)
SENSITIVE = []
include Aws::Structure
end
# StartTaskExecutionResponse
#
# @!attribute [rw] task_execution_arn
# The ARN of the running task execution.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/StartTaskExecutionResponse AWS API Documentation
#
class StartTaskExecutionResponse < Struct.new(
:task_execution_arn)
SENSITIVE = []
include Aws::Structure
end
# A key-value pair representing a single tag that's been applied to an
# Amazon Web Services resource.
#
# @!attribute [rw] key
# The key for an Amazon Web Services resource tag.
# @return [String]
#
# @!attribute [rw] value
# The value for an Amazon Web Services resource tag.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/TagListEntry AWS API Documentation
#
class TagListEntry < Struct.new(
:key,
:value)
SENSITIVE = []
include Aws::Structure
end
# TagResourceRequest
#
# @!attribute [rw] resource_arn
# Specifies the Amazon Resource Name (ARN) of the resource to apply
# the tag to.
# @return [String]
#
# @!attribute [rw] tags
# Specifies the tags that you want to apply to the resource.
# @return [Array]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/TagResourceRequest AWS API Documentation
#
class TagResourceRequest < Struct.new(
:resource_arn,
:tags)
SENSITIVE = []
include Aws::Structure
end
# @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/TagResourceResponse AWS API Documentation
#
class TagResourceResponse < Aws::EmptyStructure; end
# Represents a single entry in a list of task executions.
# `TaskExecutionListEntry` returns an array that contains a list of
# specific invocations of a task when the [ListTaskExecutions][1]
# operation is called.
#
#
#
# [1]: https://docs.aws.amazon.com/datasync/latest/userguide/API_ListTaskExecutions.html
#
# @!attribute [rw] task_execution_arn
# The Amazon Resource Name (ARN) of the task that was executed.
# @return [String]
#
# @!attribute [rw] status
# The status of a task execution.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/TaskExecutionListEntry AWS API Documentation
#
class TaskExecutionListEntry < Struct.new(
:task_execution_arn,
:status)
SENSITIVE = []
include Aws::Structure
end
# Describes the detailed result of a `TaskExecution` operation. This
# result includes the time in milliseconds spent in each phase, the
# status of the task execution, and the errors encountered.
#
# @!attribute [rw] prepare_duration
# The total time in milliseconds that DataSync spent in the PREPARING
# phase.
# @return [Integer]
#
# @!attribute [rw] prepare_status
# The status of the PREPARING phase.
# @return [String]
#
# @!attribute [rw] total_duration
# The total time in milliseconds that DataSync took to transfer the
# file from the source to the destination location.
# @return [Integer]
#
# @!attribute [rw] transfer_duration
# The total time in milliseconds that DataSync spent in the
# TRANSFERRING phase.
# @return [Integer]
#
# @!attribute [rw] transfer_status
# The status of the TRANSFERRING phase.
# @return [String]
#
# @!attribute [rw] verify_duration
# The total time in milliseconds that DataSync spent in the VERIFYING
# phase.
# @return [Integer]
#
# @!attribute [rw] verify_status
# The status of the VERIFYING phase.
# @return [String]
#
# @!attribute [rw] error_code
# Errors that DataSync encountered during execution of the task. You
# can use this error code to help troubleshoot issues.
# @return [String]
#
# @!attribute [rw] error_detail
# Detailed description of an error that was encountered during the
# task execution. You can use this information to help troubleshoot
# issues.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/TaskExecutionResultDetail AWS API Documentation
#
class TaskExecutionResultDetail < Struct.new(
:prepare_duration,
:prepare_status,
:total_duration,
:transfer_duration,
:transfer_status,
:verify_duration,
:verify_status,
:error_code,
:error_detail)
SENSITIVE = []
include Aws::Structure
end
# You can use API filters to narrow down the list of resources returned
# by `ListTasks`. For example, to retrieve all tasks on a source
# location, you can use `ListTasks` with filter name `LocationId` and
# `Operator Equals` with the ARN for the location.
#
# For more information, see [filtering DataSync resources][1].
#
#
#
# [1]: https://docs.aws.amazon.com/datasync/latest/userguide/query-resources.html
#
# @!attribute [rw] name
# The name of the filter being used. Each API call supports a list of
# filters that are available for it. For example, `LocationId` for
# `ListTasks`.
# @return [String]
#
# @!attribute [rw] values
# The values that you want to filter for. For example, you might want
# to display only tasks for a specific destination location.
# @return [Array]
#
# @!attribute [rw] operator
# The operator that is used to compare filter values (for example,
# `Equals` or `Contains`).
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/TaskFilter AWS API Documentation
#
class TaskFilter < Struct.new(
:name,
:values,
:operator)
SENSITIVE = []
include Aws::Structure
end
# Represents a single entry in a list of tasks. `TaskListEntry` returns
# an array that contains a list of tasks when the [ListTasks][1]
# operation is called. A task includes the source and destination file
# systems to sync and the options to use for the tasks.
#
#
#
# [1]: https://docs.aws.amazon.com/datasync/latest/userguide/API_ListTasks.html
#
# @!attribute [rw] task_arn
# The Amazon Resource Name (ARN) of the task.
# @return [String]
#
# @!attribute [rw] status
# The status of the task.
# @return [String]
#
# @!attribute [rw] name
# The name of the task.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/TaskListEntry AWS API Documentation
#
class TaskListEntry < Struct.new(
:task_arn,
:status,
:name)
SENSITIVE = []
include Aws::Structure
end
# Specifies the schedule you want your task to use for repeated
# executions. For more information, see [Schedule Expressions for
# Rules][1].
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/ScheduledEvents.html
#
# @!attribute [rw] schedule_expression
# A cron expression that specifies when DataSync initiates a scheduled
# transfer from a source to a destination location.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/TaskSchedule AWS API Documentation
#
class TaskSchedule < Struct.new(
:schedule_expression)
SENSITIVE = []
include Aws::Structure
end
# UntagResourceRequest
#
# @!attribute [rw] resource_arn
# Specifies the Amazon Resource Name (ARN) of the resource to remove
# the tags from.
# @return [String]
#
# @!attribute [rw] keys
# Specifies the keys in the tags that you want to remove.
# @return [Array]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/UntagResourceRequest AWS API Documentation
#
class UntagResourceRequest < Struct.new(
:resource_arn,
:keys)
SENSITIVE = []
include Aws::Structure
end
# @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/UntagResourceResponse AWS API Documentation
#
class UntagResourceResponse < Aws::EmptyStructure; end
# UpdateAgentRequest
#
# @!attribute [rw] agent_arn
# The Amazon Resource Name (ARN) of the agent to update.
# @return [String]
#
# @!attribute [rw] name
# The name that you want to use to configure the agent.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/UpdateAgentRequest AWS API Documentation
#
class UpdateAgentRequest < Struct.new(
:agent_arn,
:name)
SENSITIVE = []
include Aws::Structure
end
# @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/UpdateAgentResponse AWS API Documentation
#
class UpdateAgentResponse < Aws::EmptyStructure; end
# @!attribute [rw] location_arn
# The Amazon Resource Name (ARN) of the source HDFS cluster location.
# @return [String]
#
# @!attribute [rw] subdirectory
# A subdirectory in the HDFS cluster. This subdirectory is used to
# read data from or write data to the HDFS cluster.
# @return [String]
#
# @!attribute [rw] name_nodes
# The NameNode that manages the HDFS namespace. The NameNode performs
# operations such as opening, closing, and renaming files and
# directories. The NameNode contains the information to map blocks of
# data to the DataNodes. You can use only one NameNode.
# @return [Array]
#
# @!attribute [rw] block_size
# The size of the data blocks to write into the HDFS cluster.
# @return [Integer]
#
# @!attribute [rw] replication_factor
# The number of DataNodes to replicate the data to when writing to the
# HDFS cluster.
# @return [Integer]
#
# @!attribute [rw] kms_key_provider_uri
# The URI of the HDFS cluster's Key Management Server (KMS).
# @return [String]
#
# @!attribute [rw] qop_configuration
# The Quality of Protection (QOP) configuration specifies the Remote
# Procedure Call (RPC) and data transfer privacy settings configured
# on the Hadoop Distributed File System (HDFS) cluster.
# @return [Types::QopConfiguration]
#
# @!attribute [rw] authentication_type
# The type of authentication used to determine the identity of the
# user.
# @return [String]
#
# @!attribute [rw] simple_user
# The user name used to identify the client on the host operating
# system.
# @return [String]
#
# @!attribute [rw] kerberos_principal
# The Kerberos principal with access to the files and folders on the
# HDFS cluster.
# @return [String]
#
# @!attribute [rw] kerberos_keytab
# The Kerberos key table (keytab) that contains mappings between the
# defined Kerberos principal and the encrypted keys. You can load the
# keytab from a file by providing the file's address. If you use the
# CLI, it performs base64 encoding for you. Otherwise, provide the
# base64-encoded text.
# @return [String]
#
# @!attribute [rw] kerberos_krb_5_conf
# The `krb5.conf` file that contains the Kerberos configuration
# information. You can load the `krb5.conf` file by providing the
# file's address. If you're using the CLI, it performs the base64
# encoding for you. Otherwise, provide the base64-encoded text.
# @return [String]
#
# @!attribute [rw] agent_arns
# The ARNs of the agents that are used to connect to the HDFS cluster.
# @return [Array]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/UpdateLocationHdfsRequest AWS API Documentation
#
class UpdateLocationHdfsRequest < Struct.new(
:location_arn,
:subdirectory,
:name_nodes,
:block_size,
:replication_factor,
:kms_key_provider_uri,
:qop_configuration,
:authentication_type,
:simple_user,
:kerberos_principal,
:kerberos_keytab,
:kerberos_krb_5_conf,
:agent_arns)
SENSITIVE = []
include Aws::Structure
end
# @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/UpdateLocationHdfsResponse AWS API Documentation
#
class UpdateLocationHdfsResponse < Aws::EmptyStructure; end
# @!attribute [rw] location_arn
# The Amazon Resource Name (ARN) of the NFS location to update.
# @return [String]
#
# @!attribute [rw] subdirectory
# The subdirectory in the NFS file system that is used to read data
# from the NFS source location or write data to the NFS destination.
# The NFS path should be a path that's exported by the NFS server, or
# a subdirectory of that path. The path should be such that it can be
# mounted by other NFS clients in your network.
#
# To see all the paths exported by your NFS server, run "`showmount
# -e nfs-server-name`" from an NFS client that has access to your
# server. You can specify any directory that appears in the results,
# and any subdirectory of that directory. Ensure that the NFS export
# is accessible without Kerberos authentication.
#
# To transfer all the data in the folder that you specified, DataSync
# must have permissions to read all the data. To ensure this, either
# configure the NFS export with `no_root_squash`, or ensure that the
# files you want DataSync to access have permissions that allow read
# access for all users. Doing either option enables the agent to read
# the files. For the agent to access directories, you must
# additionally enable all execute access.
#
# If you are copying data to or from your Snowcone device, see [NFS
# Server on Snowcone][1] for more information.
#
# For information about NFS export configuration, see 18.7. The
# /etc/exports Configuration File in the Red Hat Enterprise Linux
# documentation.
#
#
#
# [1]: https://docs.aws.amazon.com/datasync/latest/userguide/create-nfs-location.html#nfs-on-snowcone
# @return [String]
#
# @!attribute [rw] on_prem_config
# A list of Amazon Resource Names (ARNs) of agents to use for a
# Network File System (NFS) location.
# @return [Types::OnPremConfig]
#
# @!attribute [rw] mount_options
# Specifies how DataSync can access a location using the NFS protocol.
# @return [Types::NfsMountOptions]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/UpdateLocationNfsRequest AWS API Documentation
#
class UpdateLocationNfsRequest < Struct.new(
:location_arn,
:subdirectory,
:on_prem_config,
:mount_options)
SENSITIVE = []
include Aws::Structure
end
# @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/UpdateLocationNfsResponse AWS API Documentation
#
class UpdateLocationNfsResponse < Aws::EmptyStructure; end
# @!attribute [rw] location_arn
# Specifies the ARN of the object storage system location that you're
# updating.
# @return [String]
#
# @!attribute [rw] server_port
# Specifies the port that your object storage server accepts inbound
# network traffic on (for example, port 443).
# @return [Integer]
#
# @!attribute [rw] server_protocol
# Specifies the protocol that your object storage server uses to
# communicate.
# @return [String]
#
# @!attribute [rw] 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.
# @return [String]
#
# @!attribute [rw] access_key
# Specifies the access key (for example, a user name) if credentials
# are required to authenticate with the object storage server.
# @return [String]
#
# @!attribute [rw] secret_key
# Specifies the secret key (for example, a password) if credentials
# are required to authenticate with the object storage server.
# @return [String]
#
# @!attribute [rw] agent_arns
# Specifies the Amazon Resource Names (ARNs) of the DataSync agents
# that can securely connect with your location.
# @return [Array]
#
# @!attribute [rw] server_certificate
# Specifies a certificate to authenticate with an object storage
# system that uses a private or self-signed certificate authority
# (CA). You must specify a Base64-encoded `.pem` file (for example,
# `file:///home/user/.ssh/storage_sys_certificate.pem`). The
# certificate can be up to 32768 bytes (before Base64 encoding).
#
# To use this parameter, configure `ServerProtocol` to `HTTPS`.
#
# Updating the certificate doesn't interfere with tasks that you have
# in progress.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/UpdateLocationObjectStorageRequest AWS API Documentation
#
class UpdateLocationObjectStorageRequest < Struct.new(
:location_arn,
:server_port,
:server_protocol,
:subdirectory,
:access_key,
:secret_key,
:agent_arns,
:server_certificate)
SENSITIVE = [:secret_key]
include Aws::Structure
end
# @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/UpdateLocationObjectStorageResponse AWS API Documentation
#
class UpdateLocationObjectStorageResponse < Aws::EmptyStructure; end
# @!attribute [rw] location_arn
# The Amazon Resource Name (ARN) of the SMB location to update.
# @return [String]
#
# @!attribute [rw] subdirectory
# The subdirectory in the SMB file system that is used to read data
# from the SMB source location or write data to the SMB destination.
# The SMB path should be a path that's exported by the SMB server, or
# a subdirectory of that path. The path should be such that it can be
# mounted by other SMB clients in your network.
#
# `Subdirectory` must be specified with forward slashes. For example,
# `/path/to/folder`.
#
#
#
# To transfer all the data in the folder that you specified, DataSync
# must have permissions to mount the SMB share and to access all the
# data in that share. To ensure this, do either of the following:
#
# * Ensure that the user/password specified belongs to the user who
# can mount the share and who has the appropriate permissions for
# all of the files and directories that you want DataSync to access.
#
# * Use credentials of a member of the Backup Operators group to mount
# the share.
#
# Doing either of these options enables the agent to access the data.
# For the agent to access directories, you must also enable all
# execute access.
# @return [String]
#
# @!attribute [rw] user
# The user who can mount the share has the permissions to access files
# and folders in the SMB share.
# @return [String]
#
# @!attribute [rw] domain
# The name of the Windows domain that the SMB server belongs to.
# @return [String]
#
# @!attribute [rw] password
# The password of the user who can mount the share has the permissions
# to access files and folders in the SMB share.
# @return [String]
#
# @!attribute [rw] agent_arns
# The Amazon Resource Names (ARNs) of agents to use for a Simple
# Message Block (SMB) location.
# @return [Array]
#
# @!attribute [rw] mount_options
# Specifies the version of the Server Message Block (SMB) protocol
# that DataSync uses to access an SMB file server.
# @return [Types::SmbMountOptions]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/UpdateLocationSmbRequest AWS API Documentation
#
class UpdateLocationSmbRequest < Struct.new(
:location_arn,
:subdirectory,
:user,
:domain,
:password,
:agent_arns,
:mount_options)
SENSITIVE = [:password]
include Aws::Structure
end
# @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/UpdateLocationSmbResponse AWS API Documentation
#
class UpdateLocationSmbResponse < Aws::EmptyStructure; end
# @!attribute [rw] task_execution_arn
# The Amazon Resource Name (ARN) of the specific task execution that
# is being updated.
# @return [String]
#
# @!attribute [rw] options
# Configures your DataSync task settings. These options include how
# DataSync handles files, objects, and their associated metadata. You
# also can specify how DataSync verifies data integrity, set bandwidth
# limits for your task, among other options.
#
# Each task setting has a default value. Unless you need to, you
# don't have to configure any of these `Options` before starting your
# task.
# @return [Types::Options]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/UpdateTaskExecutionRequest AWS API Documentation
#
class UpdateTaskExecutionRequest < Struct.new(
:task_execution_arn,
:options)
SENSITIVE = []
include Aws::Structure
end
# @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/UpdateTaskExecutionResponse AWS API Documentation
#
class UpdateTaskExecutionResponse < Aws::EmptyStructure; end
# UpdateTaskResponse
#
# @!attribute [rw] task_arn
# The Amazon Resource Name (ARN) of the resource name of the task to
# update.
# @return [String]
#
# @!attribute [rw] options
# Configures your DataSync task settings. These options include how
# DataSync handles files, objects, and their associated metadata. You
# also can specify how DataSync verifies data integrity, set bandwidth
# limits for your task, among other options.
#
# Each task setting has a default value. Unless you need to, you
# don't have to configure any of these `Options` before starting your
# task.
# @return [Types::Options]
#
# @!attribute [rw] excludes
# Specifies a list of filter rules that exclude specific data during
# your transfer. For more information and examples, see [Filtering
# data transferred by DataSync][1].
#
#
#
# [1]: https://docs.aws.amazon.com/datasync/latest/userguide/filtering.html
# @return [Array]
#
# @!attribute [rw] schedule
# Specifies a schedule used to periodically transfer files from a
# source to a destination location. You can configure your task to
# execute hourly, daily, weekly or on specific days of the week. You
# control when in the day or hour you want the task to execute. The
# time you specify is UTC time. For more information, see [Scheduling
# your task][1].
#
#
#
# [1]: https://docs.aws.amazon.com/datasync/latest/userguide/task-scheduling.html
# @return [Types::TaskSchedule]
#
# @!attribute [rw] name
# The name of the task to update.
# @return [String]
#
# @!attribute [rw] cloud_watch_log_group_arn
# The Amazon Resource Name (ARN) of the resource name of the Amazon
# CloudWatch log group.
# @return [String]
#
# @!attribute [rw] includes
# Specifies a list of filter rules that include specific data during
# your transfer. For more information and examples, see [Filtering
# data transferred by DataSync][1].
#
#
#
# [1]: https://docs.aws.amazon.com/datasync/latest/userguide/filtering.html
# @return [Array]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/UpdateTaskRequest AWS API Documentation
#
class UpdateTaskRequest < Struct.new(
:task_arn,
:options,
:excludes,
:schedule,
:name,
:cloud_watch_log_group_arn,
:includes)
SENSITIVE = []
include Aws::Structure
end
# @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/UpdateTaskResponse AWS API Documentation
#
class UpdateTaskResponse < Aws::EmptyStructure; end
end
end