aws-sdk-fsx 1.35.0 → 1.36.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1877f6f8ef491b0f2401415cd22b2127e224d1a367189a8d97d2c28392ff5d2e
4
- data.tar.gz: 45e3fb85406e1bba82625d5dd789f599e5c74d236acc143007690333e6f8b304
3
+ metadata.gz: 0d2b7c2ab4700358710425a12ab6672b68a8c517fcd564b3c8c3a1ea0abfb5f2
4
+ data.tar.gz: 9f7a53382c25f457aaba71bb7493277ea8af95321c126393d88e8c1e4dacaa91
5
5
  SHA512:
6
- metadata.gz: 6c5fad740f1f707172e06dfb4e9f016c17fb34650f475a0a737237f6076610ca11eefb73e797c9c8d8e578a555e3199ca373dfff272158774e1f211d15d39961
7
- data.tar.gz: ed86cea8fe1c469cdc6bd1b9fd73a680efeeab7be37d1106d90b2974fe7b6c8409907aa64e0995e4d3c669b02fb686c086050019db9bc037a20c1a131c39144f
6
+ metadata.gz: c72c538e3d571d0ae3250d5867af9c7942461ec46c311667cebfe4ad04ca9e44639b884b1d5b4678707c74fe98d6f0eb1b4a1c101654001ff6f83b0344b6ba53
7
+ data.tar.gz: b19f5489f413d1765e3ee46cc13818bcdfc685d66b70017ce506a3f5539189b14c35ab36592eec2fb3ad03595b8a44469e7c72b8d901092b5f628ecd6526977b
data/CHANGELOG.md CHANGED
@@ -1,6 +1,11 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.36.0 (2021-04-12)
5
+ ------------------
6
+
7
+ * Feature - Support for cross-region and cross-account backup copies
8
+
4
9
  1.35.0 (2021-03-10)
5
10
  ------------------
6
11
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.35.0
1
+ 1.36.0
data/lib/aws-sdk-fsx.rb CHANGED
@@ -48,6 +48,6 @@ require_relative 'aws-sdk-fsx/customizations'
48
48
  # @!group service
49
49
  module Aws::FSx
50
50
 
51
- GEM_VERSION = '1.35.0'
51
+ GEM_VERSION = '1.36.0'
52
52
 
53
53
  end
@@ -456,6 +456,238 @@ module Aws::FSx
456
456
  req.send_request(options)
457
457
  end
458
458
 
