aws-sdk-efs 1.69.0 → 1.70.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: f5afd8c3a446341a16c01afcd5cf1c80ad61e3cd716ab7838a27383fc29e9193
4
- data.tar.gz: 3286149eef342387f18ed201a75b0d0e2bd73edd0399b95dd4c5692b00ff5096
3
+ metadata.gz: 8d9833a46ade82415822242e86624e7cb8abd4ee841f2f5d7531d70179cfde07
4
+ data.tar.gz: 0a67296ab993855261e0c1c0d01cee4ccd0acf56245e40430ec52fedf0380d96
5
5
  SHA512:
6
- metadata.gz: 60614ebf4e79e8c46d4be4769f7962bc3030bda7bcdc0c6645a3acd7ce1c8ea1789302ebd081b2b9be609b3d6e77698b47e5a0ee559348502bc0ba5938c8025e
7
- data.tar.gz: 841604338076e74e8f2fe8541100ffcc509db1896cfbca1430e2e18536799ea572db39c0bf0ced06bd01a28de837e8e1647037b641cf07e829db6356975a620e
6
+ metadata.gz: 0a260e97791f090c813b122841f6e8e5ba55da73c1f7814bffe9e27da7407cddd72590a9b774345ae149ff1ef8b43550afc04d804ed0b9f985245181c4724da9
7
+ data.tar.gz: 5ee0ccddfb6f944d0d6d3e9a32c6b0ce181d4908b9f5718c2156074ac351d5fa01f682cc32abc63ca11f236c041dd697d525078d6db3aedd0263654f9a257a29
data/CHANGELOG.md CHANGED
@@ -1,6 +1,11 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.70.0 (2023-11-27)
5
+ ------------------
6
+
7
+ * Feature - Adding support for EFS Replication to existing file system.
8
+
4
9
  1.69.0 (2023-11-27)
5
10
  ------------------
6
11
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.69.0
1
+ 1.70.0
@@ -762,6 +762,7 @@ module Aws::EFS
762
762
  # * {Types::FileSystemDescription#availability_zone_name #availability_zone_name} => String
763
763
  # * {Types::FileSystemDescription#availability_zone_id #availability_zone_id} => String
764
764
  # * {Types::FileSystemDescription#tags #tags} => Array<Types::Tag>
765
+ # * {Types::FileSystemDescription#file_system_protection #file_system_protection} => Types::FileSystemProtectionDescription
765
766
  #
766
767
  #
767
768
  # @example Example: To create a new file system
@@ -847,6 +848,7 @@ module Aws::EFS
847
848
  # resp.tags #=> Array
848
849
  # resp.tags[0].key #=> String
849
850
  # resp.tags[0].value #=> String
851
+ # resp.file_system_protection.replication_overwrite_protection #=> String, one of "ENABLED", "DISABLED", "REPLICATING"
850
852
  #
851
853
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/CreateFileSystem AWS API Documentation
852
854
  #
@@ -1069,31 +1071,37 @@ module Aws::EFS
1069
1071
  # [Amazon EFS replication][1] in the *Amazon EFS User Guide*. The
1070
1072
  # replication configuration specifies the following:
1071
1073
  #
1072
- # * **Source file system** - An existing EFS file system that you want
1074
+ # * **Source file system** The EFS file system that you want
1073
1075
  # replicated. The source file system cannot be a destination file
1074
1076
  # system in an existing replication configuration.
1075
1077
  #
1076
- # * **Destination file system configuration** - The configuration of the
1078
+ # * **Amazon Web Services Region** The Amazon Web Services Region in
1079
+ # which the destination file system is created. Amazon EFS replication
1080
+ # is available in all Amazon Web Services Regions in which EFS is
1081
+ # available. The Region must be enabled. For more information, see
1082
+ # [Managing Amazon Web Services Regions][2] in the *Amazon Web
1083
+ # Services General Reference Reference Guide*.
1084
+ #
1085
+ # * **Destination file system configuration** – The configuration of the
1077
1086
  # destination file system to which the source file system will be
1078
1087
  # replicated. There can only be one destination file system in a
1079
- # replication configuration. The destination file system configuration
1080
- # consists of the following properties:
1081
- #
1082
- # * **Amazon Web Services Region** - The Amazon Web Services Region in
1083
- # which the destination file system is created. Amazon EFS
1084
- # replication is available in all Amazon Web Services Regions in
1085
- # which EFS is available. To use EFS replication in a Region that is
1086
- # disabled by default, you must first opt in to the Region. For more
1087
- # information, see [Managing Amazon Web Services Regions][2] in the
1088
- # *Amazon Web Services General Reference Reference Guide*
1089
- #
1090
- # * **Availability Zone** - If you want the destination file system to
1091
- # use EFS One Zone availability, you must specify the Availability
1092
- # Zone to create the file system in. For more information about EFS
1093
- # storage classes, see [ Amazon EFS storage classes][3] in the
1094
- # *Amazon EFS User Guide*.
1095
- #
1096
- # * **Encryption** - All destination file systems are created with
1088
+ # replication configuration.
1089
+ #
1090
+ # Parameters for the replication configuration include:
1091
+ #
1092
+ # * **File system ID** – The ID of the destination file system for the
1093
+ # replication. If no ID is provided, then EFS creates a new file
1094
+ # system with the default settings. For existing file systems, the
1095
+ # file system's replication overwrite protection must be disabled.
1096
+ # For more information, see [ Replicating to an existing file
1097
+ # system][3].
1098
+ #
1099
+ # * **Availability Zone** If you want the destination file system to
1100
+ # use One Zone storage, you must specify the Availability Zone to
1101
+ # create the file system in. For more information, see [ EFS file
1102
+ # system types][4] in the *Amazon EFS User Guide*.
1103
+ #
1104
+ # * **Encryption** – All destination file systems are created with
1097
1105
  # encryption at rest enabled. You can specify the Key Management
