aws-sdk-fsx 1.35.0 → 1.36.0

Sign up to get free protection for your applications and to get access to all the features.
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: