lib/aws-sdk-fsx/client.rb in aws-sdk-fsx-1.35.0 vs lib/aws-sdk-fsx/client.rb in aws-sdk-fsx-1.36.0

- old
+ new

@@ -454,10 +454,242 @@ def cancel_data_repository_task(params = {}, options = {}) req = build_request(:cancel_data_repository_task, params) req.send_request(options) end + # Copies an existing backup within the same AWS account to another + # Region (cross-Region copy) or within the same Region (in-Region copy). + # You can have up to five backup copy requests in progress to a single + # destination Region per account. + # + # You can use cross-Region backup copies for cross-region disaster + # recovery. You periodically take backups and copy them to another + # Region so that in the event of a disaster in the primary Region, you + # can restore from backup and recover availability quickly in the other + # Region. You can make cross-Region copies only within your AWS + # partition. + # + # You can also use backup copies to clone your file data set to another + # Region or within the same Region. + # + # You can use the `SourceRegion` parameter to specify the AWS Region + # from which the backup will be copied. For example, if you make the + # call from the `us-west-1` Region and want to copy a backup from the + # `us-east-2` Region, you specify `us-east-2` in the `SourceRegion` + # parameter to make a cross-Region copy. If you don't specify a Region, + # the backup copy is created in the same Region where the request is + # sent from (in-Region copy). + # + # For more information on creating backup copies, see [ Copying + # backups][1] in the *Amazon FSx for Windows User Guide* and [Copying + # backups][2] in the *Amazon FSx for Lustre User Guide*. + # + # + # + # [1]: https://docs.aws.amazon.com/fsx/latest/WindowsGuide/copy-backups.html + # [2]: https://docs.aws.amazon.com/fsx/latest/LustreGuide/copy-backups.html + # + # @option params [String] :client_request_token + # (Optional) An idempotency token for resource creation, in a string of + # up to 64 ASCII characters. This token is automatically filled on your + # behalf when you use the AWS Command Line Interface (AWS CLI) or an AWS + # SDK. + # + # **A suitable default value is auto-generated.** You should normally + # not need to pass this option.** + # + # @option params [required, String] :source_backup_id + # The ID of the source backup. Specifies the ID of the backup that is + # being copied. + # + # @option params [String] :source_region + # The source AWS Region of the backup. Specifies the AWS Region from + # which the backup is being copied. The source and destination Regions + # must be in the same AWS partition. If you don't specify a Region, it + # defaults to the Region where the request is sent from (in-Region + # copy). + # + # @option params [String] :kms_key_id + # The ID of the AWS Key Management Service (AWS KMS) key used to encrypt + # the file system's data for Amazon FSx for Windows File Server file + # systems and Amazon FSx for Lustre `PERSISTENT_1` file systems at rest. + # In either case, if not specified, the Amazon FSx managed key is used. + # The Amazon FSx for Lustre `SCRATCH_1` and `SCRATCH_2` file systems are + # always encrypted at rest using Amazon FSx managed keys. For more + # information, see [Encrypt][1] in the *AWS Key Management Service API + # Reference*. + # + # + # + # [1]: https://docs.aws.amazon.com/kms/latest/APIReference/API_Encrypt.html + # + # @option params [Boolean] :copy_tags + # A boolean flag indicating whether tags from the source backup should + # be copied to the backup copy. This value defaults to false. + # + # If you set `CopyTags` to true and the source backup has existing tags, + # you can use the `Tags` parameter to create new tags, provided that the + # sum of the source backup tags and the new tags doesn't exceed 50. + # Both sets of tags are merged. If there are tag conflicts (for example, + # two tags with the same key but different values), the tags created + # with the `Tags` parameter take precedence. + # + # @option params [Array<Types::Tag>] :tags + # A list of `Tag` values, with a maximum of 50 elements. + # + # @return [Types::CopyBackupResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods: + # + # * {Types::CopyBackupResponse#backup #backup} => Types::Backup + # + # + # @example Example: To copy a backup + # + # # This operation copies an Amazon FSx backup. + # + # resp = client.copy_backup({ + # source_backup_id: "backup-03e3c82e0183b7b6b", + # source_region: "us-east-2", + # }) + # + # resp.to_h outputs the following: + # { + # backup: { + # backup_id: "backup-0a3364eded1014b28", + # creation_time: Time.parse(1617954808.068), + # file_system: { + # file_system_id: "fs-0498eed5fe91001ec", + # file_system_type: "LUSTRE", + # lustre_configuration: { + # automatic_backup_retention_days: 0, + # deployment_type: "PERSISTENT_1", + # per_unit_storage_throughput: 50, + # weekly_maintenance_start_time: "1:05:00", + # }, + # resource_arn: "arn:aws:fsx:us-east-1:012345678912:file-system/fs-0f5179e395f597e66", + # storage_capacity: 2400, + # storage_type: "SSD", + # }, + # kms_key_id: "arn:aws:fsx:us-east-1:012345678912:key/d1234e22-543a-12b7-a98f-e12c2b54001a", + # lifecycle: "COPYING", + # owner_id: "123456789012", + # resource_arn: "arn:aws:fsx:us-east-1:012345678912:backup/backup-0a3364eded1014b28", + # tags: [ + # { + # key: "Name", + # value: "MyBackup", + # }, + # ], + # type: "USER_INITIATED", + # }, + # } + # + # @example Request syntax with placeholder values + # + # resp = client.copy_backup({ + # client_request_token: "ClientRequestToken", + # source_backup_id: "SourceBackupId", # required + # source_region: "Region", + # kms_key_id: "KmsKeyId", + # copy_tags: false, + # tags: [ + # { + # key: "TagKey", # required + # value: "TagValue", # required + # }, + # ], + # }) + # + # @example Response structure + # + # resp.backup.backup_id #=> String + # resp.backup.lifecycle #=> String, one of "AVAILABLE", "CREATING", "TRANSFERRING", "DELETED", "FAILED", "PENDING", "COPYING" + # resp.backup.failure_details.message #=> String + # resp.backup.type #=> String, one of "AUTOMATIC", "USER_INITIATED", "AWS_BACKUP" + # resp.backup.progress_percent #=> Integer + # resp.backup.creation_time #=> Time + # resp.backup.kms_key_id #=> String + # resp.backup.resource_arn #=> String + # resp.backup.tags #=> Array + # resp.backup.tags[0].key #=> String + # resp.backup.tags[0].value #=> String + # resp.backup.file_system.owner_id #=> String + # resp.backup.file_system.creation_time #=> Time + # resp.backup.file_system.file_system_id #=> String + # resp.backup.file_system.file_system_type #=> String, one of "WINDOWS", "LUSTRE" + # resp.backup.file_system.lifecycle #=> String, one of "AVAILABLE", "CREATING", "FAILED", "DELETING", "MISCONFIGURED", "UPDATING" + # resp.backup.file_system.failure_details.message #=> String + # resp.backup.file_system.storage_capacity #=> Integer + # resp.backup.file_system.storage_type #=> String, one of "SSD", "HDD" + # resp.backup.file_system.vpc_id #=> String + # resp.backup.file_system.subnet_ids #=> Array + # resp.backup.file_system.subnet_ids[0] #=> String + # resp.backup.file_system.network_interface_ids #=> Array + # resp.backup.file_system.network_interface_ids[0] #=> String + # resp.backup.file_system.dns_name #=> String + # resp.backup.file_system.kms_key_id #=> String + # resp.backup.file_system.resource_arn #=> String + # resp.backup.file_system.tags #=> Array + # resp.backup.file_system.tags[0].key #=> String + # resp.backup.file_system.tags[0].value #=> String + # resp.backup.file_system.windows_configuration.active_directory_id #=> String + # resp.backup.file_system.windows_configuration.self_managed_active_directory_configuration.domain_name #=> String + # resp.backup.file_system.windows_configuration.self_managed_active_directory_configuration.organizational_unit_distinguished_name #=> String + # resp.backup.file_system.windows_configuration.self_managed_active_directory_configuration.file_system_administrators_group #=> String + # resp.backup.file_system.windows_configuration.self_managed_active_directory_configuration.user_name #=> String + # resp.backup.file_system.windows_configuration.self_managed_active_directory_configuration.dns_ips #=> Array + # resp.backup.file_system.windows_configuration.self_managed_active_directory_configuration.dns_ips[0] #=> String + # resp.backup.file_system.windows_configuration.deployment_type #=> String, one of "MULTI_AZ_1", "SINGLE_AZ_1", "SINGLE_AZ_2" + # resp.backup.file_system.windows_configuration.remote_administration_endpoint #=> String + # resp.backup.file_system.windows_configuration.preferred_subnet_id #=> String + # resp.backup.file_system.windows_configuration.preferred_file_server_ip #=> String + # resp.backup.file_system.windows_configuration.throughput_capacity #=> Integer + # resp.backup.file_system.windows_configuration.maintenance_operations_in_progress #=> Array + # resp.backup.file_system.windows_configuration.maintenance_operations_in_progress[0] #=> String, one of "PATCHING", "BACKING_UP" + # resp.backup.file_system.windows_configuration.weekly_maintenance_start_time #=> String + # resp.backup.file_system.windows_configuration.daily_automatic_backup_start_time #=> String + # resp.backup.file_system.windows_configuration.automatic_backup_retention_days #=> Integer + # resp.backup.file_system.windows_configuration.copy_tags_to_backups #=> Boolean + # resp.backup.file_system.windows_configuration.aliases #=> Array + # resp.backup.file_system.windows_configuration.aliases[0].name #=> String + # resp.backup.file_system.windows_configuration.aliases[0].lifecycle #=> String, one of "AVAILABLE", "CREATING", "DELETING", "CREATE_FAILED", "DELETE_FAILED" + # resp.backup.file_system.lustre_configuration.weekly_maintenance_start_time #=> String + # resp.backup.file_system.lustre_configuration.data_repository_configuration.lifecycle #=> String, one of "CREATING", "AVAILABLE", "MISCONFIGURED", "UPDATING", "DELETING" + # resp.backup.file_system.lustre_configuration.data_repository_configuration.import_path #=> String + # resp.backup.file_system.lustre_configuration.data_repository_configuration.export_path #=> String + # resp.backup.file_system.lustre_configuration.data_repository_configuration.imported_file_chunk_size #=> Integer + # resp.backup.file_system.lustre_configuration.data_repository_configuration.auto_import_policy #=> String, one of "NONE", "NEW", "NEW_CHANGED" + # resp.backup.file_system.lustre_configuration.data_repository_configuration.failure_details.message #=> String + # resp.backup.file_system.lustre_configuration.deployment_type #=> String, one of "SCRATCH_1", "SCRATCH_2", "PERSISTENT_1" + # resp.backup.file_system.lustre_configuration.per_unit_storage_throughput #=> Integer + # resp.backup.file_system.lustre_configuration.mount_name #=> String + # resp.backup.file_system.lustre_configuration.daily_automatic_backup_start_time #=> String + # resp.backup.file_system.lustre_configuration.automatic_backup_retention_days #=> Integer + # resp.backup.file_system.lustre_configuration.copy_tags_to_backups #=> Boolean + # resp.backup.file_system.lustre_configuration.drive_cache_type #=> String, one of "NONE", "READ" + # resp.backup.file_system.administrative_actions #=> Array + # resp.backup.file_system.administrative_actions[0].administrative_action_type #=> String, one of "FILE_SYSTEM_UPDATE", "STORAGE_OPTIMIZATION", "FILE_SYSTEM_ALIAS_ASSOCIATION", "FILE_SYSTEM_ALIAS_DISASSOCIATION" + # resp.backup.file_system.administrative_actions[0].progress_percent #=> Integer + # resp.backup.file_system.administrative_actions[0].request_time #=> Time + # resp.backup.file_system.administrative_actions[0].status #=> String, one of "FAILED", "IN_PROGRESS", "PENDING", "COMPLETED", "UPDATED_OPTIMIZING" + # resp.backup.file_system.administrative_actions[0].target_file_system_values #=> Types::FileSystem + # resp.backup.file_system.administrative_actions[0].failure_details.message #=> String + # resp.backup.directory_information.domain_name #=> String + # resp.backup.directory_information.active_directory_id #=> String + # resp.backup.directory_information.resource_arn #=> String + # resp.backup.owner_id #=> String + # resp.backup.source_backup_id #=> String + # resp.backup.source_backup_region #=> String + # + # @see http://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/CopyBackup AWS API Documentation + # + # @overload copy_backup(params = {}) + # @param [Hash] params ({}) + def copy_backup(params = {}, options = {}) + req = build_request(:copy_backup, params) + req.send_request(options) + end + # Creates a backup of an existing Amazon FSx file system. Creating # regular backups for your file system is a best practice, enabling you # to restore a file system from a backup if an issue arises with the # original file system. # @@ -584,11 +816,11 @@ # }) # # @example Response structure # # resp.backup.backup_id #=> String - # resp.backup.lifecycle #=> String, one of "AVAILABLE", "CREATING", "TRANSFERRING", "DELETED", "FAILED", "PENDING" + # resp.backup.lifecycle #=> String, one of "AVAILABLE", "CREATING", "TRANSFERRING", "DELETED", "FAILED", "PENDING", "COPYING" # resp.backup.failure_details.message #=> String # resp.backup.type #=> String, one of "AUTOMATIC", "USER_INITIATED", "AWS_BACKUP" # resp.backup.progress_percent #=> Integer # resp.backup.creation_time #=> Time # resp.backup.kms_key_id #=> String @@ -657,10 +889,14 @@ # resp.backup.file_system.administrative_actions[0].status #=> String, one of "FAILED", "IN_PROGRESS", "PENDING", "COMPLETED", "UPDATED_OPTIMIZING" # resp.backup.file_system.administrative_actions[0].target_file_system_values #=> Types::FileSystem # resp.backup.file_system.administrative_actions[0].failure_details.message #=> String # resp.backup.directory_information.domain_name #=> String # resp.backup.directory_information.active_directory_id #=> String + # resp.backup.directory_information.resource_arn #=> String + # resp.backup.owner_id #=> String + # resp.backup.source_backup_id #=> String + # resp.backup.source_backup_region #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/CreateBackup AWS API Documentation # # @overload create_backup(params = {}) # @param [Hash] params ({}) @@ -876,16 +1112,21 @@ # Specifies the IDs of the subnets that the file system will be # accessible from. For Windows `MULTI_AZ_1` file system deployment # types, provide exactly two subnet IDs, one for the preferred file # server and one for the standby file server. You specify one of these # subnets as the preferred subnet using the `WindowsConfiguration > - # PreferredSubnetID` property. + # PreferredSubnetID` property. For more information, see [ Availability + # and durability: Single-AZ and Multi-AZ file systems][1]. # # For Windows `SINGLE_AZ_1` and `SINGLE_AZ_2` file system deployment # types and Lustre file systems, provide exactly one subnet ID. The file # server is launched in that subnet's Availability Zone. # + # + # + # [1]: https://docs.aws.amazon.com/fsx/latest/WindowsGuide/high-availability-multiAZ.html + # # @option params [Array<String>] :security_group_ids # A list of IDs specifying the security groups to apply to all network # interfaces created for file system access. This list isn't returned # in later requests to describe the file system. # @@ -1149,12 +1390,11 @@ # returns the file system state along with other information. # # </note> # # @option params [required, String] :backup_id - # The ID of the backup. Specifies the backup to use if you're creating - # a file system from an existing backup. + # The ID of the source backup. Specifies the backup you are copying. # # @option params [String] :client_request_token # A string of up to 64 ASCII characters that Amazon FSx uses to ensure # idempotent creation. This string is automatically filled on your # behalf when you use the AWS Command Line Interface (AWS CLI) or an AWS @@ -1211,10 +1451,24 @@ # only if the original SSD file system had a storage capacity of at # least 2000 GiB. # # </note> # + # @option params [String] :kms_key_id + # The ID of the AWS Key Management Service (AWS KMS) key used to encrypt + # the file system's data for Amazon FSx for Windows File Server file + # systems and Amazon FSx for Lustre `PERSISTENT_1` file systems at rest. + # In either case, if not specified, the Amazon FSx managed key is used. + # The Amazon FSx for Lustre `SCRATCH_1` and `SCRATCH_2` file systems are + # always encrypted at rest using Amazon FSx managed keys. For more + # information, see [Encrypt][1] in the *AWS Key Management Service API + # Reference*. + # + # + # + # [1]: https://docs.aws.amazon.com/kms/latest/APIReference/API_Encrypt.html + # # @return [Types::CreateFileSystemFromBackupResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::CreateFileSystemFromBackupResponse#file_system #file_system} => Types::FileSystem # # @@ -1317,10 +1571,11 @@ # automatic_backup_retention_days: 1, # copy_tags_to_backups: false, # drive_cache_type: "NONE", # accepts NONE, READ # }, # storage_type: "SSD", # accepts SSD, HDD + # kms_key_id: "KmsKeyId", # }) # # @example Response structure # # resp.file_system.owner_id #=> String @@ -1442,11 +1697,11 @@ # }) # # @example Response structure # # resp.backup_id #=> String - # resp.lifecycle #=> String, one of "AVAILABLE", "CREATING", "TRANSFERRING", "DELETED", "FAILED", "PENDING" + # resp.lifecycle #=> String, one of "AVAILABLE", "CREATING", "TRANSFERRING", "DELETED", "FAILED", "PENDING", "COPYING" # # @see http://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/DeleteBackup AWS API Documentation # # @overload delete_backup(params = {}) # @param [Hash] params ({}) @@ -1675,11 +1930,11 @@ # # @example Response structure # # resp.backups #=> Array # resp.backups[0].backup_id #=> String - # resp.backups[0].lifecycle #=> String, one of "AVAILABLE", "CREATING", "TRANSFERRING", "DELETED", "FAILED", "PENDING" + # resp.backups[0].lifecycle #=> String, one of "AVAILABLE", "CREATING", "TRANSFERRING", "DELETED", "FAILED", "PENDING", "COPYING" # resp.backups[0].failure_details.message #=> String # resp.backups[0].type #=> String, one of "AUTOMATIC", "USER_INITIATED", "AWS_BACKUP" # resp.backups[0].progress_percent #=> Integer # resp.backups[0].creation_time #=> Time # resp.backups[0].kms_key_id #=> String @@ -1748,10 +2003,14 @@ # resp.backups[0].file_system.administrative_actions[0].status #=> String, one of "FAILED", "IN_PROGRESS", "PENDING", "COMPLETED", "UPDATED_OPTIMIZING" # resp.backups[0].file_system.administrative_actions[0].target_file_system_values #=> Types::FileSystem # resp.backups[0].file_system.administrative_actions[0].failure_details.message #=> String # resp.backups[0].directory_information.domain_name #=> String # resp.backups[0].directory_information.active_directory_id #=> String + # resp.backups[0].directory_information.resource_arn #=> String + # resp.backups[0].owner_id #=> String + # resp.backups[0].source_backup_id #=> String + # resp.backups[0].source_backup_region #=> String # resp.next_token #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/DescribeBackups AWS API Documentation # # @overload describe_backups(params = {}) @@ -2569,10 +2828,10 @@ operation: config.api.operation(operation_name), client: self, params: params, config: config) context[:gem_name] = 'aws-sdk-fsx' - context[:gem_version] = '1.35.0' + context[:gem_version] = '1.36.0' Seahorse::Client::Request.new(handlers, context) end # @api private # @deprecated