459
+ # Copies an existing backup within the same AWS account to another
460
+ # Region (cross-Region copy) or within the same Region (in-Region copy).
461
+ # You can have up to five backup copy requests in progress to a single
462
+ # destination Region per account.
463
+ #
464
+ # You can use cross-Region backup copies for cross-region disaster
465
+ # recovery. You periodically take backups and copy them to another
466
+ # Region so that in the event of a disaster in the primary Region, you
467
+ # can restore from backup and recover availability quickly in the other
468
+ # Region. You can make cross-Region copies only within your AWS
469
+ # partition.
470
+ #
471
+ # You can also use backup copies to clone your file data set to another
472
+ # Region or within the same Region.
473
+ #
474
+ # You can use the `SourceRegion` parameter to specify the AWS Region
475
+ # from which the backup will be copied. For example, if you make the
476
+ # call from the `us-west-1` Region and want to copy a backup from the
477
+ # `us-east-2` Region, you specify `us-east-2` in the `SourceRegion`
478
+ # parameter to make a cross-Region copy. If you don't specify a Region,
479
+ # the backup copy is created in the same Region where the request is
480
+ # sent from (in-Region copy).
481
+ #
482
+ # For more information on creating backup copies, see [ Copying
483
+ # backups][1] in the *Amazon FSx for Windows User Guide* and [Copying
484
+ # backups][2] in the *Amazon FSx for Lustre User Guide*.
485
+ #
486
+ #
487
+ #
488
+ # [1]: https://docs.aws.amazon.com/fsx/latest/WindowsGuide/copy-backups.html
489
+ # [2]: https://docs.aws.amazon.com/fsx/latest/LustreGuide/copy-backups.html
490
+ #
491
+ # @option params [String] :client_request_token
492
+ # (Optional) An idempotency token for resource creation, in a string of
493
+ # up to 64 ASCII characters. This token is automatically filled on your
494
+ # behalf when you use the AWS Command Line Interface (AWS CLI) or an AWS
495
+ # SDK.
496
+ #
497
+ # **A suitable default value is auto-generated.** You should normally
498
+ # not need to pass this option.**
499
+ #
500
+ # @option params [required, String] :source_backup_id
501
+ # The ID of the source backup. Specifies the ID of the backup that is
502
+ # being copied.
503
+ #
504
+ # @option params [String] :source_region
505
+ # The source AWS Region of the backup. Specifies the AWS Region from
506
+ # which the backup is being copied. The source and destination Regions
507
+ # must be in the same AWS partition. If you don't specify a Region, it
508
+ # defaults to the Region where the request is sent from (in-Region
509
+ # copy).
510
+ #
511
+ # @option params [String] :kms_key_id
512
+ # The ID of the AWS Key Management Service (AWS KMS) key used to encrypt
513
+ # the file system's data for Amazon FSx for Windows File Server file
514
+ # systems and Amazon FSx for Lustre `PERSISTENT_1` file systems at rest.
515
+ # In either case, if not specified, the Amazon FSx managed key is used.
516
+ # The Amazon FSx for Lustre `SCRATCH_1` and `SCRATCH_2` file systems are
517
+ # always encrypted at rest using Amazon FSx managed keys. For more
518
+ # information, see [Encrypt][1] in the *AWS Key Management Service API
519
+ # Reference*.
520
+ #
521
+ #
522
+ #
523
+ # [1]: https://docs.aws.amazon.com/kms/latest/APIReference/API_Encrypt.html
524
+ #
525
+ # @option params [Boolean] :copy_tags
526
+ # A boolean flag indicating whether tags from the source backup should
527
+ # be copied to the backup copy. This value defaults to false.
528
+ #
529
+ # If you set `CopyTags` to true and the source backup has existing tags,
530
+ # you can use the `Tags` parameter to create new tags, provided that the
531
+ # sum of the source backup tags and the new tags doesn't exceed 50.
532
+ # Both sets of tags are merged. If there are tag conflicts (for example,
533
+ # two tags with the same key but different values), the tags created
534
+ # with the `Tags` parameter take precedence.
535
+ #
536
+ # @option params [Array<Types::Tag>] :tags
537
+ # A list of `Tag` values, with a maximum of 50 elements.
538
+ #
539
+ # @return [Types::CopyBackupResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
540
+ #
541
+ # * {Types::CopyBackupResponse#backup #backup} => Types::Backup
542
+ #
543
+ #
544
+ # @example Example: To copy a backup
545
+ #
546
+ # # This operation copies an Amazon FSx backup.
547
+ #
548
+ # resp = client.copy_backup({
549
+ # source_backup_id: "backup-03e3c82e0183b7b6b",
550
+ # source_region: "us-east-2",
551
+ # })
552
+ #
553
+ # resp.to_h outputs the following:
554
+ # {
555
+ # backup: {
556
+ # backup_id: "backup-0a3364eded1014b28",
557
+ # creation_time: Time.parse(1617954808.068),
558
+ # file_system: {
559
+ # file_system_id: "fs-0498eed5fe91001ec",
560
+ # file_system_type: "LUSTRE",
561
+ # lustre_configuration: {
562
+ # automatic_backup_retention_days: 0,
563
+ # deployment_type: "PERSISTENT_1",
564
+ # per_unit_storage_throughput: 50,
565
+ # weekly_maintenance_start_time: "1:05:00",
566
+ # },
567
+ # resource_arn: "arn:aws:fsx:us-east-1:012345678912:file-system/fs-0f5179e395f597e66",
568
+ # storage_capacity: 2400,
569
+ # storage_type: "SSD",
570
+ # },
571
+ # kms_key_id: "arn:aws:fsx:us-east-1:012345678912:key/d1234e22-543a-12b7-a98f-e12c2b54001a",
572
+ # lifecycle: "COPYING",
573
+ # owner_id: "123456789012",
574
+ # resource_arn: "arn:aws:fsx:us-east-1:012345678912:backup/backup-0a3364eded1014b28",
575
+ # tags: [
576
+ # {
577
+ # key: "Name",
578
+ # value: "MyBackup",
579
+ # },
580
+ # ],
581
+ # type: "USER_INITIATED",
582
+ # },
583
+ # }
584
+ #
585
+ # @example Request syntax with placeholder values
586
+ #
587
+ # resp = client.copy_backup({
588
+ # client_request_token: "ClientRequestToken",
589
+ # source_backup_id: "SourceBackupId", # required
590
+ # source_region: "Region",
591
+ # kms_key_id: "KmsKeyId",
592
+ # copy_tags: false,
593
+ # tags: [
594
+ # {
595
+ # key: "TagKey", # required
596
+ # value: "TagValue", # required
597
+ # },
598
+ # ],
599
+ # })
600
+ #
601
+ # @example Response structure
602
+ #
603
+ # resp.backup.backup_id #=> String
604
+ # resp.backup.lifecycle #=> String, one of "AVAILABLE", "CREATING", "TRANSFERRING", "DELETED", "FAILED", "PENDING", "COPYING"
605
+ # resp.backup.failure_details.message #=> String
606
+ # resp.backup.type #=> String, one of "AUTOMATIC", "USER_INITIATED", "AWS_BACKUP"
607
+ # resp.backup.progress_percent #=> Integer
608
+ # resp.backup.creation_time #=> Time
609
+ # resp.backup.kms_key_id #=> String
610
+ # resp.backup.resource_arn #=> String
611
+ # resp.backup.tags #=> Array
612
+ # resp.backup.tags[0].key #=> String
613
+ # resp.backup.tags[0].value #=> String
614
+ # resp.backup.file_system.owner_id #=> String
615
+ # resp.backup.file_system.creation_time #=> Time
616
+ # resp.backup.file_system.file_system_id #=> String
617
+ # resp.backup.file_system.file_system_type #=> String, one of "WINDOWS", "LUSTRE"
618
+ # resp.backup.file_system.lifecycle #=> String, one of "AVAILABLE", "CREATING", "FAILED", "DELETING", "MISCONFIGURED", "UPDATING"
619
+ # resp.backup.file_system.failure_details.message #=> String
620
+ # resp.backup.file_system.storage_capacity #=> Integer
621
+ # resp.backup.file_system.storage_type #=> String, one of "SSD", "HDD"
622
+ # resp.backup.file_system.vpc_id #=> String
623
+ # resp.backup.file_system.subnet_ids #=> Array
624
+ # resp.backup.file_system.subnet_ids[0] #=> String
625
+ # resp.backup.file_system.network_interface_ids #=> Array
626
+ # resp.backup.file_system.network_interface_ids[0] #=> String
627
+ # resp.backup.file_system.dns_name #=> String
628
+ # resp.backup.file_system.kms_key_id #=> String
629
+ # resp.backup.file_system.resource_arn #=> String
630
+ # resp.backup.file_system.tags #=> Array
631
+ # resp.backup.file_system.tags[0].key #=> String
632
+ # resp.backup.file_system.tags[0].value #=> String
633
+ # resp.backup.file_system.windows_configuration.active_directory_id #=> String
634
+ # resp.backup.file_system.windows_configuration.self_managed_active_directory_configuration.domain_name #=> String
635
+ # resp.backup.file_system.windows_configuration.self_managed_active_directory_configuration.organizational_unit_distinguished_name #=> String
636
+ # resp.backup.file_system.windows_configuration.self_managed_active_directory_configuration.file_system_administrators_group #=> String
637
+ # resp.backup.file_system.windows_configuration.self_managed_active_directory_configuration.user_name #=> String
638
+ # resp.backup.file_system.windows_configuration.self_managed_active_directory_configuration.dns_ips #=> Array
639
+ # resp.backup.file_system.windows_configuration.self_managed_active_directory_configuration.dns_ips[0] #=> String
640
+ # resp.backup.file_system.windows_configuration.deployment_type #=> String, one of "MULTI_AZ_1", "SINGLE_AZ_1", "SINGLE_AZ_2"
641
+ # resp.backup.file_system.windows_configuration.remote_administration_endpoint #=> String
642
+ # resp.backup.file_system.windows_configuration.preferred_subnet_id #=> String
643
+ # resp.backup.file_system.windows_configuration.preferred_file_server_ip #=> String
644
+ # resp.backup.file_system.windows_configuration.throughput_capacity #=> Integer
645
+ # resp.backup.file_system.windows_configuration.maintenance_operations_in_progress #=> Array
646
+ # resp.backup.file_system.windows_configuration.maintenance_operations_in_progress[0] #=> String, one of "PATCHING", "BACKING_UP"
647
+ # resp.backup.file_system.windows_configuration.weekly_maintenance_start_time #=> String
648
+ # resp.backup.file_system.windows_configuration.daily_automatic_backup_start_time #=> String
649
+ # resp.backup.file_system.windows_configuration.automatic_backup_retention_days #=> Integer
650
+ # resp.backup.file_system.windows_configuration.copy_tags_to_backups #=> Boolean
651
+ # resp.backup.file_system.windows_configuration.aliases #=> Array
652
+ # resp.backup.file_system.windows_configuration.aliases[0].name #=> String
653
+ # resp.backup.file_system.windows_configuration.aliases[0].lifecycle #=> String, one of "AVAILABLE", "CREATING", "DELETING", "CREATE_FAILED", "DELETE_FAILED"
654
+ # resp.backup.file_system.lustre_configuration.weekly_maintenance_start_time #=> String
655
+ # resp.backup.file_system.lustre_configuration.data_repository_configuration.lifecycle #=> String, one of "CREATING", "AVAILABLE", "MISCONFIGURED", "UPDATING", "DELETING"
656
+ # resp.backup.file_system.lustre_configuration.data_repository_configuration.import_path #=> String
657
+ # resp.backup.file_system.lustre_configuration.data_repository_configuration.export_path #=> String
658
+ # resp.backup.file_system.lustre_configuration.data_repository_configuration.imported_file_chunk_size #=> Integer
659
+ # resp.backup.file_system.lustre_configuration.data_repository_configuration.auto_import_policy #=> String, one of "NONE", "NEW", "NEW_CHANGED"
660
+ # resp.backup.file_system.lustre_configuration.data_repository_configuration.failure_details.message #=> String
661
+ # resp.backup.file_system.lustre_configuration.deployment_type #=> String, one of "SCRATCH_1", "SCRATCH_2", "PERSISTENT_1"
662
+ # resp.backup.file_system.lustre_configuration.per_unit_storage_throughput #=> Integer
663
+ # resp.backup.file_system.lustre_configuration.mount_name #=> String
664
+ # resp.backup.file_system.lustre_configuration.daily_automatic_backup_start_time #=> String
665
+ # resp.backup.file_system.lustre_configuration.automatic_backup_retention_days #=> Integer
666
+ # resp.backup.file_system.lustre_configuration.copy_tags_to_backups #=> Boolean
667
+ # resp.backup.file_system.lustre_configuration.drive_cache_type #=> String, one of "NONE", "READ"
668
+ # resp.backup.file_system.administrative_actions #=> Array
669
+ # 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"
670
+ # resp.backup.file_system.administrative_actions[0].progress_percent #=> Integer
671
+ # resp.backup.file_system.administrative_actions[0].request_time #=> Time
672
+ # resp.backup.file_system.administrative_actions[0].status #=> String, one of "FAILED", "IN_PROGRESS", "PENDING", "COMPLETED", "UPDATED_OPTIMIZING"
673
+ # resp.backup.file_system.administrative_actions[0].target_file_system_values #=> Types::FileSystem
674
+ # resp.backup.file_system.administrative_actions[0].failure_details.message #=> String
675
+ # resp.backup.directory_information.domain_name #=> String
676
+ # resp.backup.directory_information.active_directory_id #=> String
677
+ # resp.backup.directory_information.resource_arn #=> String
678
+ # resp.backup.owner_id #=> String
679
+ # resp.backup.source_backup_id #=> String
680
+ # resp.backup.source_backup_region #=> String
681
+ #
682
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/CopyBackup AWS API Documentation
683
+ #
684
+ # @overload copy_backup(params = {})
685
+ # @param [Hash] params ({})
686
+ def copy_backup(params = {}, options = {})
687
+ req = build_request(:copy_backup, params)
688
+ req.send_request(options)
689
+ end
690
+
459
691
  # Creates a backup of an existing Amazon FSx file system. Creating
460
692
  # regular backups for your file system is a best practice, enabling you
461
693
  # to restore a file system from a backup if an issue arises with the
