# WARNING ABOUT GENERATED CODE # # This file is generated. See the contributing guide for more information: # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md # # WARNING ABOUT GENERATED CODE module Aws::DataSync module Types # Represents a single entry in a list of agents. `AgentListEntry` # returns an array that contains a list of agents when the ListAgents # operation is called. # # @!attribute [rw] agent_arn # The Amazon Resource Name (ARN) of the agent. # @return [String] # # @!attribute [rw] name # The name of the agent. # @return [String] # # @!attribute [rw] status # The status of the agent. # @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) include Aws::Structure end # CancelTaskExecutionRequest # # @note When making an API call, you may pass CancelTaskExecutionRequest # data as a hash: # # { # task_execution_arn: "TaskExecutionArn", # required # } # # @!attribute [rw] task_execution_arn # The Amazon Resource Name (ARN) of the task execution to cancel. # @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) 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 # # @note When making an API call, you may pass CreateAgentRequest # data as a hash: # # { # activation_key: "ActivationKey", # required # agent_name: "TagValue", # tags: [ # { # key: "TagKey", # required # value: "TagValue", # }, # ], # vpc_endpoint_id: "VpcEndpointId", # subnet_arns: ["Ec2SubnetArn"], # security_group_arns: ["Ec2SecurityGroupArn"], # } # # @!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 AWS 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 *AWS 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 AWS 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 CreateAgentRequest$SubnetArns. # @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) 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 AWS # 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) include Aws::Structure end # CreateLocationEfsRequest # # @note When making an API call, you may pass CreateLocationEfsRequest # data as a hash: # # { # subdirectory: "Subdirectory", # efs_filesystem_arn: "EfsFilesystemArn", # required # ec2_config: { # required # subnet_arn: "Ec2SubnetArn", # required # security_group_arns: ["Ec2SecurityGroupArn"], # required # }, # tags: [ # { # key: "TagKey", # required # value: "TagValue", # }, # ], # } # # @!attribute [rw] subdirectory # A subdirectory in the location’s path. This subdirectory in the EFS # file system is used to read data from the EFS source location or # write data to the EFS destination. By default, AWS DataSync uses the # root directory. # @return [String] # # @!attribute [rw] efs_filesystem_arn # The Amazon Resource Name (ARN) for the Amazon EFS file system. # @return [String] # # @!attribute [rw] ec2_config # The subnet and security group that the Amazon EFS file system uses. # The security group that you provide needs to be able to communicate # with the security group on the mount target in the subnet specified. # # The exact relationship between security group M (of the mount # target) and security group S (which you provide for DataSync to use # at this stage) is as follows: # # * Security group M (which you associate with the mount target) must # allow inbound access for the Transmission Control Protocol (TCP) # on the NFS port (2049) from security group S. You can enable # inbound connections either by IP address (CIDR range) or security # group. # # * Security group S (provided to DataSync to access EFS) should have # a rule that enables outbound connections to the NFS port on one of # the file system’s mount targets. You can enable outbound # connections either by IP address (CIDR range) or security group. # # For information about security groups and mount targets, see # Security Groups for Amazon EC2 Instances and Mount Targets in the # *Amazon EFS User Guide.* # @return [Types::Ec2Config] # # @!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/CreateLocationEfsRequest AWS API Documentation # class CreateLocationEfsRequest < Struct.new( :subdirectory, :efs_filesystem_arn, :ec2_config, :tags) include Aws::Structure end # CreateLocationEfs # # @!attribute [rw] location_arn # The Amazon Resource Name (ARN) of the Amazon EFS file system # location that is created. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/CreateLocationEfsResponse AWS API Documentation # class CreateLocationEfsResponse < Struct.new( :location_arn) include Aws::Structure end # CreateLocationNfsRequest # # @note When making an API call, you may pass CreateLocationNfsRequest # data as a hash: # # { # subdirectory: "NonEmptySubdirectory", # required # server_hostname: "ServerHostname", # required # on_prem_config: { # required # agent_arns: ["AgentArn"], # required # }, # mount_options: { # version: "AUTOMATIC", # accepts AUTOMATIC, NFS3, NFS4_0, NFS4_1 # }, # tags: [ # { # key: "TagKey", # required # value: "TagValue", # }, # ], # } # # @!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. # # For information about NFS export configuration, see 18.7. The # /etc/exports Configuration File in the Red Hat Enterprise Linux # documentation. # @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 host name to mount the NFS server in # a network. # # This name must either be DNS-compliant or must be an IP version 4 # (IPv4) address. # # # @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. # @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) 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) include Aws::Structure end # CreateLocationS3Request # # @note When making an API call, you may pass CreateLocationS3Request # data as a hash: # # { # subdirectory: "Subdirectory", # s3_bucket_arn: "S3BucketArn", # required # s3_storage_class: "STANDARD", # accepts STANDARD, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE # s3_config: { # required # bucket_access_role_arn: "IamRoleArn", # required # }, # tags: [ # { # key: "TagKey", # required # value: "TagValue", # }, # ], # } # # @!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 Amazon Resource Name (ARN) of the Amazon S3 bucket. # @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 more # information about S3 storage classes, see [Amazon S3 Storage # Classes][1] in the *Amazon Simple Storage Service Developer Guide*. # Some storage classes have behaviors that can affect your S3 storage # cost. For detailed information, see using-storage-classes. # # # # [1]: https://aws.amazon.com/s3/storage-classes/ # @return [String] # # @!attribute [rw] s3_config # The Amazon Resource Name (ARN) of the AWS Identity and Access # Management (IAM) role that is used to access an Amazon S3 bucket. # # For detailed information about using such a role, see Creating a # Location for Amazon S3 in the *AWS DataSync User Guide*. # @return [Types::S3Config] # # @!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, :tags) 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) include Aws::Structure end # CreateLocationSmbRequest # # @note When making an API call, you may pass CreateLocationSmbRequest # data as a hash: # # { # subdirectory: "NonEmptySubdirectory", # required # server_hostname: "ServerHostname", # required # user: "SmbUser", # required # domain: "SmbDomain", # password: "SmbPassword", # required # agent_arns: ["AgentArn"], # required # mount_options: { # version: "AUTOMATIC", # accepts AUTOMATIC, SMB2, SMB3 # }, # tags: [ # { # key: "TagKey", # required # value: "TagValue", # }, # ], # } # # @!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. # # To transfer all the data in the folder you specified, DataSync needs # to have permissions to mount the SMB share, as well as to access all # the data in that share. To ensure this, either 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, or use credentials of # a member of the Backup Operators group to mount the share. Doing # either enables the agent to access the data. For the agent to access # directories, you must additionally enable all execute access. # @return [String] # # @!attribute [rw] server_hostname # The name of the SMB server. This value is the IP address or Domain # Name Service (DNS) name of the SMB server. An agent that is # installed on-premises uses this hostname to mount the SMB server in # a network. # # This name must either be DNS-compliant or must be an IP version 4 # (IPv4) address. # # # @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 # The mount options used by DataSync to access the SMB server. # @return [Types::SmbMountOptions] # # @!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/CreateLocationSmbRequest AWS API Documentation # class CreateLocationSmbRequest < Struct.new( :subdirectory, :server_hostname, :user, :domain, :password, :agent_arns, :mount_options, :tags) include Aws::Structure end # CreateLocationSmbResponse # # @!attribute [rw] location_arn # The Amazon Resource Name (ARN) of the source SMB file system # location that is 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) include Aws::Structure end # CreateTaskRequest # # @note When making an API call, you may pass CreateTaskRequest # data as a hash: # # { # source_location_arn: "LocationArn", # required # destination_location_arn: "LocationArn", # required # cloud_watch_log_group_arn: "LogGroupArn", # name: "TagValue", # options: { # verify_mode: "POINT_IN_TIME_CONSISTENT", # accepts POINT_IN_TIME_CONSISTENT, ONLY_FILES_TRANSFERRED, NONE # overwrite_mode: "ALWAYS", # accepts ALWAYS, NEVER # atime: "NONE", # accepts NONE, BEST_EFFORT # mtime: "NONE", # accepts NONE, PRESERVE # uid: "NONE", # accepts NONE, INT_VALUE, NAME, BOTH # gid: "NONE", # accepts NONE, INT_VALUE, NAME, BOTH # preserve_deleted_files: "PRESERVE", # accepts PRESERVE, REMOVE # preserve_devices: "NONE", # accepts NONE, PRESERVE # posix_permissions: "NONE", # accepts NONE, BEST_EFFORT, PRESERVE # bytes_per_second: 1, # }, # excludes: [ # { # filter_type: "SIMPLE_PATTERN", # accepts SIMPLE_PATTERN # value: "FilterValue", # }, # ], # tags: [ # { # key: "TagKey", # required # value: "TagValue", # }, # ], # } # # @!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 AWS 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. # # For more information on these groups, see Working with Log Groups # and Log Streams in the *Amazon CloudWatch User Guide.* # # For more information about how to use CloudWatch Logs with DataSync, # see Monitoring Your Task in the *AWS DataSync User Guide.* # @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 # The set of configuration options that control the behavior of a # single execution of the task that occurs when you call # `StartTaskExecution`. You can configure these options to preserve # metadata such as user ID (UID) and group ID (GID), file permissions, # data integrity verification, and so on. # # For each individual task execution, you can override these options # by specifying the `OverrideOptions` before starting a the task # execution. For more information, see the operation. # @return [Types::Options] # # @!attribute [rw] excludes # A list of filter rules that determines which files to exclude from a # task. The list should contain 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 # The key-value pair that represents the tag that you want to add to # the resource. The value can be an empty string. # @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, :tags) 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) include Aws::Structure end # DeleteAgentRequest # # @note When making an API call, you may pass DeleteAgentRequest # data as a hash: # # { # agent_arn: "AgentArn", # required # } # # @!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 AWS 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) 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 # # @note When making an API call, you may pass DeleteLocationRequest # data as a hash: # # { # location_arn: "LocationArn", # required # } # # @!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) 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 # # @note When making an API call, you may pass DeleteTaskRequest # data as a hash: # # { # task_arn: "TaskArn", # required # } # # @!attribute [rw] task_arn # The Amazon Resource Name (ARN) of the task 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) 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 # # @note When making an API call, you may pass DescribeAgentRequest # data as a hash: # # { # agent_arn: "AgentArn", # required # } # # @!attribute [rw] agent_arn # The Amazon Resource Name (ARN) of the 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) include Aws::Structure end # DescribeAgentResponse # # @!attribute [rw] agent_arn # The Amazon Resource Name (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 DataSyc. # @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) include Aws::Structure end # DescribeLocationEfsRequest # # @note When making an API call, you may pass DescribeLocationEfsRequest # data as a hash: # # { # location_arn: "LocationArn", # required # } # # @!attribute [rw] location_arn # The Amazon Resource Name (ARN) of the EFS location to describe. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DescribeLocationEfsRequest AWS API Documentation # class DescribeLocationEfsRequest < Struct.new( :location_arn) include Aws::Structure end # DescribeLocationEfsResponse # # @!attribute [rw] location_arn # The Amazon resource Name (ARN) of the EFS location that was # described. # @return [String] # # @!attribute [rw] location_uri # The URL of the EFS location that was described. # @return [String] # # @!attribute [rw] ec2_config # The subnet and the security group that DataSync uses to access # target EFS file system. The subnet must have at least one mount # target for that file system. The security group that you provide # needs to be able to communicate with the security group on the mount # target in the subnet specified. # @return [Types::Ec2Config] # # @!attribute [rw] creation_time # The time that the EFS location was created. # @return [Time] # # @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) include Aws::Structure end # DescribeLocationNfsRequest # # @note When making an API call, you may pass DescribeLocationNfsRequest # data as a hash: # # { # location_arn: "LocationArn", # required # } # # @!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) 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) include Aws::Structure end # DescribeLocationS3Request # # @note When making an API call, you may pass DescribeLocationS3Request # data as a hash: # # { # location_arn: "LocationArn", # required # } # # @!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) include Aws::Structure end # DescribeLocationS3Response # # @!attribute [rw] location_arn # The Amazon Resource Name (ARN) of the Amazon S3 bucket location. # @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] in the *Amazon Simple Storage Service Developer Guide*. # Some storage classes have behaviors that can affect your S3 storage # cost. For detailed information, see using-storage-classes. # # # # [1]: https://aws.amazon.com/s3/storage-classes/ # @return [String] # # @!attribute [rw] s3_config # The Amazon Resource Name (ARN) of the AWS Identity and Access # Management (IAM) role that is used to access an Amazon S3 bucket. # # For detailed information about using such a role, see Creating a # Location for Amazon S3 in the *AWS DataSync User Guide*. # @return [Types::S3Config] # # @!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, :creation_time) include Aws::Structure end # DescribeLocationSmbRequest # # @note When making an API call, you may pass DescribeLocationSmbRequest # data as a hash: # # { # location_arn: "LocationArn", # required # } # # @!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) 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 SBM 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) include Aws::Structure end # DescribeTaskExecutionRequest # # @note When making an API call, you may pass DescribeTaskExecutionRequest # data as a hash: # # { # task_execution_arn: "TaskExecutionArn", # required # } # # @!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) 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 *AWS DataSync User Guide.* # @return [String] # # @!attribute [rw] options # Represents the options that are available to control the behavior of # a StartTaskExecution operation. Behavior includes preserving # metadata such as user ID (UID), group ID (GID), and file # permissions, and also overwriting files in the destination, data # integrity verification, and so on. # # A task has a set of default options associated with it. If you # don't specify an option in StartTaskExecution, the default value is # used. You can override the defaults options on each task execution # by specifying an overriding `Options` value to StartTaskExecution. # @return [Types::Options] # # @!attribute [rw] excludes # A list of filter rules that determines which files to exclude from a # task. The list should contain 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] includes # A list of filter rules that determines which files to include when # running a task. The list 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] 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. 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. 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`. This value can also be greater than # `EstimatedFilesTransferred` in some cases. 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 AWS storage # resource. # @return [Integer] # # @!attribute [rw] bytes_transferred # The physical number of bytes transferred over the network. # @return [Integer] # # @!attribute [rw] result # The result of the task execution. # @return [Types::TaskExecutionResultDetail] # # @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) include Aws::Structure end # DescribeTaskRequest # # @note When making an API call, you may pass DescribeTaskRequest # data as a hash: # # { # task_arn: "TaskArn", # required # } # # @!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) 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 *AWS 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 syncing # 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 AWS 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 Name (ARN) of the source ENIs (Elastic Network # Interface) that was created for your subnet. # @return [Array] # # @!attribute [rw] destination_network_interface_arns # The Amazon Resource Name (ARN) of the destination ENIs (Elastic # Network Interface) that was created for your subnet. # @return [Array] # # @!attribute [rw] options # The set of configuration options that control the behavior of a # single execution of the task that occurs when you call # `StartTaskExecution`. You can configure these options to preserve # metadata such as user ID (UID) and group (GID), file permissions, # data integrity verification, and so on. # # For each individual task execution, you can override these options # by specifying the overriding `OverrideOptions` value to operation. # @return [Types::Options] # # @!attribute [rw] excludes # A list of filter rules that determines which files to exclude from a # task. The list should contain 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] error_code # Errors that AWS 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] # # @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, :error_code, :error_detail, :creation_time) include Aws::Structure end # The subnet and the security group that DataSync uses to access target # EFS file system. The subnet must have at least one mount target for # that file system. The security group that you provide needs to be able # to communicate with the security group on the mount target in the # subnet specified. # # @note When making an API call, you may pass Ec2Config # data as a hash: # # { # subnet_arn: "Ec2SubnetArn", # required # security_group_arns: ["Ec2SecurityGroupArn"], # required # } # # @!attribute [rw] subnet_arn # The ARN of the subnet and the security group that DataSync uses to # access the target EFS file system. # @return [String] # # @!attribute [rw] security_group_arns # The Amazon Resource Names (ARNs) of the security groups that are # configured for the Amazon EC2 resource. # @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) include Aws::Structure end # Specifies which files, folders and objects to include or exclude when # transferring files from source to destination. # # @note When making an API call, you may pass FilterRule # data as a hash: # # { # filter_type: "SIMPLE_PATTERN", # accepts SIMPLE_PATTERN # value: "FilterValue", # } # # @!attribute [rw] filter_type # The type of filter rule to apply. AWS 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) include Aws::Structure end # This exception is thrown when an error occurs in the AWS 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) 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] # # @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/InvalidRequestException AWS API Documentation # class InvalidRequestException < Struct.new( :message, :error_code) include Aws::Structure end # ListAgentsRequest # # @note When making an API call, you may pass ListAgentsRequest # data as a hash: # # { # max_results: 1, # next_token: "NextToken", # } # # @!attribute [rw] max_results # The maximum number of agents to list. # @return [Integer] # # @!attribute [rw] next_token # An opaque string that indicates the position at which to begin the # next list of agents. # @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) include Aws::Structure end # ListAgentsResponse # # @!attribute [rw] agents # A list of agents in your account. # @return [Array] # # @!attribute [rw] next_token # An opaque string that indicates the position at which to begin # returning the next list of agents. # @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) include Aws::Structure end # ListLocationsRequest # # @note When making an API call, you may pass ListLocationsRequest # data as a hash: # # { # max_results: 1, # next_token: "NextToken", # } # # @!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] # # @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/ListLocationsRequest AWS API Documentation # class ListLocationsRequest < Struct.new( :max_results, :next_token) 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) include Aws::Structure end # ListTagsForResourceRequest # # @note When making an API call, you may pass ListTagsForResourceRequest # data as a hash: # # { # resource_arn: "TaggableResourceArn", # required # max_results: 1, # next_token: "NextToken", # } # # @!attribute [rw] resource_arn # The Amazon Resource Name (ARN) of the resource whose tags to list. # @return [String] # # @!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] # # @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) include Aws::Structure end # ListTagsForResourceResponse # # @!attribute [rw] tags # Array of resource tags. # @return [Array] # # @!attribute [rw] next_token # An opaque string that indicates the position at which to begin # returning the next list of resource tags. # @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) include Aws::Structure end # ListTaskExecutions # # @note When making an API call, you may pass ListTaskExecutionsRequest # data as a hash: # # { # task_arn: "TaskArn", # max_results: 1, # next_token: "NextToken", # } # # @!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) 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) include Aws::Structure end # ListTasksRequest # # @note When making an API call, you may pass ListTasksRequest # data as a hash: # # { # max_results: 1, # next_token: "NextToken", # } # # @!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] # # @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/ListTasksRequest AWS API Documentation # class ListTasksRequest < Struct.new( :max_results, :next_token) 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) 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 operation is called. # # @!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 URLs of a location. `LocationUri` returns an # array that contains a list of locations when the ListLocations # operation is called. # # Format: `TYPE://GLOBAL_ID/SUBDIR`. # # TYPE designates the type of location. Valid values: NFS \| EFS \| # 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 host name 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. # @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) include Aws::Structure end # Represents the mount options that are available for DataSync to access # an NFS location. # # @note When making an API call, you may pass NfsMountOptions # data as a hash: # # { # version: "AUTOMATIC", # accepts AUTOMATIC, NFS3, NFS4_0, NFS4_1 # } # # @!attribute [rw] version # The specific NFS version that you want DataSync to use to mount your # NFS share. If the server refuses to use the version specified, the # sync will fail. If you don't specify a version, DataSync defaults # to `AUTOMATIC`. That is, DataSync automatically selects a version # based on negotiation with the NFS server. # # You can specify the following NFS versions: # # * NFSv3 - # stateless protocol version that allows for asynchronous writes on # the server. # # * NFSv4.0 # - stateful, firewall-friendly protocol version that supports # delegations and pseudo filesystems. # # * NFSv4.1 # - stateful protocol version that supports sessions, directory # delegations, and parallel data processing. Version 4.1 also # includes all features available in version 4.0. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/NfsMountOptions AWS API Documentation # class NfsMountOptions < Struct.new( :version) include Aws::Structure end # A list of Amazon Resource Names (ARNs) of agents to use for a Network # File System (NFS) location. # # @note When making an API call, you may pass OnPremConfig # data as a hash: # # { # agent_arns: ["AgentArn"], # required # } # # @!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) include Aws::Structure end # Represents the options that are available to control the behavior of a # StartTaskExecution operation. Behavior includes preserving metadata # such as user ID (UID), group ID (GID), and file permissions, and also # overwriting files in the destination, data integrity verification, and # so on. # # A task has a set of default options associated with it. If you don't # specify an option in StartTaskExecution, the default value is used. # You can override the defaults options on each task execution by # specifying an overriding `Options` value to StartTaskExecution. # # @note When making an API call, you may pass Options # data as a hash: # # { # verify_mode: "POINT_IN_TIME_CONSISTENT", # accepts POINT_IN_TIME_CONSISTENT, ONLY_FILES_TRANSFERRED, NONE # overwrite_mode: "ALWAYS", # accepts ALWAYS, NEVER # atime: "NONE", # accepts NONE, BEST_EFFORT # mtime: "NONE", # accepts NONE, PRESERVE # uid: "NONE", # accepts NONE, INT_VALUE, NAME, BOTH # gid: "NONE", # accepts NONE, INT_VALUE, NAME, BOTH # preserve_deleted_files: "PRESERVE", # accepts PRESERVE, REMOVE # preserve_devices: "NONE", # accepts NONE, PRESERVE # posix_permissions: "NONE", # accepts NONE, BEST_EFFORT, PRESERVE # bytes_per_second: 1, # } # # @!attribute [rw] verify_mode # A value that determines whether a data integrity verification should # be performed at the end of a task execution after all data and # metadata have been transferred. # # Default value: POINT\_IN\_TIME\_CONSISTENT. # # POINT\_IN\_TIME\_CONSISTENT: Perform verification (recommended). # # ONLY\_FILES\_TRANSFERRED: Perform verification on only files that # were transferred. # # NONE: Skip verification. # @return [String] # # @!attribute [rw] overwrite_mode # A value that determines whether files at the destination should be # overwritten or preserved when copying files. If set to `NEVER` a # destination file 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 S3 # storage cost. For detailed information, see using-storage-classes in # the *AWS DataSync User Guide*. # @return [String] # # @!attribute [rw] atime # A file metadata value that shows the last time a file was accessed # (that is, when the 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). However, `Atime`'s behavior is not fully standard # across platforms, so AWS 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 # A value that indicates the last time that a file was modified (that # is, a file was written to) before the PREPARING phase. # # 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 # The user ID (UID) of the file's owner. # # 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. # @return [String] # # @!attribute [rw] gid # The group ID (GID) of the file's owners. # # 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. # @return [String] # # @!attribute [rw] preserve_deleted_files # A value that specifies whether files in the destination that don't # exist in the source file system should be preserved. This option can # affect your storage cost. If your task deletes objects, you might # incur minimum storage duration charges for certain storage classes. # For detailed information, see using-storage-classes in the *AWS # DataSync User Guide*. # # Default value: PRESERVE. # # PRESERVE: Ignore such destination files (recommended). # # REMOVE: Delete destination files that aren’t present in the source. # @return [String] # # @!attribute [rw] preserve_devices # A value that determines whether AWS DataSync should preserve the # metadata of block and character devices in the source file system, # and recreate the files with that device name and metadata on the # destination. # # AWS DataSync can't sync the actual contents of such devices, # because they are 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 # isn't currently supported for Amazon EFS. # @return [String] # # @!attribute [rw] posix_permissions # A value that determines which users or groups can access a file for # a specific purpose such as reading, writing, or execution of the # file. # # Default value: PRESERVE. # # PRESERVE: Preserve POSIX-style permissions (recommended). # # NONE: Ignore permissions. # # AWS DataSync can preserve extant permissions of a source location. # # # @return [String] # # @!attribute [rw] bytes_per_second # A value that limits the bandwidth used by AWS DataSync. For example, # if you want AWS DataSync to use a maximum of 1 MB, set this value to # `1048576` (`=1024*1024`). # @return [Integer] # # @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) 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) include Aws::Structure end # The Amazon Resource Name (ARN) of the AWS Identity and Access # Management (IAM) role that is used to access an Amazon S3 bucket. # # For detailed information about using such a role, see Creating a # Location for Amazon S3 in the *AWS DataSync User Guide*. # # @note When making an API call, you may pass S3Config # data as a hash: # # { # bucket_access_role_arn: "IamRoleArn", # required # } # # @!attribute [rw] bucket_access_role_arn # The Amazon S3 bucket to access. This bucket is used as a parameter # in the CreateLocationS3 operation. # @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) include Aws::Structure end # Represents the mount options that are available for DataSync to access # an SMB location. # # @note When making an API call, you may pass SmbMountOptions # data as a hash: # # { # version: "AUTOMATIC", # accepts AUTOMATIC, SMB2, SMB3 # } # # @!attribute [rw] version # The specific SMB version that you want DataSync to use to mount your # SMB share. If you don't specify a version, DataSync defaults to # `AUTOMATIC`. That is, DataSync automatically selects a version based # on negotiation with the SMB server. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/SmbMountOptions AWS API Documentation # class SmbMountOptions < Struct.new( :version) include Aws::Structure end # StartTaskExecutionRequest # # @note When making an API call, you may pass StartTaskExecutionRequest # data as a hash: # # { # task_arn: "TaskArn", # required # override_options: { # verify_mode: "POINT_IN_TIME_CONSISTENT", # accepts POINT_IN_TIME_CONSISTENT, ONLY_FILES_TRANSFERRED, NONE # overwrite_mode: "ALWAYS", # accepts ALWAYS, NEVER # atime: "NONE", # accepts NONE, BEST_EFFORT # mtime: "NONE", # accepts NONE, PRESERVE # uid: "NONE", # accepts NONE, INT_VALUE, NAME, BOTH # gid: "NONE", # accepts NONE, INT_VALUE, NAME, BOTH # preserve_deleted_files: "PRESERVE", # accepts PRESERVE, REMOVE # preserve_devices: "NONE", # accepts NONE, PRESERVE # posix_permissions: "NONE", # accepts NONE, BEST_EFFORT, PRESERVE # bytes_per_second: 1, # }, # includes: [ # { # filter_type: "SIMPLE_PATTERN", # accepts SIMPLE_PATTERN # value: "FilterValue", # }, # ], # } # # @!attribute [rw] task_arn # The Amazon Resource Name (ARN) of the task to start. # @return [String] # # @!attribute [rw] override_options # Represents the options that are available to control the behavior of # a StartTaskExecution operation. Behavior includes preserving # metadata such as user ID (UID), group ID (GID), and file # permissions, and also overwriting files in the destination, data # integrity verification, and so on. # # A task has a set of default options associated with it. If you # don't specify an option in StartTaskExecution, the default value is # used. You can override the defaults options on each task execution # by specifying an overriding `Options` value to StartTaskExecution. # @return [Types::Options] # # @!attribute [rw] includes # 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] # # @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) include Aws::Structure end # StartTaskExecutionResponse # # @!attribute [rw] task_execution_arn # The Amazon Resource Name (ARN) of the specific task execution that # was started. # @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) include Aws::Structure end # Represents a single entry in a list of AWS resource tags. # `TagListEntry` returns an array that contains a list of tasks when the # ListTagsForResource operation is called. # # @note When making an API call, you may pass TagListEntry # data as a hash: # # { # key: "TagKey", # required # value: "TagValue", # } # # @!attribute [rw] key # The key for an AWS resource tag. # @return [String] # # @!attribute [rw] value # The value for an AWS 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) include Aws::Structure end # TagResourceRequest # # @note When making an API call, you may pass TagResourceRequest # data as a hash: # # { # resource_arn: "TaggableResourceArn", # required # tags: [ # required # { # key: "TagKey", # required # value: "TagValue", # }, # ], # } # # @!attribute [rw] resource_arn # The Amazon Resource Name (ARN) of the resource to apply the tag to. # @return [String] # # @!attribute [rw] tags # The tags to apply. # @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) 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 ListTaskExecutions operation is # called. # # @!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) 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 AWS DataSync spent in the # PREPARING phase. # @return [Integer] # # @!attribute [rw] prepare_status # The status of the PREPARING phase. # @return [String] # # @!attribute [rw] transfer_duration # The total time in milliseconds that AWS 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 AWS 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 AWS 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, :transfer_duration, :transfer_status, :verify_duration, :verify_status, :error_code, :error_detail) 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 operation is # called. A task includes the source and destination file systems to # sync and the options to use for the tasks. # # @!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) include Aws::Structure end # UntagResourceRequest # # @note When making an API call, you may pass UntagResourceRequest # data as a hash: # # { # resource_arn: "TaggableResourceArn", # required # keys: ["TagKey"], # required # } # # @!attribute [rw] resource_arn # The Amazon Resource Name (ARN) of the resource to remove the tag # from. # @return [String] # # @!attribute [rw] keys # The keys in the key-value pair in the tag 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) 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 # # @note When making an API call, you may pass UpdateAgentRequest # data as a hash: # # { # agent_arn: "AgentArn", # required # name: "TagValue", # } # # @!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) 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 # UpdateTaskResponse # # @note When making an API call, you may pass UpdateTaskRequest # data as a hash: # # { # task_arn: "TaskArn", # required # options: { # verify_mode: "POINT_IN_TIME_CONSISTENT", # accepts POINT_IN_TIME_CONSISTENT, ONLY_FILES_TRANSFERRED, NONE # overwrite_mode: "ALWAYS", # accepts ALWAYS, NEVER # atime: "NONE", # accepts NONE, BEST_EFFORT # mtime: "NONE", # accepts NONE, PRESERVE # uid: "NONE", # accepts NONE, INT_VALUE, NAME, BOTH # gid: "NONE", # accepts NONE, INT_VALUE, NAME, BOTH # preserve_deleted_files: "PRESERVE", # accepts PRESERVE, REMOVE # preserve_devices: "NONE", # accepts NONE, PRESERVE # posix_permissions: "NONE", # accepts NONE, BEST_EFFORT, PRESERVE # bytes_per_second: 1, # }, # excludes: [ # { # filter_type: "SIMPLE_PATTERN", # accepts SIMPLE_PATTERN # value: "FilterValue", # }, # ], # name: "TagValue", # cloud_watch_log_group_arn: "LogGroupArn", # } # # @!attribute [rw] task_arn # The Amazon Resource Name (ARN) of the resource name of the task to # update. # @return [String] # # @!attribute [rw] options # Represents the options that are available to control the behavior of # a StartTaskExecution operation. Behavior includes preserving # metadata such as user ID (UID), group ID (GID), and file # permissions, and also overwriting files in the destination, data # integrity verification, and so on. # # A task has a set of default options associated with it. If you # don't specify an option in StartTaskExecution, the default value is # used. You can override the defaults options on each task execution # by specifying an overriding `Options` value to StartTaskExecution. # @return [Types::Options] # # @!attribute [rw] excludes # A list of filter rules that determines which files to exclude from a # task. The list should contain 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] 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 # CloudWatch LogGroup. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/UpdateTaskRequest AWS API Documentation # class UpdateTaskRequest < Struct.new( :task_arn, :options, :excludes, :name, :cloud_watch_log_group_arn) 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