1098
1106
  # Service (KMS) key that is used to encrypt the destination file
1099
1107
  # system. If you don't specify a KMS key, your service-managed KMS
@@ -1103,7 +1111,12 @@ module Aws::EFS
1103
1111
  #
1104
1112
  # </note>
1105
1113
  #
1106
- # The following properties are set by default:
1114
+ # <note markdown="1"> After the file system is created, you cannot change the KMS key.
1115
+ #
1116
+ # </note>
1117
+ #
1118
+ # For new destination file systems, the following properties are set by
1119
+ # default:
1107
1120
  #
1108
1121
  # * **Performance mode** - The destination file system's performance
1109
1122
  # mode matches that of the source file system, unless the destination
@@ -1114,12 +1127,11 @@ module Aws::EFS
1114
1127
  # * **Throughput mode** - The destination file system's throughput mode
1115
1128
  # matches that of the source file system. After the file system is
1116
1129
  # created, you can modify the throughput mode.
1117
- #
1118
- # The following properties are turned off by default:
1130
+ # ^
1119
1131
  #
1120
1132
  # * **Lifecycle management** – Lifecycle management is not enabled on
1121
1133
  # the destination file system. After the destination file system is
1122
- # created, you can enable it.
1134
+ # created, you can enable lifecycle management.
1123
1135
  #
1124
1136
  # * **Automatic backups** – Automatic daily backups are enabled on the
1125
1137
  # destination file system. After the file system is created, you can
@@ -1132,7 +1144,8 @@ module Aws::EFS
1132
1144
  #
1133
1145
  # [1]: https://docs.aws.amazon.com/efs/latest/ug/efs-replication.html
1134
1146
  # [2]: https://docs.aws.amazon.com/general/latest/gr/rande-manage.html#rande-manage-enable
1135
- # [3]: https://docs.aws.amazon.com/efs/latest/ug/storage-classes.html
1147
+ # [3]: https://docs.aws.amazon.com/efs/latest/ug/efs-replication#replicate-existing-destination
1148
+ # [4]: https://docs.aws.amazon.com/efs/latest/ug/storage-classes.html
1136
1149
  #
1137
1150
  # @option params [required, String] :source_file_system_id
1138
1151
  # Specifies the Amazon EFS file system that you want to replicate. This
@@ -1161,6 +1174,7 @@ module Aws::EFS
1161
1174
  # region: "RegionName",
1162
1175
  # availability_zone_name: "AvailabilityZoneName",
1163
1176
  # kms_key_id: "KmsKeyId",
1177
+ # file_system_id: "FileSystemId",
1164
1178
  # },
1165
1179
  # ],
1166
1180
  # })
@@ -1430,11 +1444,18 @@ module Aws::EFS
1430
1444
  req.send_request(options)
1431
1445
  end
1432
1446
 
1433
- # Deletes an existing replication configuration. Deleting a replication
1447
+ # Deletes a replication configuration. Deleting a replication
1434
1448
  # configuration ends the replication process. After a replication
1435
- # configuration is deleted, the destination file system is no longer
1436
- # read-only. You can write to the destination file system after its
1437
- # status becomes `Writeable`.
1449
+ # configuration is deleted, the destination file system becomes
1450
+ # `Writeable` and its replication overwrite protection is re-enabled.
1451
+ # For more information, see [Delete a replication configuration][1].
1452
+ #
1453
+ # This operation requires permissions for the
1454
+ # `elasticfilesystem:DeleteReplicationConfiguration` action.
1455
+ #
1456
+ #
1457
+ #
1458
+ # [1]: https://docs.aws.amazon.com/efs/latest/ug/delete-replications.html
1438
1459
  #
1439
1460
  # @option params [required, String] :source_file_system_id
1440
1461
  # The ID of the source file system in the replication configuration.
@@ -1814,6 +1835,7 @@ module Aws::EFS
1814
1835
  # resp.file_systems[0].tags #=> Array
1815
1836
  # resp.file_systems[0].tags[0].key #=> String
1816
1837
  # resp.file_systems[0].tags[0].value #=> String
1838
+ # resp.file_systems[0].file_system_protection.replication_overwrite_protection #=> String, one of "ENABLED", "DISABLED", "REPLICATING"
1817
1839
  # resp.next_marker #=> String
1818
1840
  #
1819
1841
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/DescribeFileSystems AWS API Documentation
@@ -1826,7 +1848,7 @@ module Aws::EFS
1826
1848
  end
1827
1849
 
1828
1850
  # Returns the current `LifecycleConfiguration` object for the specified
1829
- # Amazon EFS file system. Llifecycle management uses the
1851
+ # Amazon EFS file system. Lifecycle management uses the
1830
1852
  # `LifecycleConfiguration` object to identify when to move files between
1831
1853
  # storage classes. For a file system without a `LifecycleConfiguration`
1832
1854
  # object, the call returns an empty array in the response.