@@ -586,7 +818,7 @@ module Aws::FSx
586
818
  # @example Response structure
587
819
  #
588
820
  # resp.backup.backup_id #=> String
589
- # resp.backup.lifecycle #=> String, one of "AVAILABLE", "CREATING", "TRANSFERRING", "DELETED", "FAILED", "PENDING"
821
+ # resp.backup.lifecycle #=> String, one of "AVAILABLE", "CREATING", "TRANSFERRING", "DELETED", "FAILED", "PENDING", "COPYING"
590
822
  # resp.backup.failure_details.message #=> String
591
823
  # resp.backup.type #=> String, one of "AUTOMATIC", "USER_INITIATED", "AWS_BACKUP"
592
824
  # resp.backup.progress_percent #=> Integer
@@ -659,6 +891,10 @@ module Aws::FSx
659
891
  # resp.backup.file_system.administrative_actions[0].failure_details.message #=> String
660
892
  # resp.backup.directory_information.domain_name #=> String
661
893
  # resp.backup.directory_information.active_directory_id #=> String
894
+ # resp.backup.directory_information.resource_arn #=> String
895
+ # resp.backup.owner_id #=> String
896
+ # resp.backup.source_backup_id #=> String
897
+ # resp.backup.source_backup_region #=> String
662
898
  #
663
899
  # @see http://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/CreateBackup AWS API Documentation
664
900
  #
@@ -878,12 +1114,17 @@ module Aws::FSx
878
1114
  # types, provide exactly two subnet IDs, one for the preferred file
879
1115
  # server and one for the standby file server. You specify one of these
880
1116
  # subnets as the preferred subnet using the `WindowsConfiguration >
881
- # PreferredSubnetID` property.
1117
+ # PreferredSubnetID` property. For more information, see [ Availability
1118
+ # and durability: Single-AZ and Multi-AZ file systems][1].
882
1119
  #
883
1120
  # For Windows `SINGLE_AZ_1` and `SINGLE_AZ_2` file system deployment
884
1121
  # types and Lustre file systems, provide exactly one subnet ID. The file
885
1122
  # server is launched in that subnet's Availability Zone.
886
1123
  #
1124
+ #
1125
+ #
1126
+ # [1]: https://docs.aws.amazon.com/fsx/latest/WindowsGuide/high-availability-multiAZ.html
1127
+ #
887
1128
  # @option params [Array<String>] :security_group_ids
888
1129
  # A list of IDs specifying the security groups to apply to all network
889
1130
  # interfaces created for file system access. This list isn't returned
@@ -1151,8 +1392,7 @@ module Aws::FSx
1151
1392
  # </note>
1152
1393
  #
1153
1394
  # @option params [required, String] :backup_id
1154
- # The ID of the backup. Specifies the backup to use if you're creating
1155
- # a file system from an existing backup.
1395
+ # The ID of the source backup. Specifies the backup you are copying.
1156
1396
  #
1157
1397
  # @option params [String] :client_request_token
1158
1398
  # A string of up to 64 ASCII characters that Amazon FSx uses to ensure
@@ -1213,6 +1453,20 @@ module Aws::FSx
1213
1453
  #
1214
1454
  # </note>
1215
1455
  #
1456
+ # @option params [String] :kms_key_id
1457
+ # The ID of the AWS Key Management Service (AWS KMS) key used to encrypt
1458
+ # the file system's data for Amazon FSx for Windows File Server file
1459
+ # systems and Amazon FSx for Lustre `PERSISTENT_1` file systems at rest.
1460
+ # In either case, if not specified, the Amazon FSx managed key is used.
1461
+ # The Amazon FSx for Lustre `SCRATCH_1` and `SCRATCH_2` file systems are
1462
+ # always encrypted at rest using Amazon FSx managed keys. For more
1463
+ # information, see [Encrypt][1] in the *AWS Key Management Service API
1464
+ # Reference*.
1465
+ #
1466
+ #
1467
+ #
1468
+ # [1]: https://docs.aws.amazon.com/kms/latest/APIReference/API_Encrypt.html
1469
+ #
1216
1470
  # @return [Types::CreateFileSystemFromBackupResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1217
1471
  #
1218
1472
  # * {Types::CreateFileSystemFromBackupResponse#file_system #file_system} => Types::FileSystem
@@ -1319,6 +1573,7 @@ module Aws::FSx
1319
1573
  # drive_cache_type: "NONE", # accepts NONE, READ
1320
1574
  # },
1321
1575
  # storage_type: "SSD", # accepts SSD, HDD
1576
+ # kms_key_id: "KmsKeyId",
1322
1577
  # })
1323
1578
  #
1324
1579
  # @example Response structure
@@ -1444,7 +1699,7 @@ module Aws::FSx
1444
1699
  # @example Response structure
1445
1700
  #
1446
1701
  # resp.backup_id #=> String
1447
- # resp.lifecycle #=> String, one of "AVAILABLE", "CREATING", "TRANSFERRING", "DELETED", "FAILED", "PENDING"
1702
+ # resp.lifecycle #=> String, one of "AVAILABLE", "CREATING", "TRANSFERRING", "DELETED", "FAILED", "PENDING", "COPYING"
1448
1703
  #
1449
1704
  # @see http://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/DeleteBackup AWS API Documentation
1450
1705
  #
@@ -1677,7 +1932,7 @@ module Aws::FSx
1677
1932
  #
1678
1933
  # resp.backups #=> Array
1679
1934
  # resp.backups[0].backup_id #=> String
1680
- # resp.backups[0].lifecycle #=> String, one of "AVAILABLE", "CREATING", "TRANSFERRING", "DELETED", "FAILED", "PENDING"
1935
+ # resp.backups[0].lifecycle #=> String, one of "AVAILABLE", "CREATING", "TRANSFERRING", "DELETED", "FAILED", "PENDING", "COPYING"
1681
1936
  # resp.backups[0].failure_details.message #=> String
1682
1937
  # resp.backups[0].type #=> String, one of "AUTOMATIC", "USER_INITIATED", "AWS_BACKUP"
1683
1938
  # resp.backups[0].progress_percent #=> Integer
@@ -1750,6 +2005,10 @@ module Aws::FSx
1750
2005
  # resp.backups[0].file_system.administrative_actions[0].failure_details.message #=> String
1751
2006
  # resp.backups[0].directory_information.domain_name #=> String
1752
2007
  # resp.backups[0].directory_information.active_directory_id #=> String
2008
+ # resp.backups[0].directory_information.resource_arn #=> String
2009
+ # resp.backups[0].owner_id #=> String
2010
+ # resp.backups[0].source_backup_id #=> String
2011
+ # resp.backups[0].source_backup_region #=> String
1753
2012
  # resp.next_token #=> String
1754
2013
  #
1755
2014
  # @see http://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/DescribeBackups AWS API Documentation
@@ -2571,7 +2830,7 @@ module Aws::FSx
2571
2830
  params: params,
2572
2831
  config: config)
2573
2832
  context[:gem_name] = 'aws-sdk-fsx'
2574
- context[:gem_version] = '1.35.0'
2833
+ context[:gem_version] = '1.36.0'
2575
2834
  Seahorse::Client::Request.new(handlers, context)
2576
2835
  end
2577
2836
 
@@ -33,6 +33,7 @@ module Aws::FSx
33
33
  AutoImportPolicyType = Shapes::StringShape.new(name: 'AutoImportPolicyType')
34
34
  AutomaticBackupRetentionDays = Shapes::IntegerShape.new(name: 'AutomaticBackupRetentionDays')
35
35
  Backup = Shapes::StructureShape.new(name: 'Backup')
36
+ BackupBeingCopied = Shapes::StructureShape.new(name: 'BackupBeingCopied')
36
37
  BackupFailureDetails = Shapes::StructureShape.new(name: 'BackupFailureDetails')
37
38
  BackupId = Shapes::StringShape.new(name: 'BackupId')
38
39
  BackupIds = Shapes::ListShape.new(name: 'BackupIds')
@@ -47,6 +48,8 @@ module Aws::FSx
47
48
  CancelDataRepositoryTaskResponse = Shapes::StructureShape.new(name: 'CancelDataRepositoryTaskResponse')
48
49
  ClientRequestToken = Shapes::StringShape.new(name: 'ClientRequestToken')
49
50
  CompletionReport = Shapes::StructureShape.new(name: 'CompletionReport')
