aws-sdk-efs 1.69.0 → 1.71.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: f5afd8c3a446341a16c01afcd5cf1c80ad61e3cd716ab7838a27383fc29e9193
4
- data.tar.gz: 3286149eef342387f18ed201a75b0d0e2bd73edd0399b95dd4c5692b00ff5096
3
+ metadata.gz: a7485b329aec8ce44ceb6b50c90bbe7ece25e9413b17fbda8cd6785948f21d99
4
+ data.tar.gz: 825f6c0b0444b48c7e941d3095ec1b0c43e5243a8ffcf815be74bb7e02e716b6
5
5
  SHA512:
6
- metadata.gz: 60614ebf4e79e8c46d4be4769f7962bc3030bda7bcdc0c6645a3acd7ce1c8ea1789302ebd081b2b9be609b3d6e77698b47e5a0ee559348502bc0ba5938c8025e
7
- data.tar.gz: 841604338076e74e8f2fe8541100ffcc509db1896cfbca1430e2e18536799ea572db39c0bf0ced06bd01a28de837e8e1647037b641cf07e829db6356975a620e
6
+ metadata.gz: 3924d49afc9a49351012ce3b633d679e5a4c2b62801e81d10d22c63f2e7b1971ea2334b105dca66e3ab46432021d2d264f103b7781188943e8b777552bdfad3a
7
+ data.tar.gz: 909d4ca947b24418f0322365ae7f8c4ca175d0af9886e980c0405d767dee88140c1105acbe06a44c1f9ff3936b3deb0f7cfaaccf7c84f0bad93773653d9a09d9
data/CHANGELOG.md CHANGED
@@ -1,6 +1,16 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.71.0 (2023-11-28)
5
+ ------------------
6
+
7
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
8
+
9
+ 1.70.0 (2023-11-27)
10
+ ------------------
11
+
12
+ * Feature - Adding support for EFS Replication to existing file system.
13
+
4
14
  1.69.0 (2023-11-27)
5
15
  ------------------
6
16
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.69.0
1
+ 1.71.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.71.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
@@ -25,16 +25,17 @@ module Aws::EFS
25
25
  # @api private
26
26
  class Handler < Seahorse::Client::Handler
27
27
  def call(context)
28
- # If endpoint was discovered, do not resolve or apply the endpoint.
29
28
  unless context[:discovered_endpoint]
30
29
  params = parameters_for_operation(context)
31
30
  endpoint = context.config.endpoint_provider.resolve_endpoint(params)
32
31
 
33
32
  context.http_request.endpoint = endpoint.url
34
33
  apply_endpoint_headers(context, endpoint.headers)
34
+
35
+ context[:endpoint_params] = params
36
+ context[:endpoint_properties] = endpoint.properties
35
37
  end
36
38
 
37
- context[:endpoint_params] = params
38
39
  context[:auth_scheme] =
39
40
  Aws::Endpoints.resolve_auth_scheme(context, endpoint)
40
41
 
@@ -116,6 +117,8 @@ module Aws::EFS
116
117
  Aws::EFS::Endpoints::UntagResource.build(context)
117
118
  when :update_file_system
118
119
  Aws::EFS::Endpoints::UpdateFileSystem.build(context)
120
+ when :update_file_system_protection
121
+ Aws::EFS::Endpoints::UpdateFileSystemProtection.build(context)
119
122
  end
120
123
  end
121
124
  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.71.0'
56
56
 
57
57
  end
metadata CHANGED
@@ -1,14 +1,14 @@
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.71.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: 2023-11-27 00:00:00.000000000 Z
11
+ date: 2023-11-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core