@@ -2448,7 +2470,7 @@ module Aws::EFS
2448
2470
  req.send_request(options)
2449
2471
  end
2450
2472
 
2451
- # Use this action to manage storage of your file system. A
2473
+ # Use this action to manage storage for your file system. A
2452
2474
  # `LifecycleConfiguration` consists of one or more `LifecyclePolicy`
2453
2475
  # objects that define the following:
2454
2476
  #
@@ -2469,11 +2491,14 @@ module Aws::EFS
2469
2491
  # mode.
2470
2492
  #
2471
2493
  # </note>
2494
+ # ^
2472
2495
  #
2473
2496
  # * <b> <code>TransitionToPrimaryStorageClass</code> </b> – Whether to
2474
2497
  # move files in the file system back to primary storage (Standard
2475
2498
  # storage class) after they are accessed in IA or Archive storage.
2476
2499
  #
2500
+ # ^
2501
+ #
2477
2502
  # For more information, see [ Managing file system storage][1].
2478
2503
  #
2479
2504
  # Each Amazon EFS file system supports one lifecycle configuration,
@@ -2482,9 +2507,7 @@ module Aws::EFS
2482
2507
  # system, a `PutLifecycleConfiguration` call modifies the existing
2483
2508
  # configuration. A `PutLifecycleConfiguration` call with an empty
2484
2509
  # `LifecyclePolicies` array in the request body deletes any existing
2485
- # `LifecycleConfiguration` for the file system.
2486
- #
2487
- # In the request, specify the following:
2510
+ # `LifecycleConfiguration`. In the request, specify the following:
2488
2511
  #
2489
2512
  # * The ID for the file system for which you are enabling, disabling, or
2490
2513
  # modifying Lifecycle management.
@@ -2722,6 +2745,7 @@ module Aws::EFS
2722
2745
  # * {Types::FileSystemDescription#availability_zone_name #availability_zone_name} => String
2723
2746
  # * {Types::FileSystemDescription#availability_zone_id #availability_zone_id} => String
2724
2747
  # * {Types::FileSystemDescription#tags #tags} => Array&lt;Types::Tag&gt;
2748
+ # * {Types::FileSystemDescription#file_system_protection #file_system_protection} => Types::FileSystemProtectionDescription
2725
2749
  #
2726
2750
  # @example Request syntax with placeholder values
2727
2751
  #
@@ -2756,6 +2780,7 @@ module Aws::EFS
2756
2780
  # resp.tags #=> Array
2757
2781
  # resp.tags[0].key #=> String
2758
2782
  # resp.tags[0].value #=> String
2783
+ # resp.file_system_protection.replication_overwrite_protection #=> String, one of "ENABLED", "DISABLED", "REPLICATING"
2759
2784
  #
2760
2785
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/UpdateFileSystem AWS API Documentation
2761
2786
  #
@@ -2766,6 +2791,57 @@ module Aws::EFS
2766
2791
  req.send_request(options)
2767
2792
  end
2768
2793
 
2794
+ # Updates protection on the file system.
2795
+ #
2796
+ # This operation requires permissions for the
2797
+ # `elasticfilesystem:UpdateFileSystemProtection` action.
2798
+ #
2799
+ # @option params [required, String] :file_system_id
2800
+ # The ID of the file system to update.
2801
+ #
2802
+ # @option params [String] :replication_overwrite_protection
2803
+ # The status of the file system's replication overwrite protection.
2804
+ #
2805
+ # * `ENABLED` – The file system cannot be used as the destination file
2806
+ # system in a replication configuration. The file system is writeable.
2807
+ # Replication overwrite protection is `ENABLED` by default.
2808
+ #
2809
+ # * `DISABLED` – The file system can be used as the destination file
2810
+ # system in a replication configuration. The file system is read-only
2811
+ # and can only be modified by EFS replication.
2812
+ #
2813
+ # * `REPLICATING` – The file system is being used as the destination
2814
+ # file system in a replication configuration. The file system is
2815
+ # read-only and is only modified only by EFS replication.
2816
+ #
2817
+ # If the replication configuration is deleted, the file system's
2818
+ # replication overwrite protection is re-enabled, the file system
2819
+ # becomes writeable.
2820
+ #
2821
+ # @return [Types::FileSystemProtectionDescription] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2822
+ #
2823
+ # * {Types::FileSystemProtectionDescription#replication_overwrite_protection #replication_overwrite_protection} => String
2824
+ #
2825
+ # @example Request syntax with placeholder values
2826
+ #
2827
+ # resp = client.update_file_system_protection({
2828
+ # file_system_id: "FileSystemId", # required
2829
+ # replication_overwrite_protection: "ENABLED", # accepts ENABLED, DISABLED, REPLICATING
2830
+ # })
2831
+ #
2832
+ # @example Response structure
2833
+ #
2834
+ # resp.replication_overwrite_protection #=> String, one of "ENABLED", "DISABLED", "REPLICATING"
2835
+ #
2836
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/UpdateFileSystemProtection AWS API Documentation
2837
+ #
2838
+ # @overload update_file_system_protection(params = {})
2839
+ # @param [Hash] params ({})
2840
+ def update_file_system_protection(params = {}, options = {})
2841
+ req = build_request(:update_file_system_protection, params)
2842
+ req.send_request(options)
2843
+ end
2844
+
2769
2845
  # @!endgroup
2770
2846
 