51
+ CopyBackupRequest = Shapes::StructureShape.new(name: 'CopyBackupRequest')
52
+ CopyBackupResponse = Shapes::StructureShape.new(name: 'CopyBackupResponse')
50
53
  CreateBackupRequest = Shapes::StructureShape.new(name: 'CreateBackupRequest')
51
54
  CreateBackupResponse = Shapes::StructureShape.new(name: 'CreateBackupResponse')
52
55
  CreateDataRepositoryTaskRequest = Shapes::StructureShape.new(name: 'CreateDataRepositoryTaskRequest')
@@ -123,11 +126,15 @@ module Aws::FSx
123
126
  Filters = Shapes::ListShape.new(name: 'Filters')
124
127
  Flag = Shapes::BooleanShape.new(name: 'Flag')
125
128
  IncompatibleParameterError = Shapes::StructureShape.new(name: 'IncompatibleParameterError')
129
+ IncompatibleRegionForMultiAZ = Shapes::StructureShape.new(name: 'IncompatibleRegionForMultiAZ')
126
130
  InternalServerError = Shapes::StructureShape.new(name: 'InternalServerError')
131
+ InvalidDestinationKmsKey = Shapes::StructureShape.new(name: 'InvalidDestinationKmsKey')
127
132
  InvalidExportPath = Shapes::StructureShape.new(name: 'InvalidExportPath')
128
133
  InvalidImportPath = Shapes::StructureShape.new(name: 'InvalidImportPath')
129
134
  InvalidNetworkSettings = Shapes::StructureShape.new(name: 'InvalidNetworkSettings')
130
135
  InvalidPerUnitStorageThroughput = Shapes::StructureShape.new(name: 'InvalidPerUnitStorageThroughput')
136
+ InvalidRegion = Shapes::StructureShape.new(name: 'InvalidRegion')
137
+ InvalidSourceKmsKey = Shapes::StructureShape.new(name: 'InvalidSourceKmsKey')
131
138
  IpAddress = Shapes::StringShape.new(name: 'IpAddress')
132
139
  KmsKeyId = Shapes::StringShape.new(name: 'KmsKeyId')
133
140
  LastUpdatedTime = Shapes::TimestampShape.new(name: 'LastUpdatedTime')
@@ -148,6 +155,7 @@ module Aws::FSx
148
155
  Parameter = Shapes::StringShape.new(name: 'Parameter')
149
156
  PerUnitStorageThroughput = Shapes::IntegerShape.new(name: 'PerUnitStorageThroughput')
150
157
  ProgressPercent = Shapes::IntegerShape.new(name: 'ProgressPercent')
158
+ Region = Shapes::StringShape.new(name: 'Region')
151
159
  ReportFormat = Shapes::StringShape.new(name: 'ReportFormat')
152
160
  ReportScope = Shapes::StringShape.new(name: 'ReportScope')
153
161
  RequestTime = Shapes::TimestampShape.new(name: 'RequestTime')
@@ -161,6 +169,8 @@ module Aws::FSx
161
169
  SelfManagedActiveDirectoryConfigurationUpdates = Shapes::StructureShape.new(name: 'SelfManagedActiveDirectoryConfigurationUpdates')
162
170
  ServiceLimit = Shapes::StringShape.new(name: 'ServiceLimit')
163
171
  ServiceLimitExceeded = Shapes::StructureShape.new(name: 'ServiceLimitExceeded')
172
+ SourceBackupId = Shapes::StringShape.new(name: 'SourceBackupId')
173
+ SourceBackupUnavailable = Shapes::StructureShape.new(name: 'SourceBackupUnavailable')
164
174
  StartTime = Shapes::TimestampShape.new(name: 'StartTime')
165
175
  Status = Shapes::StringShape.new(name: 'Status')
166
176
  StorageCapacity = Shapes::IntegerShape.new(name: 'StorageCapacity')
@@ -192,6 +202,7 @@ module Aws::FSx
192
202
 
193
203
  ActiveDirectoryBackupAttributes.add_member(:domain_name, Shapes::ShapeRef.new(shape: ActiveDirectoryFullyQualifiedName, location_name: "DomainName"))
194
204
  ActiveDirectoryBackupAttributes.add_member(:active_directory_id, Shapes::ShapeRef.new(shape: DirectoryId, location_name: "ActiveDirectoryId"))
205
+ ActiveDirectoryBackupAttributes.add_member(:resource_arn, Shapes::ShapeRef.new(shape: ResourceARN, location_name: "ResourceARN"))
195
206
  ActiveDirectoryBackupAttributes.struct_class = Types::ActiveDirectoryBackupAttributes
196
207
 
197
208
  ActiveDirectoryError.add_member(:active_directory_id, Shapes::ShapeRef.new(shape: DirectoryId, required: true, location_name: "ActiveDirectoryId"))
@@ -239,8 +250,15 @@ module Aws::FSx
239
250
  Backup.add_member(:tags, Shapes::ShapeRef.new(shape: Tags, location_name: "Tags"))
240
251
  Backup.add_member(:file_system, Shapes::ShapeRef.new(shape: FileSystem, required: true, location_name: "FileSystem"))
241
252
  Backup.add_member(:directory_information, Shapes::ShapeRef.new(shape: ActiveDirectoryBackupAttributes, location_name: "DirectoryInformation"))
253
+ Backup.add_member(:owner_id, Shapes::ShapeRef.new(shape: AWSAccountId, location_name: "OwnerId"))
254
+ Backup.add_member(:source_backup_id, Shapes::ShapeRef.new(shape: BackupId, location_name: "SourceBackupId"))
255
+ Backup.add_member(:source_backup_region, Shapes::ShapeRef.new(shape: Region, location_name: "SourceBackupRegion"))
242
256
  Backup.struct_class = Types::Backup
243
257
 
258
+ BackupBeingCopied.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
259
+ BackupBeingCopied.add_member(:backup_id, Shapes::ShapeRef.new(shape: BackupId, location_name: "BackupId"))
260
+ BackupBeingCopied.struct_class = Types::BackupBeingCopied
261
+
244
262
  BackupFailureDetails.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
245
263
  BackupFailureDetails.struct_class = Types::BackupFailureDetails
246
264
 
@@ -274,6 +292,17 @@ module Aws::FSx
274
292
  CompletionReport.add_member(:scope, Shapes::ShapeRef.new(shape: ReportScope, location_name: "Scope"))
275
293
  CompletionReport.struct_class = Types::CompletionReport
276
294
 
295
+ CopyBackupRequest.add_member(:client_request_token, Shapes::ShapeRef.new(shape: ClientRequestToken, location_name: "ClientRequestToken", metadata: {"idempotencyToken"=>true}))
296
+ CopyBackupRequest.add_member(:source_backup_id, Shapes::ShapeRef.new(shape: SourceBackupId, required: true, location_name: "SourceBackupId"))
297
+ CopyBackupRequest.add_member(:source_region, Shapes::ShapeRef.new(shape: Region, location_name: "SourceRegion"))
298
+ CopyBackupRequest.add_member(:kms_key_id, Shapes::ShapeRef.new(shape: KmsKeyId, location_name: "KmsKeyId"))
299
+ CopyBackupRequest.add_member(:copy_tags, Shapes::ShapeRef.new(shape: Flag, location_name: "CopyTags"))
300
+ CopyBackupRequest.add_member(:tags, Shapes::ShapeRef.new(shape: Tags, location_name: "Tags"))
301
+ CopyBackupRequest.struct_class = Types::CopyBackupRequest
302
+
303
+ CopyBackupResponse.add_member(:backup, Shapes::ShapeRef.new(shape: Backup, location_name: "Backup"))
304
+ CopyBackupResponse.struct_class = Types::CopyBackupResponse
305
+
277
306
  CreateBackupRequest.add_member(:file_system_id, Shapes::ShapeRef.new(shape: FileSystemId, required: true, location_name: "FileSystemId"))
278
307
  CreateBackupRequest.add_member(:client_request_token, Shapes::ShapeRef.new(shape: ClientRequestToken, location_name: "ClientRequestToken", metadata: {"idempotencyToken"=>true}))
279
308
  CreateBackupRequest.add_member(:tags, Shapes::ShapeRef.new(shape: Tags, location_name: "Tags"))
@@ -301,6 +330,7 @@ module Aws::FSx
301
330
  CreateFileSystemFromBackupRequest.add_member(:windows_configuration, Shapes::ShapeRef.new(shape: CreateFileSystemWindowsConfiguration, location_name: "WindowsConfiguration"))
302
331
  CreateFileSystemFromBackupRequest.add_member(:lustre_configuration, Shapes::ShapeRef.new(shape: CreateFileSystemLustreConfiguration, location_name: "LustreConfiguration"))
303
332
  CreateFileSystemFromBackupRequest.add_member(:storage_type, Shapes::ShapeRef.new(shape: StorageType, location_name: "StorageType"))
333
+ CreateFileSystemFromBackupRequest.add_member(:kms_key_id, Shapes::ShapeRef.new(shape: KmsKeyId, location_name: "KmsKeyId"))
304
334
  CreateFileSystemFromBackupRequest.struct_class = Types::CreateFileSystemFromBackupRequest
305
335
 
306
336
  CreateFileSystemFromBackupResponse.add_member(:file_system, Shapes::ShapeRef.new(shape: FileSystem, location_name: "FileSystem"))
@@ -531,9 +561,15 @@ module Aws::FSx
531
561
  IncompatibleParameterError.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
532
562
  IncompatibleParameterError.struct_class = Types::IncompatibleParameterError
533
563
 
564
+ IncompatibleRegionForMultiAZ.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
565
+ IncompatibleRegionForMultiAZ.struct_class = Types::IncompatibleRegionForMultiAZ
566
+
534
567
  InternalServerError.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
535
568
  InternalServerError.struct_class = Types::InternalServerError
536
569
 
570
+ InvalidDestinationKmsKey.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
571
+ InvalidDestinationKmsKey.struct_class = Types::InvalidDestinationKmsKey
572
+
537
573
  InvalidExportPath.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
538
574
  InvalidExportPath.struct_class = Types::InvalidExportPath
539
575
 
@@ -548,6 +584,12 @@ module Aws::FSx
548
584
  InvalidPerUnitStorageThroughput.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
549
585
  InvalidPerUnitStorageThroughput.struct_class = Types::InvalidPerUnitStorageThroughput
550
586
 
587
+ InvalidRegion.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
588
+ InvalidRegion.struct_class = Types::InvalidRegion
589
+
590
+ InvalidSourceKmsKey.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
591
+ InvalidSourceKmsKey.struct_class = Types::InvalidSourceKmsKey
592
+
551
593
  ListTagsForResourceRequest.add_member(:resource_arn, Shapes::ShapeRef.new(shape: ResourceARN, required: true, location_name: "ResourceARN"))
552
594
  ListTagsForResourceRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location_name: "MaxResults"))
553
595
  ListTagsForResourceRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
@@ -611,6 +653,10 @@ module Aws::FSx
611
653
  ServiceLimitExceeded.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
612
654
  ServiceLimitExceeded.struct_class = Types::ServiceLimitExceeded
613
655
 
656
+ SourceBackupUnavailable.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
657
+ SourceBackupUnavailable.add_member(:backup_id, Shapes::ShapeRef.new(shape: BackupId, location_name: "BackupId"))
658
+ SourceBackupUnavailable.struct_class = Types::SourceBackupUnavailable
659
+
614
660
  SubnetIds.member = Shapes::ShapeRef.new(shape: SubnetId)
615
661
 
616
662
  Tag.add_member(:key, Shapes::ShapeRef.new(shape: TagKey, required: true, location_name: "Key"))
@@ -719,6 +765,25 @@ module Aws::FSx
719
765
  o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
720
766
  end)
721
767
 
768
+ api.add_operation(:copy_backup, Seahorse::Model::Operation.new.tap do |o|
769
+ o.name = "CopyBackup"
770
+ o.http_method = "POST"
771
+ o.http_request_uri = "/"
772
+ o.input = Shapes::ShapeRef.new(shape: CopyBackupRequest)
773
+ o.output = Shapes::ShapeRef.new(shape: CopyBackupResponse)
774
+ o.errors << Shapes::ShapeRef.new(shape: BadRequest)
775
+ o.errors << Shapes::ShapeRef.new(shape: BackupNotFound)
776
+ o.errors << Shapes::ShapeRef.new(shape: ServiceLimitExceeded)
777
+ o.errors << Shapes::ShapeRef.new(shape: UnsupportedOperation)
778
+ o.errors << Shapes::ShapeRef.new(shape: IncompatibleParameterError)
779
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
780
+ o.errors << Shapes::ShapeRef.new(shape: InvalidSourceKmsKey)
781
+ o.errors << Shapes::ShapeRef.new(shape: InvalidDestinationKmsKey)
782
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRegion)
783
+ o.errors << Shapes::ShapeRef.new(shape: SourceBackupUnavailable)
784
+ o.errors << Shapes::ShapeRef.new(shape: IncompatibleRegionForMultiAZ)
785
+ end)
786
+
722
787
  api.add_operation(:create_backup, Seahorse::Model::Operation.new.tap do |o|
723
788
  o.name = "CreateBackup"
724
789
  o.http_method = "POST"
@@ -796,6 +861,7 @@ module Aws::FSx
796
861
  o.errors << Shapes::ShapeRef.new(shape: BackupRestoring)
797
862
  o.errors << Shapes::ShapeRef.new(shape: IncompatibleParameterError)
798
863
  o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
864
+ o.errors << Shapes::ShapeRef.new(shape: BackupBeingCopied)
799
865
  end)
800
866
 
801
867
  api.add_operation(:delete_file_system, Seahorse::Model::Operation.new.tap do |o|
@@ -28,6 +28,7 @@ module Aws::FSx
28
28
  #
29
29
  # ## Error Classes
30
30
  # * {ActiveDirectoryError}
31
+ # * {BackupBeingCopied}
31
32
  # * {BackupInProgress}
32
33
  # * {BackupNotFound}
33
34
  # * {BackupRestoring}
@@ -37,16 +38,21 @@ module Aws::FSx
37
38
  # * {DataRepositoryTaskNotFound}
38
39
  # * {FileSystemNotFound}
39
40
  # * {IncompatibleParameterError}
41
+ # * {IncompatibleRegionForMultiAZ}
40
42
  # * {InternalServerError}
43
+ # * {InvalidDestinationKmsKey}
41
44
  # * {InvalidExportPath}
42
45
  # * {InvalidImportPath}
43
46
  # * {InvalidNetworkSettings}
44
47
  # * {InvalidPerUnitStorageThroughput}
48
+ # * {InvalidRegion}
49
+ # * {InvalidSourceKmsKey}
45
50
  # * {MissingFileSystemConfiguration}
46
51
  # * {NotServiceResourceError}
47
52
  # * {ResourceDoesNotSupportTagging}
48
53
  # * {ResourceNotFound}
49
54
  # * {ServiceLimitExceeded}
55
+ # * {SourceBackupUnavailable}
50
56
  # * {UnsupportedOperation}
51
57
  #
52
58
  # Additionally, error classes are dynamically generated for service errors based on the error code
@@ -80,6 +86,26 @@ module Aws::FSx
80
86
  end
81
87
  end
82
88
 
89
+ class BackupBeingCopied < ServiceError
90
+
91
+ # @param [Seahorse::Client::RequestContext] context
92
+ # @param [String] message
93
+ # @param [Aws::FSx::Types::BackupBeingCopied] data
94
+ def initialize(context, message, data = Aws::EmptyStructure.new)
95
+ super(context, message, data)
96
+ end
97
+
98
+ # @return [String]
99
+ def message
100
+ @message || @data[:message]
101
+ end
102
+
103
+ # @return [String]
104
+ def backup_id
105
+ @data[:backup_id]
106
+ end
107
+ end
108
+
83
109
  class BackupInProgress < ServiceError
84
110
 
85
111
  # @param [Seahorse::Client::RequestContext] context
@@ -225,6 +251,21 @@ module Aws::FSx
225
251
  end
226
252
  end
227
253
 
254
+ class IncompatibleRegionForMultiAZ < ServiceError
255
+
256
+ # @param [Seahorse::Client::RequestContext] context
257
+ # @param [String] message
258
+ # @param [Aws::FSx::Types::IncompatibleRegionForMultiAZ] data
259
+ def initialize(context, message, data = Aws::EmptyStructure.new)
260
+ super(context, message, data)
261
+ end
262
+
263
+ # @return [String]
264
+ def message
265
+ @message || @data[:message]
266
+ end
267
+ end
268
+
228
269
  class InternalServerError < ServiceError
229
270
 
230
271
  # @param [Seahorse::Client::RequestContext] context
@@ -240,6 +281,21 @@ module Aws::FSx
240
281
  end
241
282
  end
242
283
 
284
+ class InvalidDestinationKmsKey < ServiceError
285
+
286
+ # @param [Seahorse::Client::RequestContext] context
287
+ # @param [String] message
288
+ # @param [Aws::FSx::Types::InvalidDestinationKmsKey] data
289
+ def initialize(context, message, data = Aws::EmptyStructure.new)
290
+ super(context, message, data)
291
+ end
292
+
293
+ # @return [String]
294
+ def message
295
+ @message || @data[:message]
296
+ end
297
+ end
298
+
243
299
  class InvalidExportPath < ServiceError
244
300
 
245
301
  # @param [Seahorse::Client::RequestContext] context
@@ -310,6 +366,36 @@ module Aws::FSx
310
366
  end
311
367
  end
312
368
 
369
+ class InvalidRegion < ServiceError
370
+
371
+ # @param [Seahorse::Client::RequestContext] context
372
+ # @param [String] message
373
+ # @param [Aws::FSx::Types::InvalidRegion] data
374
+ def initialize(context, message, data = Aws::EmptyStructure.new)
375
+ super(context, message, data)
376
+ end
377
+
378
+ # @return [String]
379
+ def message
380
+ @message || @data[:message]
381
+ end
382
+ end
383
+
384
+ class InvalidSourceKmsKey < ServiceError
385
+
386
+ # @param [Seahorse::Client::RequestContext] context
387
+ # @param [String] message
388
+ # @param [Aws::FSx::Types::InvalidSourceKmsKey] data
389
+ def initialize(context, message, data = Aws::EmptyStructure.new)
390
+ super(context, message, data)
391
+ end
392
+
393
+ # @return [String]
394
+ def message
395
+ @message || @data[:message]
396
+ end
397
+ end
398
+
313
399
  class MissingFileSystemConfiguration < ServiceError
314
400
 
315
401
  # @param [Seahorse::Client::RequestContext] context
@@ -405,6 +491,26 @@ module Aws::FSx
405
491
  end
406
492
  end
407
493
 
494
+ class SourceBackupUnavailable < ServiceError
495
+
496
+ # @param [Seahorse::Client::RequestContext] context
497
+ # @param [String] message
498
+ # @param [Aws::FSx::Types::SourceBackupUnavailable] data
499
+ def initialize(context, message, data = Aws::EmptyStructure.new)
500
+ super(context, message, data)
501
+ end
502
+
503
+ # @return [String]
504
+ def message
505
+ @message || @data[:message]
506
+ end
507
+
508
+ # @return [String]
509
+ def backup_id
510
+ @data[:backup_id]
511
+ end
512
+ end
513
+
408
514
  class UnsupportedOperation < ServiceError
409
515
 
410
516
  # @param [Seahorse::Client::RequestContext] context
@@ -22,11 +22,24 @@ module Aws::FSx
22
22
  # which the file system is joined.
23
23
  # @return [String]
24
24
  #
25
+ # @!attribute [rw] resource_arn
26
+ # The Amazon Resource Name (ARN) for a given resource. ARNs uniquely
27
+ # identify AWS resources. We require an ARN when you need to specify a
28
+ # resource unambiguously across all of AWS. For more information, see
29
+ # [Amazon Resource Names (ARNs) and AWS Service Namespaces][1] in the
30
+ # *AWS General Reference*.
31
+ #
32
+ #
33
+ #
34
+ # [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
35
+ # @return [String]
36
+ #
25
37
  # @see http://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/ActiveDirectoryBackupAttributes AWS API Documentation
26
38
  #
27
39
  class ActiveDirectoryBackupAttributes < Struct.new(
28
40
  :domain_name,
29
- :active_directory_id)
41
+ :active_directory_id,
42
+ :resource_arn)
30
43
  SENSITIVE = []
31
44
  include Aws::Structure
32
45
  end
@@ -191,7 +204,8 @@ module Aws::FSx
191
204
  # * Formatted as a fully-qualified domain name (FQDN),
192
205
  # `hostname.domain`, for example, `accounting.example.com`.
193
206
  #
194
- # * Can contain alphanumeric characters and the hyphen (-).
207
+ # * Can contain alphanumeric characters, the underscore (\_), and the
208
+ # hyphen (-).
195
209
  #
196
210
  # * Cannot start or end with a hyphen.
197
211
  #
@@ -308,16 +322,7 @@ module Aws::FSx
308
322
  include Aws::Structure
309
323
  end
310
324
 
311
- # A backup of an Amazon FSx file system. For more information see:
312
- #
313
- # * [Working with backups for Windows file systems][1]
314
- #
315
- # * [Working with backups for Lustre file systems][2]
316
- #
317
- #
318
- #
319
- # [1]: https://docs.aws.amazon.com/fsx/latest/WindowsGuide/using-backups.html
320
- # [2]: https://docs.aws.amazon.com/fsx/latest/LustreGuide/using-backups-fsx.html
325
+ # A backup of an Amazon FSx file system.
321
326
  #
322
327
  # @!attribute [rw] backup_id
323
328
  # The ID of the backup.
@@ -336,6 +341,8 @@ module Aws::FSx
336
341
  # * `TRANSFERRING` - For user-initiated backups on Lustre file systems
337
342
  # only; Amazon FSx is transferring the backup to S3.
338
343
  #
344
+ # * `COPYING` - Amazon FSx is copying the backup.
345
+ #
339
346
  # * `DELETED` - Amazon FSx deleted the backup and it is no longer
340
347
  # available.
341
348
  #
@@ -381,6 +388,20 @@ module Aws::FSx
381
388
  # (AD) to which the Windows File Server instance is joined.
382
389
  # @return [Types::ActiveDirectoryBackupAttributes]
383
390
  #
391
+ # @!attribute [rw] owner_id
392
+ # An AWS account ID. This ID is a 12-digit number that you use to
393
+ # construct Amazon Resource Names (ARNs) for resources.
394
+ # @return [String]
395
+ #
396
+ # @!attribute [rw] source_backup_id
397
+ # The ID of the source backup. Specifies the backup you are copying.
398
+ # @return [String]
399
+ #
400
+ # @!attribute [rw] source_backup_region
401
+ # The source Region of the backup. Specifies the Region from where
402
+ # this backup is copied.
403
+ # @return [String]
404
+ #
384
405
  # @see http://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/Backup AWS API Documentation
385
406
  #
386
407
  class Backup < Struct.new(
@@ -394,7 +415,29 @@ module Aws::FSx
394
415
  :resource_arn,
395
416
  :tags,
396
417
  :file_system,
397
- :directory_information)
418
+ :directory_information,
419
+ :owner_id,
420
+ :source_backup_id,
421
+ :source_backup_region)
422
+ SENSITIVE = []
423
+ include Aws::Structure
424
+ end
425
+
426
+ # You can't delete a backup while it's being copied.
427
+ #
428
+ # @!attribute [rw] message
429
+ # A detailed error message.
430
+ # @return [String]
431
+ #
432
+ # @!attribute [rw] backup_id
433
+ # The ID of the source backup. Specifies the backup you are copying.
434
+ # @return [String]
435
+ #
436
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/BackupBeingCopied AWS API Documentation
437
+ #
438
+ class BackupBeingCopied < Struct.new(
439
+ :message,
440
+ :backup_id)
398
441
  SENSITIVE = []
399
442
  include Aws::Structure
400
443
  end
@@ -593,6 +636,102 @@ module Aws::FSx
593
636
  include Aws::Structure
594
637
  end
595
638
 