2771
2847
  # @param params ({})
@@ -2779,7 +2855,7 @@ module Aws::EFS
2779
2855
  params: params,
2780
2856
  config: config)
2781
2857
  context[:gem_name] = 'aws-sdk-efs'
2782
- context[:gem_version] = '1.69.0'
2858
+ context[:gem_version] = '1.70.0'
2783
2859
  Seahorse::Client::Request.new(handlers, context)
2784
2860
  end
2785
2861
 
@@ -30,6 +30,7 @@ module Aws::EFS
30
30
  BadRequest = Shapes::StructureShape.new(name: 'BadRequest')
31
31
  BypassPolicyLockoutSafetyCheck = Shapes::BooleanShape.new(name: 'BypassPolicyLockoutSafetyCheck')
32
32
  ClientToken = Shapes::StringShape.new(name: 'ClientToken')
33
+ ConflictException = Shapes::StructureShape.new(name: 'ConflictException')
33
34
  CreateAccessPointRequest = Shapes::StructureShape.new(name: 'CreateAccessPointRequest')
34
35
  CreateFileSystemRequest = Shapes::StructureShape.new(name: 'CreateFileSystemRequest')
35
36
  CreateMountTargetRequest = Shapes::StructureShape.new(name: 'CreateMountTargetRequest')
@@ -78,6 +79,7 @@ module Aws::EFS
78
79
  FileSystemNotFound = Shapes::StructureShape.new(name: 'FileSystemNotFound')
79
80
  FileSystemNullableSizeValue = Shapes::IntegerShape.new(name: 'FileSystemNullableSizeValue')
80
81
  FileSystemPolicyDescription = Shapes::StructureShape.new(name: 'FileSystemPolicyDescription')
82
+ FileSystemProtectionDescription = Shapes::StructureShape.new(name: 'FileSystemProtectionDescription')
81
83
  FileSystemSize = Shapes::StructureShape.new(name: 'FileSystemSize')
82
84
  FileSystemSizeValue = Shapes::IntegerShape.new(name: 'FileSystemSizeValue')
83
85
  Gid = Shapes::IntegerShape.new(name: 'Gid')
@@ -124,9 +126,11 @@ module Aws::EFS
124
126
  PutFileSystemPolicyRequest = Shapes::StructureShape.new(name: 'PutFileSystemPolicyRequest')
125
127
  PutLifecycleConfigurationRequest = Shapes::StructureShape.new(name: 'PutLifecycleConfigurationRequest')
126
128
  RegionName = Shapes::StringShape.new(name: 'RegionName')
129
+ ReplicationAlreadyExists = Shapes::StructureShape.new(name: 'ReplicationAlreadyExists')
127
130
  ReplicationConfigurationDescription = Shapes::StructureShape.new(name: 'ReplicationConfigurationDescription')
128
131
  ReplicationConfigurationDescriptions = Shapes::ListShape.new(name: 'ReplicationConfigurationDescriptions')
129
132
  ReplicationNotFound = Shapes::StructureShape.new(name: 'ReplicationNotFound')
133
+ ReplicationOverwriteProtection = Shapes::StringShape.new(name: 'ReplicationOverwriteProtection')
130
134
  ReplicationStatus = Shapes::StringShape.new(name: 'ReplicationStatus')
131
135
  Resource = Shapes::StringShape.new(name: 'Resource')
132
136
  ResourceId = Shapes::StringShape.new(name: 'ResourceId')
@@ -160,6 +164,7 @@ module Aws::EFS
160
164
  Uid = Shapes::IntegerShape.new(name: 'Uid')
161
165
  UnsupportedAvailabilityZone = Shapes::StructureShape.new(name: 'UnsupportedAvailabilityZone')
162
166
  UntagResourceRequest = Shapes::StructureShape.new(name: 'UntagResourceRequest')
167
+ UpdateFileSystemProtectionRequest = Shapes::StructureShape.new(name: 'UpdateFileSystemProtectionRequest')
163
168
  UpdateFileSystemRequest = Shapes::StructureShape.new(name: 'UpdateFileSystemRequest')
164
169
  ValidationException = Shapes::StructureShape.new(name: 'ValidationException')
165
170
  VpcId = Shapes::StringShape.new(name: 'VpcId')
@@ -205,6 +210,10 @@ module Aws::EFS
205
210
  BadRequest.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
206
211
  BadRequest.struct_class = Types::BadRequest
207
212
 
213
+ ConflictException.add_member(:error_code, Shapes::ShapeRef.new(shape: ErrorCode, location_name: "ErrorCode"))
214
+ ConflictException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
215
+ ConflictException.struct_class = Types::ConflictException
216
+
208
217
  CreateAccessPointRequest.add_member(:client_token, Shapes::ShapeRef.new(shape: ClientToken, required: true, location_name: "ClientToken", metadata: {"idempotencyToken"=>true}))
209
218
  CreateAccessPointRequest.add_member(:tags, Shapes::ShapeRef.new(shape: Tags, location_name: "Tags"))
210
219
  CreateAccessPointRequest.add_member(:file_system_id, Shapes::ShapeRef.new(shape: FileSystemId, required: true, location_name: "FileSystemId"))
@@ -349,6 +358,7 @@ module Aws::EFS
349
358
  DestinationToCreate.add_member(:region, Shapes::ShapeRef.new(shape: RegionName, location_name: "Region"))
350
359
  DestinationToCreate.add_member(:availability_zone_name, Shapes::ShapeRef.new(shape: AvailabilityZoneName, location_name: "AvailabilityZoneName"))
351
360
  DestinationToCreate.add_member(:kms_key_id, Shapes::ShapeRef.new(shape: KmsKeyId, location_name: "KmsKeyId"))
361
+ DestinationToCreate.add_member(:file_system_id, Shapes::ShapeRef.new(shape: FileSystemId, location_name: "FileSystemId"))
352
362
  DestinationToCreate.struct_class = Types::DestinationToCreate
353
363
 
354
364
  Destinations.member = Shapes::ShapeRef.new(shape: Destination)
@@ -377,6 +387,7 @@ module Aws::EFS
377
387
  FileSystemDescription.add_member(:availability_zone_name, Shapes::ShapeRef.new(shape: AvailabilityZoneName, location_name: "AvailabilityZoneName"))
378
388
  FileSystemDescription.add_member(:availability_zone_id, Shapes::ShapeRef.new(shape: AvailabilityZoneId, location_name: "AvailabilityZoneId"))
379
389
  FileSystemDescription.add_member(:tags, Shapes::ShapeRef.new(shape: Tags, required: true, location_name: "Tags"))
390
+ FileSystemDescription.add_member(:file_system_protection, Shapes::ShapeRef.new(shape: FileSystemProtectionDescription, location_name: "FileSystemProtection"))
380
391
  FileSystemDescription.struct_class = Types::FileSystemDescription
381
392
 
382
393
  FileSystemDescriptions.member = Shapes::ShapeRef.new(shape: FileSystemDescription)
@@ -397,6 +408,9 @@ module Aws::EFS
397
408
  FileSystemPolicyDescription.add_member(:policy, Shapes::ShapeRef.new(shape: Policy, location_name: "Policy"))
398
409
  FileSystemPolicyDescription.struct_class = Types::FileSystemPolicyDescription
399
410
 
411
+ FileSystemProtectionDescription.add_member(:replication_overwrite_protection, Shapes::ShapeRef.new(shape: ReplicationOverwriteProtection, location_name: "ReplicationOverwriteProtection"))
412
+ FileSystemProtectionDescription.struct_class = Types::FileSystemProtectionDescription
413
+
400
414
  FileSystemSize.add_member(:value, Shapes::ShapeRef.new(shape: FileSystemSizeValue, required: true, location_name: "Value"))
401
415
  FileSystemSize.add_member(:timestamp, Shapes::ShapeRef.new(shape: Timestamp, location_name: "Timestamp"))
402
416
  FileSystemSize.add_member(:value_in_ia, Shapes::ShapeRef.new(shape: FileSystemNullableSizeValue, location_name: "ValueInIA"))
@@ -509,6 +523,10 @@ module Aws::EFS
509
523
  PutLifecycleConfigurationRequest.add_member(:lifecycle_policies, Shapes::ShapeRef.new(shape: LifecyclePolicies, required: true, location_name: "LifecyclePolicies"))
510
524
  PutLifecycleConfigurationRequest.struct_class = Types::PutLifecycleConfigurationRequest
511
525
 
526
+ ReplicationAlreadyExists.add_member(:error_code, Shapes::ShapeRef.new(shape: ErrorCode, location_name: "ErrorCode"))
527
+ ReplicationAlreadyExists.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
528
+ ReplicationAlreadyExists.struct_class = Types::ReplicationAlreadyExists
529
+
512
530
  ReplicationConfigurationDescription.add_member(:source_file_system_id, Shapes::ShapeRef.new(shape: FileSystemId, required: true, location_name: "SourceFileSystemId"))
513
531
  ReplicationConfigurationDescription.add_member(:source_file_system_region, Shapes::ShapeRef.new(shape: RegionName, required: true, location_name: "SourceFileSystemRegion"))
514
532
  ReplicationConfigurationDescription.add_member(:source_file_system_arn, Shapes::ShapeRef.new(shape: FileSystemArn, required: true, location_name: "SourceFileSystemArn"))
@@ -581,6 +599,10 @@ module Aws::EFS
581
599
  UntagResourceRequest.add_member(:tag_keys, Shapes::ShapeRef.new(shape: TagKeys, required: true, location: "querystring", location_name: "tagKeys"))
582
600
  UntagResourceRequest.struct_class = Types::UntagResourceRequest
583
601
 
602
+ UpdateFileSystemProtectionRequest.add_member(:file_system_id, Shapes::ShapeRef.new(shape: FileSystemId, required: true, location: "uri", location_name: "FileSystemId"))
603
+ UpdateFileSystemProtectionRequest.add_member(:replication_overwrite_protection, Shapes::ShapeRef.new(shape: ReplicationOverwriteProtection, location_name: "ReplicationOverwriteProtection"))
604
+ UpdateFileSystemProtectionRequest.struct_class = Types::UpdateFileSystemProtectionRequest
605
+
584
606
  UpdateFileSystemRequest.add_member(:file_system_id, Shapes::ShapeRef.new(shape: FileSystemId, required: true, location: "uri", location_name: "FileSystemId"))
585
607
  UpdateFileSystemRequest.add_member(:throughput_mode, Shapes::ShapeRef.new(shape: ThroughputMode, location_name: "ThroughputMode"))
586
608
  UpdateFileSystemRequest.add_member(:provisioned_throughput_in_mibps, Shapes::ShapeRef.new(shape: ProvisionedThroughputInMibps, location_name: "ProvisionedThroughputInMibps"))
@@ -673,6 +695,7 @@ module Aws::EFS
673
695
  o.errors << Shapes::ShapeRef.new(shape: FileSystemLimitExceeded)
674
696
  o.errors << Shapes::ShapeRef.new(shape: InsufficientThroughputCapacity)
675
697
  o.errors << Shapes::ShapeRef.new(shape: ThroughputLimitExceeded)
698
+ o.errors << Shapes::ShapeRef.new(shape: ConflictException)
676
699
  o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
677
700
  end)
678
701
 
@@ -1025,6 +1048,22 @@ module Aws::EFS
1025
1048
  o.errors << Shapes::ShapeRef.new(shape: ThroughputLimitExceeded)
1026
1049
  o.errors << Shapes::ShapeRef.new(shape: TooManyRequests)
1027
1050
  end)
1051
+
1052
+ api.add_operation(:update_file_system_protection, Seahorse::Model::Operation.new.tap do |o|
1053
+ o.name = "UpdateFileSystemProtection"
1054
+ o.http_method = "PUT"
1055
+ o.http_request_uri = "/2015-02-01/file-systems/{FileSystemId}/protection"
1056
+ o.input = Shapes::ShapeRef.new(shape: UpdateFileSystemProtectionRequest)
1057
+ o.output = Shapes::ShapeRef.new(shape: FileSystemProtectionDescription)
1058
+ o.errors << Shapes::ShapeRef.new(shape: BadRequest)
1059
+ o.errors << Shapes::ShapeRef.new(shape: FileSystemNotFound)
1060
+ o.errors << Shapes::ShapeRef.new(shape: IncorrectFileSystemLifeCycleState)
1061
+ o.errors << Shapes::ShapeRef.new(shape: InsufficientThroughputCapacity)
1062
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
1063
+ o.errors << Shapes::ShapeRef.new(shape: ThroughputLimitExceeded)
1064
+ o.errors << Shapes::ShapeRef.new(shape: ReplicationAlreadyExists)
1065
+ o.errors << Shapes::ShapeRef.new(shape: TooManyRequests)
1066
+ end)
1028
1067
  end
1029
1068
 
1030
1069
  end
@@ -432,5 +432,19 @@ module Aws::EFS
432
432
  end
433
433
  end
434
434
 
435
+ class UpdateFileSystemProtection
436
+ def self.build(context)
437
+ unless context.config.regional_endpoint
438
+ endpoint = context.config.endpoint.to_s
439
+ end
440
+ Aws::EFS::EndpointParameters.new(
441
+ region: context.config.region,
442
+ use_dual_stack: context.config.use_dualstack_endpoint,
443
+ use_fips: context.config.use_fips_endpoint,
444
+ endpoint: endpoint,
445
+ )
446
+ end
447
+ end
448
+
435
449
  end
436
450
  end
@@ -32,6 +32,7 @@ module Aws::EFS
32
32
  # * {AccessPointNotFound}
33
33
  # * {AvailabilityZonesMismatch}
34
34
  # * {BadRequest}
35
+ # * {ConflictException}
35
36
  # * {DependencyTimeout}
36
37
  # * {FileSystemAlreadyExists}
37
38
  # * {FileSystemInUse}
@@ -48,6 +49,7 @@ module Aws::EFS
48
49
  # * {NetworkInterfaceLimitExceeded}
49
50
  # * {NoFreeAddressesInSubnet}
50
51
  # * {PolicyNotFound}
52
+ # * {ReplicationAlreadyExists}
51
53
  # * {ReplicationNotFound}
52
54
  # * {SecurityGroupLimitExceeded}
53
55
  # * {SecurityGroupNotFound}
@@ -169,6 +171,26 @@ module Aws::EFS
169
171
  end
170
172
  end
171
173
 
174
+ class ConflictException < ServiceError
175
+
176
+ # @param [Seahorse::Client::RequestContext] context
177
+ # @param [String] message
178
+ # @param [Aws::EFS::Types::ConflictException] data
179
+ def initialize(context, message, data = Aws::EmptyStructure.new)
180
+ super(context, message, data)
181
+ end
182
+
183
+ # @return [String]
184
+ def error_code
185
+ @data[:error_code]
186
+ end
187
+
188
+ # @return [String]
189
+ def message
190
+ @message || @data[:message]
191
+ end
192
+ end
193
+
172
194
  class DependencyTimeout < ServiceError
173
195
 
174
196
  # @param [Seahorse::Client::RequestContext] context
@@ -494,6 +516,26 @@ module Aws::EFS
494
516
  end
495
517
  end
496
518
 
519
+ class ReplicationAlreadyExists < ServiceError
520
+
521
+ # @param [Seahorse::Client::RequestContext] context
522
+ # @param [String] message
523
+ # @param [Aws::EFS::Types::ReplicationAlreadyExists] data
524
+ def initialize(context, message, data = Aws::EmptyStructure.new)
525
+ super(context, message, data)
526
+ end
527
+
528
+ # @return [String]
529
+ def error_code
530
+ @data[:error_code]
531
+ end
532
+
533
+ # @return [String]
534
+ def message
535
+ @message || @data[:message]
536
+ end
537
+ end
538
+
497
539
  class ReplicationNotFound < ServiceError
498
540
 
499
541
  # @param [Seahorse::Client::RequestContext] context
@@ -116,6 +116,8 @@ module Aws::EFS
116
116
  Aws::EFS::Endpoints::UntagResource.build(context)
117
117
  when :update_file_system
118
118
  Aws::EFS::Endpoints::UpdateFileSystem.build(context)
119
+ when :update_file_system_protection
120
+ Aws::EFS::Endpoints::UpdateFileSystemProtection.build(context)
119
121
  end
120
122
  end
121
123
  end
@@ -278,6 +278,34 @@ module Aws::EFS
278
278
  include Aws::Structure
279
279
  end
280
280
 
281
+ # Returned if the source file system in a replication is encrypted but
282
+ # the destination file system is unencrypted.
283
+ #
284
+ # @!attribute [rw] error_code
285
+ # The error code is a string that uniquely identifies an error
286
+ # condition. It is meant to be read and understood by programs that
287
+ # detect and handle errors by type.
288
+ # @return [String]
289
+ #
290
+ # @!attribute [rw] message
291
+ # The error message contains a generic description of the error
292
+ # condition in English. It is intended for a human audience. Simple
293
+ # programs display the message directly to the end user if they
294
+ # encounter an error condition they don't know how or don't care to
295
+ # handle. Sophisticated programs with more exhaustive error handling
296
+ # and proper internationalization are more likely to ignore the error
297
+ # message.
298
+ # @return [String]
299
+ #
300
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/ConflictException AWS API Documentation
301
+ #
302
+ class ConflictException < Struct.new(
303
+ :error_code,
304
+ :message)
305
+ SENSITIVE = []
306
+ include Aws::Structure
307
+ end
308
+
281
309
  # @!attribute [rw] client_token
282
310
  # A string of up to 64 ASCII characters that Amazon EFS uses to ensure
283
311
  # idempotent creation.
@@ -1151,8 +1179,8 @@ module Aws::EFS
1151
1179
  include Aws::Structure
1152
1180
  end
1153
1181
 
1154
- # Describes the destination file system to create in the replication
1155
- # configuration.
1182
+ # Describes the new or existing destination file system for the
1183
+ # replication configuration.
1156
1184
  #
1157
1185
  # @!attribute [rw] region
1158
1186
  # To create a file system that uses Regional storage, specify the
@@ -1167,8 +1195,8 @@ module Aws::EFS
1167
1195
  # @return [String]
1168
1196
  #
1169
1197
  # @!attribute [rw] kms_key_id
1170
- # Specifies the Key Management Service (KMS) key that you want to use
1171
- # to encrypt the destination file system. If you do not specify a KMS
1198
+ # Specify the Key Management Service (KMS) key that you want to use to
1199
+ # encrypt the destination file system. If you do not specify a KMS
1172
1200
  # key, Amazon EFS uses your default KMS key for Amazon EFS,
1173
1201
  # `/aws/elasticfilesystem`. This ID can be in one of the following
1174
1202
  # formats:
@@ -1186,12 +1214,20 @@ module Aws::EFS
1186
1214
  # `arn:aws:kms:us-west-2:444455556666:alias/projectKey1`.
1187
1215
  # @return [String]
1188
1216
  #
1217
+ # @!attribute [rw] file_system_id
1218
+ # The ID of the file system to use for the destination. The file
1219
+ # system's replication overwrite replication must be disabled. If you
1220
+ # do not provide an ID, then EFS creates a new file system for the
1221
+ # replication destination.
1222
+ # @return [String]
1223
+ #
1189
1224
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/DestinationToCreate AWS API Documentation
1190
1225
  #
1191
1226
  class DestinationToCreate < Struct.new(
1192
1227
  :region,
1193
1228
  :availability_zone_name,
1194
- :kms_key_id)
1229
+ :kms_key_id,
1230
+ :file_system_id)
1195
1231
  SENSITIVE = []
1196
1232
  include Aws::Structure
1197
1233
  end
@@ -1335,6 +1371,10 @@ module Aws::EFS
1335
1371
  # `Tag` objects.
1336
1372
  # @return [Array<Types::Tag>]
1337
1373
  #
1374
+ # @!attribute [rw] file_system_protection
1375
+ # Describes the protection on the file system.
1376
+ # @return [Types::FileSystemProtectionDescription]
1377
+ #
1338
1378
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/FileSystemDescription AWS API Documentation
1339
1379
  #
1340
1380
  class FileSystemDescription < Struct.new(
@@ -1354,7 +1394,8 @@ module Aws::EFS
1354
1394
  :provisioned_throughput_in_mibps,
1355
1395
  :availability_zone_name,
1356
1396
  :availability_zone_id,
1357
- :tags)
1397
+ :tags,
1398
+ :file_system_protection)
1358
1399
  SENSITIVE = []
1359
1400
  include Aws::Structure
1360
1401
  end
@@ -1460,6 +1501,37 @@ module Aws::EFS
1460
1501
  include Aws::Structure
1461
1502
  end
1462
1503
 