639
+ # @note When making an API call, you may pass CopyBackupRequest
640
+ # data as a hash:
641
+ #
642
+ # {
643
+ # client_request_token: "ClientRequestToken",
644
+ # source_backup_id: "SourceBackupId", # required
645
+ # source_region: "Region",
646
+ # kms_key_id: "KmsKeyId",
647
+ # copy_tags: false,
648
+ # tags: [
649
+ # {
650
+ # key: "TagKey", # required
651
+ # value: "TagValue", # required
652
+ # },
653
+ # ],
654
+ # }
655
+ #
656
+ # @!attribute [rw] client_request_token
657
+ # (Optional) An idempotency token for resource creation, in a string
658
+ # of up to 64 ASCII characters. This token is automatically filled on
659
+ # your behalf when you use the AWS Command Line Interface (AWS CLI) or
660
+ # an AWS SDK.
661
+ #
662
+ # **A suitable default value is auto-generated.** You should normally
663
+ # not need to pass this option.
664
+ # @return [String]
665
+ #
666
+ # @!attribute [rw] source_backup_id
667
+ # The ID of the source backup. Specifies the ID of the backup that is
668
+ # being copied.
669
+ # @return [String]
670
+ #
671
+ # @!attribute [rw] source_region
672
+ # The source AWS Region of the backup. Specifies the AWS Region from
673
+ # which the backup is being copied. The source and destination Regions
674
+ # must be in the same AWS partition. If you don't specify a Region,
675
+ # it defaults to the Region where the request is sent from (in-Region
676
+ # copy).
677
+ # @return [String]
678
+ #
679
+ # @!attribute [rw] kms_key_id
680
+ # The ID of the AWS Key Management Service (AWS KMS) key used to
681
+ # encrypt the file system's data for Amazon FSx for Windows File
682
+ # Server file systems and Amazon FSx for Lustre `PERSISTENT_1` file
683
+ # systems at rest. In either case, if not specified, the Amazon FSx
684
+ # managed key is used. The Amazon FSx for Lustre `SCRATCH_1` and
685
+ # `SCRATCH_2` file systems are always encrypted at rest using Amazon
686
+ # FSx managed keys. For more information, see [Encrypt][1] in the *AWS
687
+ # Key Management Service API Reference*.
688
+ #
689
+ #
690
+ #
691
+ # [1]: https://docs.aws.amazon.com/kms/latest/APIReference/API_Encrypt.html
692
+ # @return [String]
693
+ #
694
+ # @!attribute [rw] copy_tags
695
+ # A boolean flag indicating whether tags from the source backup should
696
+ # be copied to the backup copy. This value defaults to false.
697
+ #
698
+ # If you set `CopyTags` to true and the source backup has existing
699
+ # tags, you can use the `Tags` parameter to create new tags, provided
700
+ # that the sum of the source backup tags and the new tags doesn't
701
+ # exceed 50. Both sets of tags are merged. If there are tag conflicts
702
+ # (for example, two tags with the same key but different values), the
703
+ # tags created with the `Tags` parameter take precedence.
704
+ # @return [Boolean]
705
+ #
706
+ # @!attribute [rw] tags
707
+ # A list of `Tag` values, with a maximum of 50 elements.
708
+ # @return [Array<Types::Tag>]
709
+ #
710
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/CopyBackupRequest AWS API Documentation
711
+ #
712
+ class CopyBackupRequest < Struct.new(
713
+ :client_request_token,
714
+ :source_backup_id,
715
+ :source_region,
716
+ :kms_key_id,
717
+ :copy_tags,
718
+ :tags)
719
+ SENSITIVE = []
720
+ include Aws::Structure
721
+ end
722
+
723
+ # @!attribute [rw] backup
724
+ # A backup of an Amazon FSx file system.
725
+ # @return [Types::Backup]
726
+ #
727
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/CopyBackupResponse AWS API Documentation
728
+ #
729
+ class CopyBackupResponse < Struct.new(
730
+ :backup)
731
+ SENSITIVE = []
732
+ include Aws::Structure
733
+ end
734
+
596
735
  # The request object for the `CreateBackup` operation.
597
736
  #
598
737
  # @note When making an API call, you may pass CreateBackupRequest
@@ -795,11 +934,11 @@ module Aws::FSx
795
934
  # drive_cache_type: "NONE", # accepts NONE, READ
796
935
  # },
797
936
  # storage_type: "SSD", # accepts SSD, HDD
937
+ # kms_key_id: "KmsKeyId",
798
938
  # }
799
939
  #
800
940
  # @!attribute [rw] backup_id
801
- # The ID of the backup. Specifies the backup to use if you're
802
- # creating a file system from an existing backup.
941
+ # The ID of the source backup. Specifies the backup you are copying.
803
942
  # @return [String]
804
943
  #
805
944
  # @!attribute [rw] client_request_token
@@ -869,6 +1008,21 @@ module Aws::FSx
869
1008
  # </note>
870
1009
  # @return [String]
871
1010
  #
1011
+ # @!attribute [rw] kms_key_id
1012
+ # The ID of the AWS Key Management Service (AWS KMS) key used to
1013
+ # encrypt the file system's data for Amazon FSx for Windows File
1014
+ # Server file systems and Amazon FSx for Lustre `PERSISTENT_1` file
1015
+ # systems at rest. In either case, if not specified, the Amazon FSx
1016
+ # managed key is used. The Amazon FSx for Lustre `SCRATCH_1` and
1017
+ # `SCRATCH_2` file systems are always encrypted at rest using Amazon
1018
+ # FSx managed keys. For more information, see [Encrypt][1] in the *AWS
1019
+ # Key Management Service API Reference*.
1020
+ #
1021
+ #
1022
+ #
1023
+ # [1]: https://docs.aws.amazon.com/kms/latest/APIReference/API_Encrypt.html
1024
+ # @return [String]
1025
+ #
872
1026
  # @see http://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/CreateFileSystemFromBackupRequest AWS API Documentation
873
1027
  #
874
1028
  class CreateFileSystemFromBackupRequest < Struct.new(
@@ -879,7 +1033,8 @@ module Aws::FSx
879
1033
  :tags,
880
1034
  :windows_configuration,
881
1035
  :lustre_configuration,
882
- :storage_type)
1036
+ :storage_type,
1037
+ :kms_key_id)
883
1038
  SENSITIVE = []
884
1039
  include Aws::Structure
885
1040
  end
@@ -1215,11 +1370,17 @@ module Aws::FSx
1215
1370
  # types, provide exactly two subnet IDs, one for the preferred file
1216
1371
  # server and one for the standby file server. You specify one of these
1217
1372
  # subnets as the preferred subnet using the `WindowsConfiguration >
1218
- # PreferredSubnetID` property.
1373
+ # PreferredSubnetID` property. For more information, see [
1374
+ # Availability and durability: Single-AZ and Multi-AZ file
1375
+ # systems][1].
1219
1376
  #
1220
1377
  # For Windows `SINGLE_AZ_1` and `SINGLE_AZ_2` file system deployment
1221
1378
  # types and Lustre file systems, provide exactly one subnet ID. The
1222
1379
  # file server is launched in that subnet's Availability Zone.
1380
+ #
1381
+ #
1382
+ #
1383
+ # [1]: https://docs.aws.amazon.com/fsx/latest/WindowsGuide/high-availability-multiAZ.html
1223
1384
  # @return [Array<String>]
1224
1385
  #
1225
1386
  # @!attribute [rw] security_group_ids
@@ -1322,7 +1483,13 @@ module Aws::FSx
1322
1483
  # @!attribute [rw] self_managed_active_directory_configuration
1323
1484
  # The configuration that Amazon FSx uses to join the Windows File
1324
1485
  # Server instance to your self-managed (including on-premises)
1325
- # Microsoft Active Directory (AD) directory.
1486
+ # Microsoft Active Directory (AD) directory. For more information, see
1487
+ # [ Using Amazon FSx with your self-managed Microsoft Active
1488
+ # Directory][1].
1489
+ #
1490
+ #
1491
+ #
1492
+ # [1]: https://docs.aws.amazon.com/fsx/latest/WindowsGuide/self-managed-AD.html
1326
1493
  # @return [Types::SelfManagedActiveDirectoryConfiguration]
1327
1494
  #
1328
1495
  # @!attribute [rw] deployment_type
@@ -1415,7 +1582,8 @@ module Aws::FSx
1415
1582
  # * Formatted as a fully-qualified domain name (FQDN),
1416
1583
  # `hostname.domain`, for example, `accounting.example.com`.
1417
1584
  #
1418
- # * Can contain alphanumeric characters and the hyphen (-).
1585
+ # * Can contain alphanumeric characters, the underscore (\_), and the
1586
+ # hyphen (-).
1419
1587
  #
1420
1588
  # * Cannot start or end with a hyphen.
1421
1589
  #
@@ -2142,7 +2310,7 @@ module Aws::FSx
2142
2310
  # Response object for `DescribeBackups` operation.
2143
2311
  #
2144
2312
  # @!attribute [rw] backups
2145
- # Any array of backups.
2313
+ # An array of backups.
2146
2314
  # @return [Array<Types::Backup>]
2147
2315
  #
2148
2316
  # @!attribute [rw] next_token