1504
+ # Describes the protection on a file system.
1505
+ #
1506
+ # @!attribute [rw] replication_overwrite_protection
1507
+ # The status of the file system's replication overwrite protection.
1508
+ #
1509
+ # * `ENABLED` – The file system cannot be used as the destination file
1510
+ # system in a replication configuration. The file system is
1511
+ # writeable. Replication overwrite protection is `ENABLED` by
1512
+ # default.
1513
+ #
1514
+ # * `DISABLED` – The file system can be used as the destination file
1515
+ # system in a replication configuration. The file system is
1516
+ # read-only and can only be modified by EFS replication.
1517
+ #
1518
+ # * `REPLICATING` – The file system is being used as the destination
1519
+ # file system in a replication configuration. The file system is
1520
+ # read-only and is only modified only by EFS replication.
1521
+ #
1522
+ # If the replication configuration is deleted, the file system's
1523
+ # replication overwrite protection is re-enabled, the file system
1524
+ # becomes writeable.
1525
+ # @return [String]
1526
+ #
1527
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/FileSystemProtectionDescription AWS API Documentation
1528
+ #
1529
+ class FileSystemProtectionDescription < Struct.new(
1530
+ :replication_overwrite_protection)
1531
+ SENSITIVE = []
1532
+ include Aws::Structure
1533
+ end
1534
+
1463
1535
  # The latest known metered size (in bytes) of data stored in the file
1464
1536
  # system, in its `Value` field, and the time at which that size was
1465
1537
  # determined in its `Timestamp` field. The value doesn't represent the
@@ -1694,9 +1766,8 @@ module Aws::EFS
1694
1766
  end
1695
1767
 
1696
1768
  # Describes a policy used by Lifecycle management that specifies when to
1697
- # transition files into and out of the Infrequent Access (IA) and
1698
- # Archive storage classes. For more information, see [Managing file
1699
- # system storage][1].
1769
+ # transition files into and out of storage classes. For more
1770
+ # information, see [Managing file system storage][1].
1700
1771
  #
1701
1772
  # <note markdown="1"> When using the `put-lifecycle-configuration` CLI command or the
1702
1773
  # `PutLifecycleConfiguration` API action, Amazon EFS requires that each
@@ -2196,6 +2267,34 @@ module Aws::EFS
2196
2267
  include Aws::Structure
2197
2268
  end
2198
2269
 
2270
+ # Returned if the file system is already included in a replication
2271
+ # configuration.&gt;
2272
+ #
2273
+ # @!attribute [rw] error_code
2274
+ # The error code is a string that uniquely identifies an error
2275
+ # condition. It is meant to be read and understood by programs that
2276
+ # detect and handle errors by type.
2277
+ # @return [String]
2278
+ #
2279
+ # @!attribute [rw] message
2280
+ # The error message contains a generic description of the error
2281
+ # condition in English. It is intended for a human audience. Simple
2282
+ # programs display the message directly to the end user if they
2283
+ # encounter an error condition they don't know how or don't care to
2284
+ # handle. Sophisticated programs with more exhaustive error handling
2285
+ # and proper internationalization are more likely to ignore the error
2286
+ # message.
2287
+ # @return [String]
2288
+ #
2289
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/ReplicationAlreadyExists AWS API Documentation
2290
+ #
2291
+ class ReplicationAlreadyExists < Struct.new(
2292
+ :error_code,
2293
+ :message)
2294
+ SENSITIVE = []
2295
+ include Aws::Structure
2296
+ end
2297
+
2199
2298
  # Describes the replication configuration for a specific file system.
2200
2299
  #
2201
2300
  # @!attribute [rw] source_file_system_id
@@ -2586,6 +2685,40 @@ module Aws::EFS
2586
2685
  include Aws::Structure
2587
2686
  end
2588
2687
 
2688
+ # @!attribute [rw] file_system_id
2689
+ # The ID of the file system to update.
2690
+ # @return [String]
2691
+ #
2692
+ # @!attribute [rw] replication_overwrite_protection
2693
+ # The status of the file system's replication overwrite protection.
2694
+ #
2695
+ # * `ENABLED` – The file system cannot be used as the destination file
2696
+ # system in a replication configuration. The file system is
2697
+ # writeable. Replication overwrite protection is `ENABLED` by
2698
+ # default.
2699
+ #
2700
+ # * `DISABLED` – The file system can be used as the destination file
2701
+ # system in a replication configuration. The file system is
2702
+ # read-only and can only be modified by EFS replication.
2703
+ #
2704
+ # * `REPLICATING` – The file system is being used as the destination
2705
+ # file system in a replication configuration. The file system is
2706
+ # read-only and is only modified only by EFS replication.
2707
+ #
2708
+ # If the replication configuration is deleted, the file system's
2709
+ # replication overwrite protection is re-enabled, the file system
2710
+ # becomes writeable.
2711
+ # @return [String]
2712
+ #
2713
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/UpdateFileSystemProtectionRequest AWS API Documentation
2714
+ #
2715
+ class UpdateFileSystemProtectionRequest < Struct.new(
2716
+ :file_system_id,
2717
+ :replication_overwrite_protection)
2718
+ SENSITIVE = []
2719
+ include Aws::Structure
2720
+ end
2721
+
2589
2722
  # @!attribute [rw] file_system_id
2590
2723
  # The ID of the file system that you want to update.
2591
2724
  # @return [String]
data/lib/aws-sdk-efs.rb CHANGED
@@ -52,6 +52,6 @@ require_relative 'aws-sdk-efs/customizations'
52
52
  # @!group service
53
53
  module Aws::EFS
54
54
 
55
- GEM_VERSION = '1.69.0'
55
+ GEM_VERSION = '1.70.0'
56
56
 
57
57
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-efs
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.69.0
4
+ version: 1.70.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services