@@ -2672,6 +2840,21 @@ module Aws::FSx
2672
2840
  include Aws::Structure
2673
2841
  end
2674
2842
 
2843
+ # Amazon FSx doesn't support Multi-AZ Windows File Server copy backup
2844
+ # in the destination Region, so the copied backup can't be restored.
2845
+ #
2846
+ # @!attribute [rw] message
2847
+ # A detailed error message.
2848
+ # @return [String]
2849
+ #
2850
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/IncompatibleRegionForMultiAZ AWS API Documentation
2851
+ #
2852
+ class IncompatibleRegionForMultiAZ < Struct.new(
2853
+ :message)
2854
+ SENSITIVE = []
2855
+ include Aws::Structure
2856
+ end
2857
+
2675
2858
  # A generic error indicating a server-side failure.
2676
2859
  #
2677
2860
  # @!attribute [rw] message
@@ -2686,6 +2869,21 @@ module Aws::FSx
2686
2869
  include Aws::Structure
2687
2870
  end
2688
2871
 
2872
+ # The AWS Key Management Service (AWS KMS) key of the destination backup
2873
+ # is invalid.
2874
+ #
2875
+ # @!attribute [rw] message
2876
+ # A detailed error message.
2877
+ # @return [String]
2878
+ #
2879
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/InvalidDestinationKmsKey AWS API Documentation
2880
+ #
2881
+ class InvalidDestinationKmsKey < Struct.new(
2882
+ :message)
2883
+ SENSITIVE = []
2884
+ include Aws::Structure
2885
+ end
2886
+
2689
2887
  # The path provided for data repository export isn't valid.
2690
2888
  #
2691
2889
  # @!attribute [rw] message
@@ -2772,6 +2970,36 @@ module Aws::FSx
2772
2970
  include Aws::Structure
2773
2971
  end
2774
2972
 
2973
+ # The Region provided for `Source Region` is invalid or is in a
2974
+ # different AWS partition.
2975
+ #
2976
+ # @!attribute [rw] message
2977
+ # A detailed error message.
2978
+ # @return [String]
2979
+ #
2980
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/InvalidRegion AWS API Documentation
2981
+ #
2982
+ class InvalidRegion < Struct.new(
2983
+ :message)
2984
+ SENSITIVE = []
2985
+ include Aws::Structure
2986
+ end
2987
+
2988
+ # The AWS Key Management Service (AWS KMS) key of the source backup is
2989
+ # invalid.
2990
+ #
2991
+ # @!attribute [rw] message
2992
+ # A detailed error message.
2993
+ # @return [String]
2994
+ #
2995
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/InvalidSourceKmsKey AWS API Documentation
2996
+ #
2997
+ class InvalidSourceKmsKey < Struct.new(
2998
+ :message)
2999
+ SENSITIVE = []
3000
+ include Aws::Structure
3001
+ end
3002
+
2775
3003
  # The request object for `ListTagsForResource` operation.
2776
3004
  #
2777
3005
  # @note When making an API call, you may pass ListTagsForResourceRequest
@@ -3050,7 +3278,12 @@ module Aws::FSx
3050
3278
 
3051
3279
  # The configuration that Amazon FSx uses to join the Windows File Server
3052
3280
  # instance to your self-managed (including on-premises) Microsoft Active
3053
- # Directory (AD) directory.
3281
+ # Directory (AD) directory. For more information, see [ Using Amazon FSx
3282
+ # with your self-managed Microsoft Active Directory][1].
3283
+ #
3284
+ #
3285
+ #
3286
+ # [1]: https://docs.aws.amazon.com/fsx/latest/WindowsGuide/self-managed-AD.html
3054
3287
  #
3055
3288
  # @note When making an API call, you may pass SelfManagedActiveDirectoryConfiguration
3056
3289
  # data as a hash:
@@ -3112,20 +3345,7 @@ module Aws::FSx
3112
3345
  #
3113
3346
  # @!attribute [rw] dns_ips
3114
3347
  # A list of up to two IP addresses of DNS servers or domain
3115
- # controllers in the self-managed AD directory. The IP addresses need
3116
- # to be either in the same VPC CIDR range as the one in which your
3117
- # Amazon FSx file system is being created, or in the private IP
3118
- # version 4 (IPv4) address ranges, as specified in [RFC 1918][1]\:
3119
- #
3120
- # * 10\.0.0.0 - 10.255.255.255 (10/8 prefix)
3121
- #
3122
- # * 172\.16.0.0 - 172.31.255.255 (172.16/12 prefix)
3123
- #
3124
- # * 192\.168.0.0 - 192.168.255.255 (192.168/16 prefix)
3125
- #
3126
- #
3127
- #
3128
- # [1]: http://www.faqs.org/rfcs/rfc1918.html
3348
+ # controllers in the self-managed AD directory.
3129
3349
  # @return [Array<String>]
3130
3350
  #
3131
3351
  # @see http://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/SelfManagedActiveDirectoryConfiguration AWS API Documentation
@@ -3201,6 +3421,26 @@ module Aws::FSx
3201
3421
  include Aws::Structure
3202
3422
  end
3203
3423
 
3424
+ # The request was rejected because the lifecycle status of the source
3425
+ # backup is not `AVAILABLE`.
3426
+ #
3427
+ # @!attribute [rw] message
3428
+ # A detailed error message.
3429
+ # @return [String]
3430
+ #
3431
+ # @!attribute [rw] backup_id
3432
+ # The ID of the source backup. Specifies the backup you are copying.
3433
+ # @return [String]
3434
+ #
3435
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/SourceBackupUnavailable AWS API Documentation
3436
+ #
3437
+ class SourceBackupUnavailable < Struct.new(
3438
+ :message,
3439
+ :backup_id)
3440
+ SENSITIVE = []
3441
+ include Aws::Structure
3442
+ end
3443
+
3204
3444
  # Specifies a key-value pair for a resource tag.
3205
3445
  #
3206
3446
  # @note When making an API call, you may pass Tag
@@ -3584,8 +3824,8 @@ module Aws::FSx
3584
3824
  # The configuration for this Microsoft Windows file system.
3585
3825
  #
3586
3826
  # @!attribute [rw] active_directory_id
3587
- # The ID for an existing Microsoft Active Directory instance that the
3588
- # file system should join when it's created.
3827
+ # The ID for an existing AWS Managed Microsoft Active Directory
3828
+ # instance that the file system is joined to.
3589
3829
  # @return [String]
3590
3830
  #
3591
3831
  # @!attribute [rw] self_managed_active_directory_configuration
@@ -3637,8 +3877,8 @@ module Aws::FSx
3637
3877
  #
3638
3878
  # For `SINGLE_AZ_1` and `SINGLE_AZ_2` deployment types, this value is
3639
3879
  # the same as that for `SubnetIDs`. For more information, see
3640
- # [Availability and Durability: Single-AZ and Multi-AZ File
3641
- # Systems][1]
3880
+ # [Availability and durability: Single-AZ and Multi-AZ file
3881
+ # systems][1].
3642
3882
  #
3643
3883
  #
3644
3884
  #
@@ -3664,7 +3904,7 @@ module Aws::FSx
3664
3904
  # @return [String]
3665
3905
  #
3666
3906
  # @!attribute [rw] throughput_capacity
3667
- # The throughput of an Amazon FSx file system, measured in megabytes
3907
+ # The throughput of the Amazon FSx file system, measured in megabytes
3668
3908
  # per second.
3669
3909
  # @return [Integer]
3670
3910
  #
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-fsx
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.35.0
4
+ version: 1.36.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-03-10 00:00:00.000000000 Z
11
+ date: 2021-04-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core
@@ -66,8 +66,8 @@ homepage: https://github.com/aws/aws-sdk-ruby
66
66
  licenses:
67
67
  - Apache-2.0
68
68
  metadata:
69
- source_code_uri: https://github.com/aws/aws-sdk-ruby/tree/master/gems/aws-sdk-fsx
70
- changelog_uri: https://github.com/aws/aws-sdk-ruby/tree/master/gems/aws-sdk-fsx/CHANGELOG.md
69
+ source_code_uri: https://github.com/aws/aws-sdk-ruby/tree/version-3/gems/aws-sdk-fsx
70
+ changelog_uri: https://github.com/aws/aws-sdk-ruby/tree/version-3/gems/aws-sdk-fsx/CHANGELOG.md
71
71
  post_install_message:
72
72
  rdoc_options: []
73
73
  require_paths: