aws-sdk-efs 1.50.0 → 1.51.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: 7ac8be6d4d8c61cfddc3eb8854adffa1bcfdea854c453e00229c92cbb963d444
4
- data.tar.gz: cf1e3b0ab2aafec4c683bdd48bd64bd7f05c2fecda8d91a4beae41303326ddb7
3
+ metadata.gz: ade5009e88ca6d89db4b83c6cad5ff9c3755b2ac433a202a62205f3aef405eac
4
+ data.tar.gz: ef29448e193328ce69977b94ef79c7d98b6d64862362d4d9048720384f54cf00
5
5
  SHA512:
6
- metadata.gz: f1e6a31b79b38ba58a4ad215fdddf3237cbed856971ad92ddde5071235b32a71aebb1d469017ca8b9902c30c03bbe161d6eeaa532e25d3db22bb04db8fe6b3ca
7
- data.tar.gz: 9acbedbf6e95723035ae173b26282e63fbb7409ac55532fd568f84bb5056865003f36d1583cd24a8739dc922a16dedd8c1f8d057450f1354a56768f5f87f3edd
6
+ metadata.gz: 5cdb7bf4af60623b1829256b77663df39beff76e367047cea279b4a4f770faa1c316188aa0aee242cc8c5ebaeaecd186376eaabf9f9bda949612ad5a56e78668
7
+ data.tar.gz: b8035eaf267b7fe92c1a096e99e8f13f742cb7dc47ea70f59970f34d040ff04b3cac3eae5ea887160b3074c12b71c09104ca678440e30288e0b9f4f60e2c18dd
data/CHANGELOG.md CHANGED
@@ -1,6 +1,11 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.51.0 (2022-01-25)
5
+ ------------------
6
+
7
+ * Feature - Use Amazon EFS Replication to replicate your Amazon EFS file system in the AWS Region of your preference.
8
+
4
9
  1.50.0 (2021-12-21)
5
10
  ------------------
6
11
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.50.0
1
+ 1.51.0
@@ -564,17 +564,17 @@ module Aws::EFS
564
564
  # @option params [Boolean] :encrypted
565
565
  # A Boolean value that, if true, creates an encrypted file system. When
566
566
  # creating an encrypted file system, you have the option of specifying
567
- # CreateFileSystemRequest$KmsKeyId for an existing Key Management
568
- # Service (KMS customer master key (CMK). If you don't specify a CMK,
569
- # then the default CMK for Amazon EFS, `/aws/elasticfilesystem`, is used
570
- # to protect the encrypted file system.
567
+ # an existing Key Management Service key (KMS key). If you don't
568
+ # specify a KMS key, then the default KMS key for Amazon EFS,
569
+ # `/aws/elasticfilesystem`, is used to protect the encrypted file
570
+ # system.
571
571
  #
572
572
  # @option params [String] :kms_key_id
573
- # The ID of the KMS CMK that you want to use to protect the encrypted
573
+ # The ID of the KMS key that you want to use to protect the encrypted
574
574
  # file system. This parameter is only required if you want to use a
575
575
  # non-default KMS key. If this parameter is not specified, the default
576
- # CMK for Amazon EFS is used. This ID can be in one of the following
577
- # formats:
576
+ # KMS key for Amazon EFS is used. You can specify a KMS key ID using the
577
+ # following formats:
578
578
  #
579
579
  # * Key ID - A unique identifier of the key, for example
580
580
  # `1234abcd-12ab-34cd-56ef-1234567890ab`.
@@ -588,11 +588,11 @@ module Aws::EFS
588
588
  # * Key alias ARN - An ARN for a key alias, for example
589
589
  # `arn:aws:kms:us-west-2:444455556666:alias/projectKey1`.
590
590
  #
591
- # If `KmsKeyId` is specified, the CreateFileSystemRequest$Encrypted
592
- # parameter must be set to true.
591
+ # If you use `KmsKeyId`, you must set the
592
+ # CreateFileSystemRequest$Encrypted parameter to true.
593
593
  #
594
594
  # EFS accepts only symmetric KMS keys. You cannot use asymmetric KMS
595
- # keys with EFS file systems.
595
+ # keys with Amazon EFS file systems.
596
596
  #
597
597
  # @option params [String] :throughput_mode
598
598
  # Specifies the throughput mode for the file system, either `bursting`
@@ -651,8 +651,8 @@ module Aws::EFS
651
651
  # Default is `false`. However, if you specify an `AvailabilityZoneName`,
652
652
  # the default is `true`.
653
653
  #
654
- # <note markdown="1"> Backup is not available in all Amazon Web Services Regionswhere Amazon
655
- # EFS is available.
654
+ # <note markdown="1"> Backup is not available in all Amazon Web Services Regions where
655
+ # Amazon EFS is available.
656
656
  #
657
657
  # </note>
658
658
  #
@@ -993,6 +993,122 @@ module Aws::EFS
993
993
  req.send_request(options)
994
994
  end
995
995
 
996
+ # Creates a replication configuration that replicates an existing EFS
997
+ # file system to a new, read-only file system. For more information, see
998
+ # [Amazon EFS replication][1]. The replication configuration specifies
999
+ # the following:
1000
+ #
1001
+ # * **Source file system** - an existing EFS file system that you want
1002
+ # replicated. The source file system cannot be a destination file
1003
+ # system in an existing replication configuration.
1004
+ #
1005
+ # * **Destination file system configuration** - the configuration of the
1006
+ # destination file system to which the source file system will be
1007
+ # replicated. There can only be one destination file system in a
1008
+ # replication configuration.
1009
+ #
1010
+ # * **Amazon Web Services Region** - The Amazon Web Services Region in
1011
+ # which the destination file system is created. EFS Replication is
1012
+ # available in all Amazon Web Services Region that Amazon EFS is
1013
+ # available in, except the following regions: Asia Pacific (Hong
1014
+ # Kong) Europe (Milan), Middle East (Bahrain), Africa (Cape Town),
1015
+ # and Asia Pacific (Jakarta).
1016
+ #
1017
+ # * **Availability zone** - If you want the destination file system to
1018
+ # use One Zone availability and durability, you must specify the
1019
+ # Availability Zone to create the file system in. For more
1020
+ # information about EFS storage classes, see [ Amazon EFS storage
1021
+ # classes][2] in the *Amazon EFS User Guide*.
1022
+ #
1023
+ # * **Encryption** - All destination file systems are created with
1024
+ # encryption at rest enabled. You can specify the KMS key that is
1025
+ # used to encrypt the destination file system. Your service-managed
1026
+ # KMS key for Amazon EFS is used if you don't specify a KMS key.
1027
+ # You cannot change this after the file system is created.
1028
+ #
1029
+ # The following properties are set by default:
1030
+ #
1031
+ # * **Performance mode** - The destination file system's performance
1032
+ # mode will match that of the source file system, unless the
1033
+ # destination file system uses One Zone storage. In that case, the
1034
+ # *General Purpose* performance mode is used. The Performance mode
1035
+ # cannot be changed.
1036
+ #
1037
+ # * **Throughput mode** - The destination file system use the Bursting
1038
+ # throughput mode by default. You can modify the throughput mode once
1039
+ # the file system is created.
1040
+ #
1041
+ # The following properties are turned off by default:
1042
+ #
1043
+ # * **Lifecycle management** - EFS lifecycle management and intelligent
1044
+ # tiering are not enabled on the destination file system. You can
1045
+ # enable EFS lifecycle management and intelligent tiering after the
1046
+ # destination file system is created.
1047
+ #
1048
+ # * **Automatic backups** - Automatic daily backups not enabled on the
1049
+ # destination file system. You can change this setting after the file
1050
+ # system is created.
1051
+ #
1052
+ # For more information, see [Amazon EFS replication][1].
1053
+ #
1054
+ #
1055
+ #
1056
+ # [1]: https://docs.aws.amazon.com/efs/latest/ug/efs-replication.html
1057
+ # [2]: https://docs.aws.amazon.com/efs/latest/ug/storage-classes.html
1058
+ #
1059
+ # @option params [required, String] :source_file_system_id
1060
+ # Specifies the Amazon EFS file system that you want to replicate. This
1061
+ # file system cannot already be a source or destination file system in
1062
+ # another replication configuration.
1063
+ #
1064
+ # @option params [required, Array<Types::DestinationToCreate>] :destinations
1065
+ # An array of destination configuration objects. Only one destination
1066
+ # configuration object is supported.
1067
+ #
1068
+ # @return [Types::ReplicationConfigurationDescription] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1069
+ #
1070
+ # * {Types::ReplicationConfigurationDescription#source_file_system_id #source_file_system_id} => String
1071
+ # * {Types::ReplicationConfigurationDescription#source_file_system_region #source_file_system_region} => String
1072
+ # * {Types::ReplicationConfigurationDescription#source_file_system_arn #source_file_system_arn} => String
1073
+ # * {Types::ReplicationConfigurationDescription#original_source_file_system_arn #original_source_file_system_arn} => String
1074
+ # * {Types::ReplicationConfigurationDescription#creation_time #creation_time} => Time
1075
+ # * {Types::ReplicationConfigurationDescription#destinations #destinations} => Array&lt;Types::Destination&gt;
1076
+ #
1077
+ # @example Request syntax with placeholder values
1078
+ #
1079
+ # resp = client.create_replication_configuration({
1080
+ # source_file_system_id: "FileSystemId", # required
1081
+ # destinations: [ # required
1082
+ # {
1083
+ # region: "RegionName",
1084
+ # availability_zone_name: "AvailabilityZoneName",
1085
+ # kms_key_id: "KmsKeyId",
1086
+ # },
1087
+ # ],
1088
+ # })
1089
+ #
1090
+ # @example Response structure
1091
+ #
1092
+ # resp.source_file_system_id #=> String
1093
+ # resp.source_file_system_region #=> String
1094
+ # resp.source_file_system_arn #=> String
1095
+ # resp.original_source_file_system_arn #=> String
1096
+ # resp.creation_time #=> Time
1097
+ # resp.destinations #=> Array
1098
+ # resp.destinations[0].status #=> String, one of "ENABLED", "ENABLING", "DELETING", "ERROR"
1099
+ # resp.destinations[0].file_system_id #=> String
1100
+ # resp.destinations[0].region #=> String
1101
+ # resp.destinations[0].last_replicated_timestamp #=> Time
1102
+ #
1103
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/CreateReplicationConfiguration AWS API Documentation
1104
+ #
1105
+ # @overload create_replication_configuration(params = {})
1106
+ # @param [Hash] params ({})
1107
+ def create_replication_configuration(params = {}, options = {})
1108
+ req = build_request(:create_replication_configuration, params)
1109
+ req.send_request(options)
1110
+ end
1111
+
996
1112
  # <note markdown="1"> DEPRECATED - CreateTags is deprecated and not maintained. Please use
997
1113
  # the API action to create tags for EFS resources.
998
1114
  #
@@ -1226,6 +1342,32 @@ module Aws::EFS
1226
1342
  req.send_request(options)
1227
1343
  end
1228
1344
 
1345
+ # Deletes an existing replication configuration. To delete a replication
1346
+ # configuration, you must make the request from the Amazon Web Services
1347
+ # Region in which the destination file system is located. Deleting a
1348
+ # replication configuration ends the replication process. You can write
1349
+ # to the destination file system once it's status becomes `Writeable`.
1350
+ #
1351
+ # @option params [required, String] :source_file_system_id
1352
+ # The ID of the source file system in the replication configuration.
1353
+ #
1354
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1355
+ #
1356
+ # @example Request syntax with placeholder values
1357
+ #
1358
+ # resp = client.delete_replication_configuration({
1359
+ # source_file_system_id: "FileSystemId", # required
1360
+ # })
1361
+ #
1362
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/DeleteReplicationConfiguration AWS API Documentation
1363
+ #
1364
+ # @overload delete_replication_configuration(params = {})
1365
+ # @param [Hash] params ({})
1366
+ def delete_replication_configuration(params = {}, options = {})
1367
+ req = build_request(:delete_replication_configuration, params)
1368
+ req.send_request(options)
1369
+ end
1370
+
1229
1371
  # <note markdown="1"> DEPRECATED - DeleteTags is deprecated and not maintained. Please use
1230
1372
  # the API action to remove tags from EFS resources.
1231
1373
  #
@@ -1814,6 +1956,60 @@ module Aws::EFS
1814
1956
  req.send_request(options)
1815
1957
  end
1816
1958
 
1959
+ # Retrieves the replication configurations for either a specific file
1960
+ # system, or all configurations for the Amazon Web Services account in
1961
+ # an Amazon Web Services Region if a file system is not specified.
1962
+ #
1963
+ # @option params [String] :file_system_id
1964
+ # You can retrieve replication configurations for a specific file system
1965
+ # by providing a file system ID.
1966
+ #
1967
+ # @option params [String] :next_token
1968
+ # `NextToken` is present if the response is paginated. You can use
1969
+ # `NextMarker` in a subsequent request to fetch the next page of output.
1970
+ #
1971
+ # @option params [Integer] :max_results
1972
+ # (Optional) You can optionally specify the `MaxItems` parameter to
1973
+ # limit the number of objects returned in a response. The default value
1974
+ # is 100.
1975
+ #
1976
+ # @return [Types::DescribeReplicationConfigurationsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1977
+ #
1978
+ # * {Types::DescribeReplicationConfigurationsResponse#replications #replications} => Array&lt;Types::ReplicationConfigurationDescription&gt;
1979
+ # * {Types::DescribeReplicationConfigurationsResponse#next_token #next_token} => String
1980
+ #
1981
+ # @example Request syntax with placeholder values
1982
+ #
1983
+ # resp = client.describe_replication_configurations({
1984
+ # file_system_id: "FileSystemId",
1985
+ # next_token: "Token",
1986
+ # max_results: 1,
1987
+ # })
1988
+ #
1989
+ # @example Response structure
1990
+ #
1991
+ # resp.replications #=> Array
1992
+ # resp.replications[0].source_file_system_id #=> String
1993
+ # resp.replications[0].source_file_system_region #=> String
1994
+ # resp.replications[0].source_file_system_arn #=> String
1995
+ # resp.replications[0].original_source_file_system_arn #=> String
1996
+ # resp.replications[0].creation_time #=> Time
1997
+ # resp.replications[0].destinations #=> Array
1998
+ # resp.replications[0].destinations[0].status #=> String, one of "ENABLED", "ENABLING", "DELETING", "ERROR"
1999
+ # resp.replications[0].destinations[0].file_system_id #=> String
2000
+ # resp.replications[0].destinations[0].region #=> String
2001
+ # resp.replications[0].destinations[0].last_replicated_timestamp #=> Time
2002
+ # resp.next_token #=> String
2003
+ #
2004
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/DescribeReplicationConfigurations AWS API Documentation
2005
+ #
2006
+ # @overload describe_replication_configurations(params = {})
2007
+ # @param [Hash] params ({})
2008
+ def describe_replication_configurations(params = {}, options = {})
2009
+ req = build_request(:describe_replication_configurations, params)
2010
+ req.send_request(options)
2011
+ end
2012
+
1817
2013
  # <note markdown="1"> DEPRECATED - The DeleteTags action is deprecated and not maintained.
1818
2014
  # Please use the API action to remove tags from EFS resources.
1819
2015
  #
@@ -2444,7 +2640,7 @@ module Aws::EFS
2444
2640
  params: params,
2445
2641
  config: config)
2446
2642
  context[:gem_name] = 'aws-sdk-efs'
2447
- context[:gem_version] = '1.50.0'
2643
+ context[:gem_version] = '1.51.0'
2448
2644
  Seahorse::Client::Request.new(handlers, context)
2449
2645
  end
2450
2646
 
@@ -33,6 +33,7 @@ module Aws::EFS
33
33
  CreateAccessPointRequest = Shapes::StructureShape.new(name: 'CreateAccessPointRequest')
34
34
  CreateFileSystemRequest = Shapes::StructureShape.new(name: 'CreateFileSystemRequest')
35
35
  CreateMountTargetRequest = Shapes::StructureShape.new(name: 'CreateMountTargetRequest')
36
+ CreateReplicationConfigurationRequest = Shapes::StructureShape.new(name: 'CreateReplicationConfigurationRequest')
36
37
  CreateTagsRequest = Shapes::StructureShape.new(name: 'CreateTagsRequest')
37
38
  CreationInfo = Shapes::StructureShape.new(name: 'CreationInfo')
38
39
  CreationToken = Shapes::StringShape.new(name: 'CreationToken')
@@ -40,6 +41,7 @@ module Aws::EFS
40
41
  DeleteFileSystemPolicyRequest = Shapes::StructureShape.new(name: 'DeleteFileSystemPolicyRequest')
41
42
  DeleteFileSystemRequest = Shapes::StructureShape.new(name: 'DeleteFileSystemRequest')
42
43
  DeleteMountTargetRequest = Shapes::StructureShape.new(name: 'DeleteMountTargetRequest')
44
+ DeleteReplicationConfigurationRequest = Shapes::StructureShape.new(name: 'DeleteReplicationConfigurationRequest')
43
45
  DeleteTagsRequest = Shapes::StructureShape.new(name: 'DeleteTagsRequest')
44
46
  DependencyTimeout = Shapes::StructureShape.new(name: 'DependencyTimeout')
45
47
  DescribeAccessPointsRequest = Shapes::StructureShape.new(name: 'DescribeAccessPointsRequest')
@@ -55,8 +57,14 @@ module Aws::EFS
55
57
  DescribeMountTargetSecurityGroupsResponse = Shapes::StructureShape.new(name: 'DescribeMountTargetSecurityGroupsResponse')
56
58
  DescribeMountTargetsRequest = Shapes::StructureShape.new(name: 'DescribeMountTargetsRequest')
57
59
  DescribeMountTargetsResponse = Shapes::StructureShape.new(name: 'DescribeMountTargetsResponse')
60
+ DescribeReplicationConfigurationsRequest = Shapes::StructureShape.new(name: 'DescribeReplicationConfigurationsRequest')
61
+ DescribeReplicationConfigurationsResponse = Shapes::StructureShape.new(name: 'DescribeReplicationConfigurationsResponse')
58
62
  DescribeTagsRequest = Shapes::StructureShape.new(name: 'DescribeTagsRequest')
59
63
  DescribeTagsResponse = Shapes::StructureShape.new(name: 'DescribeTagsResponse')
64
+ Destination = Shapes::StructureShape.new(name: 'Destination')
65
+ DestinationToCreate = Shapes::StructureShape.new(name: 'DestinationToCreate')
66
+ Destinations = Shapes::ListShape.new(name: 'Destinations')
67
+ DestinationsToCreate = Shapes::ListShape.new(name: 'DestinationsToCreate')
60
68
  Encrypted = Shapes::BooleanShape.new(name: 'Encrypted')
61
69
  ErrorCode = Shapes::StringShape.new(name: 'ErrorCode')
62
70
  ErrorMessage = Shapes::StringShape.new(name: 'ErrorMessage')
@@ -115,6 +123,11 @@ module Aws::EFS
115
123
  PutBackupPolicyRequest = Shapes::StructureShape.new(name: 'PutBackupPolicyRequest')
116
124
  PutFileSystemPolicyRequest = Shapes::StructureShape.new(name: 'PutFileSystemPolicyRequest')
117
125
  PutLifecycleConfigurationRequest = Shapes::StructureShape.new(name: 'PutLifecycleConfigurationRequest')
126
+ RegionName = Shapes::StringShape.new(name: 'RegionName')
127
+ ReplicationConfigurationDescription = Shapes::StructureShape.new(name: 'ReplicationConfigurationDescription')
128
+ ReplicationConfigurationDescriptions = Shapes::ListShape.new(name: 'ReplicationConfigurationDescriptions')
129
+ ReplicationNotFound = Shapes::StructureShape.new(name: 'ReplicationNotFound')
130
+ ReplicationStatus = Shapes::StringShape.new(name: 'ReplicationStatus')
118
131
  Resource = Shapes::StringShape.new(name: 'Resource')
119
132
  ResourceId = Shapes::StringShape.new(name: 'ResourceId')
120
133
  ResourceIdPreference = Shapes::StructureShape.new(name: 'ResourceIdPreference')
@@ -214,6 +227,10 @@ module Aws::EFS
214
227
  CreateMountTargetRequest.add_member(:security_groups, Shapes::ShapeRef.new(shape: SecurityGroups, location_name: "SecurityGroups"))
215
228
  CreateMountTargetRequest.struct_class = Types::CreateMountTargetRequest
216
229
 
230
+ CreateReplicationConfigurationRequest.add_member(:source_file_system_id, Shapes::ShapeRef.new(shape: FileSystemId, required: true, location: "uri", location_name: "SourceFileSystemId"))
231
+ CreateReplicationConfigurationRequest.add_member(:destinations, Shapes::ShapeRef.new(shape: DestinationsToCreate, required: true, location_name: "Destinations"))
232
+ CreateReplicationConfigurationRequest.struct_class = Types::CreateReplicationConfigurationRequest
233
+
217
234
  CreateTagsRequest.add_member(:file_system_id, Shapes::ShapeRef.new(shape: FileSystemId, required: true, location: "uri", location_name: "FileSystemId"))
218
235
  CreateTagsRequest.add_member(:tags, Shapes::ShapeRef.new(shape: Tags, required: true, location_name: "Tags"))
219
236
  CreateTagsRequest.struct_class = Types::CreateTagsRequest
@@ -235,6 +252,9 @@ module Aws::EFS
235
252
  DeleteMountTargetRequest.add_member(:mount_target_id, Shapes::ShapeRef.new(shape: MountTargetId, required: true, location: "uri", location_name: "MountTargetId"))
236
253
  DeleteMountTargetRequest.struct_class = Types::DeleteMountTargetRequest
237
254
 
255
+ DeleteReplicationConfigurationRequest.add_member(:source_file_system_id, Shapes::ShapeRef.new(shape: FileSystemId, required: true, location: "uri", location_name: "SourceFileSystemId"))
256
+ DeleteReplicationConfigurationRequest.struct_class = Types::DeleteReplicationConfigurationRequest
257
+
238
258
  DeleteTagsRequest.add_member(:file_system_id, Shapes::ShapeRef.new(shape: FileSystemId, required: true, location: "uri", location_name: "FileSystemId"))
239
259
  DeleteTagsRequest.add_member(:tag_keys, Shapes::ShapeRef.new(shape: TagKeys, required: true, location_name: "TagKeys"))
240
260
  DeleteTagsRequest.struct_class = Types::DeleteTagsRequest
@@ -299,6 +319,15 @@ module Aws::EFS
299
319
  DescribeMountTargetsResponse.add_member(:next_marker, Shapes::ShapeRef.new(shape: Marker, location_name: "NextMarker"))
300
320
  DescribeMountTargetsResponse.struct_class = Types::DescribeMountTargetsResponse
301
321
 
322
+ DescribeReplicationConfigurationsRequest.add_member(:file_system_id, Shapes::ShapeRef.new(shape: FileSystemId, location: "querystring", location_name: "FileSystemId"))
323
+ DescribeReplicationConfigurationsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: Token, location: "querystring", location_name: "NextToken"))
324
+ DescribeReplicationConfigurationsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location: "querystring", location_name: "MaxResults"))
325
+ DescribeReplicationConfigurationsRequest.struct_class = Types::DescribeReplicationConfigurationsRequest
326
+
327
+ DescribeReplicationConfigurationsResponse.add_member(:replications, Shapes::ShapeRef.new(shape: ReplicationConfigurationDescriptions, location_name: "Replications"))
328
+ DescribeReplicationConfigurationsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: Token, location_name: "NextToken"))
329
+ DescribeReplicationConfigurationsResponse.struct_class = Types::DescribeReplicationConfigurationsResponse
330
+
302
331
  DescribeTagsRequest.add_member(:max_items, Shapes::ShapeRef.new(shape: MaxItems, location: "querystring", location_name: "MaxItems"))
303
332
  DescribeTagsRequest.add_member(:marker, Shapes::ShapeRef.new(shape: Marker, location: "querystring", location_name: "Marker"))
304
333
  DescribeTagsRequest.add_member(:file_system_id, Shapes::ShapeRef.new(shape: FileSystemId, required: true, location: "uri", location_name: "FileSystemId"))
@@ -309,6 +338,21 @@ module Aws::EFS
309
338
  DescribeTagsResponse.add_member(:next_marker, Shapes::ShapeRef.new(shape: Marker, location_name: "NextMarker"))
310
339
  DescribeTagsResponse.struct_class = Types::DescribeTagsResponse
311
340
 
341
+ Destination.add_member(:status, Shapes::ShapeRef.new(shape: ReplicationStatus, required: true, location_name: "Status"))
342
+ Destination.add_member(:file_system_id, Shapes::ShapeRef.new(shape: FileSystemId, required: true, location_name: "FileSystemId"))
343
+ Destination.add_member(:region, Shapes::ShapeRef.new(shape: RegionName, required: true, location_name: "Region"))
344
+ Destination.add_member(:last_replicated_timestamp, Shapes::ShapeRef.new(shape: Timestamp, location_name: "LastReplicatedTimestamp"))
345
+ Destination.struct_class = Types::Destination
346
+
347
+ DestinationToCreate.add_member(:region, Shapes::ShapeRef.new(shape: RegionName, location_name: "Region"))
348
+ DestinationToCreate.add_member(:availability_zone_name, Shapes::ShapeRef.new(shape: AvailabilityZoneName, location_name: "AvailabilityZoneName"))
349
+ DestinationToCreate.add_member(:kms_key_id, Shapes::ShapeRef.new(shape: KmsKeyId, location_name: "KmsKeyId"))
350
+ DestinationToCreate.struct_class = Types::DestinationToCreate
351
+
352
+ Destinations.member = Shapes::ShapeRef.new(shape: Destination)
353
+
354
+ DestinationsToCreate.member = Shapes::ShapeRef.new(shape: DestinationToCreate)
355
+
312
356
  FileSystemAlreadyExists.add_member(:error_code, Shapes::ShapeRef.new(shape: ErrorCode, required: true, location_name: "ErrorCode"))
313
357
  FileSystemAlreadyExists.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
314
358
  FileSystemAlreadyExists.add_member(:file_system_id, Shapes::ShapeRef.new(shape: FileSystemId, required: true, location_name: "FileSystemId"))
@@ -461,6 +505,20 @@ module Aws::EFS
461
505
  PutLifecycleConfigurationRequest.add_member(:lifecycle_policies, Shapes::ShapeRef.new(shape: LifecyclePolicies, required: true, location_name: "LifecyclePolicies"))
462
506
  PutLifecycleConfigurationRequest.struct_class = Types::PutLifecycleConfigurationRequest
463
507
 
508
+ ReplicationConfigurationDescription.add_member(:source_file_system_id, Shapes::ShapeRef.new(shape: FileSystemId, required: true, location_name: "SourceFileSystemId"))
509
+ ReplicationConfigurationDescription.add_member(:source_file_system_region, Shapes::ShapeRef.new(shape: RegionName, required: true, location_name: "SourceFileSystemRegion"))
510
+ ReplicationConfigurationDescription.add_member(:source_file_system_arn, Shapes::ShapeRef.new(shape: FileSystemArn, required: true, location_name: "SourceFileSystemArn"))
511
+ ReplicationConfigurationDescription.add_member(:original_source_file_system_arn, Shapes::ShapeRef.new(shape: FileSystemArn, required: true, location_name: "OriginalSourceFileSystemArn"))
512
+ ReplicationConfigurationDescription.add_member(:creation_time, Shapes::ShapeRef.new(shape: Timestamp, required: true, location_name: "CreationTime"))
513
+ ReplicationConfigurationDescription.add_member(:destinations, Shapes::ShapeRef.new(shape: Destinations, required: true, location_name: "Destinations"))
514
+ ReplicationConfigurationDescription.struct_class = Types::ReplicationConfigurationDescription
515
+
516
+ ReplicationConfigurationDescriptions.member = Shapes::ShapeRef.new(shape: ReplicationConfigurationDescription)
517
+
518
+ ReplicationNotFound.add_member(:error_code, Shapes::ShapeRef.new(shape: ErrorCode, location_name: "ErrorCode"))
519
+ ReplicationNotFound.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
520
+ ReplicationNotFound.struct_class = Types::ReplicationNotFound
521
+
464
522
  ResourceIdPreference.add_member(:resource_id_type, Shapes::ShapeRef.new(shape: ResourceIdType, location_name: "ResourceIdType"))
465
523
  ResourceIdPreference.add_member(:resources, Shapes::ShapeRef.new(shape: Resources, location_name: "Resources"))
466
524
  ResourceIdPreference.struct_class = Types::ResourceIdPreference
@@ -591,6 +649,24 @@ module Aws::EFS
591
649
  o.errors << Shapes::ShapeRef.new(shape: AvailabilityZonesMismatch)
592
650
  end)
593
651
 
652
+ api.add_operation(:create_replication_configuration, Seahorse::Model::Operation.new.tap do |o|
653
+ o.name = "CreateReplicationConfiguration"
654
+ o.http_method = "POST"
655
+ o.http_request_uri = "/2015-02-01/file-systems/{SourceFileSystemId}/replication-configuration"
656
+ o.input = Shapes::ShapeRef.new(shape: CreateReplicationConfigurationRequest)
657
+ o.output = Shapes::ShapeRef.new(shape: ReplicationConfigurationDescription)
658
+ o.errors << Shapes::ShapeRef.new(shape: BadRequest)
659
+ o.errors << Shapes::ShapeRef.new(shape: IncorrectFileSystemLifeCycleState)
660
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
661
+ o.errors << Shapes::ShapeRef.new(shape: ReplicationNotFound)
662
+ o.errors << Shapes::ShapeRef.new(shape: FileSystemNotFound)
663
+ o.errors << Shapes::ShapeRef.new(shape: UnsupportedAvailabilityZone)
664
+ o.errors << Shapes::ShapeRef.new(shape: FileSystemLimitExceeded)
665
+ o.errors << Shapes::ShapeRef.new(shape: InsufficientThroughputCapacity)
666
+ o.errors << Shapes::ShapeRef.new(shape: ThroughputLimitExceeded)
667
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
668
+ end)
669
+
594
670
  api.add_operation(:create_tags, Seahorse::Model::Operation.new.tap do |o|
595
671
  o.name = "CreateTags"
596
672
  o.http_method = "POST"
@@ -632,6 +708,7 @@ module Aws::EFS
632
708
  o.http_request_uri = "/2015-02-01/file-systems/{FileSystemId}/policy"
633
709
  o.input = Shapes::ShapeRef.new(shape: DeleteFileSystemPolicyRequest)
634
710
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
711
+ o.errors << Shapes::ShapeRef.new(shape: BadRequest)
635
712
  o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
636
713
  o.errors << Shapes::ShapeRef.new(shape: FileSystemNotFound)
637
714
  o.errors << Shapes::ShapeRef.new(shape: IncorrectFileSystemLifeCycleState)
@@ -649,6 +726,18 @@ module Aws::EFS
649
726
  o.errors << Shapes::ShapeRef.new(shape: MountTargetNotFound)
650
727
  end)
651
728
 
729
+ api.add_operation(:delete_replication_configuration, Seahorse::Model::Operation.new.tap do |o|
730
+ o.name = "DeleteReplicationConfiguration"
731
+ o.http_method = "DELETE"
732
+ o.http_request_uri = "/2015-02-01/file-systems/{SourceFileSystemId}/replication-configuration"
733
+ o.input = Shapes::ShapeRef.new(shape: DeleteReplicationConfigurationRequest)
734
+ o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
735
+ o.errors << Shapes::ShapeRef.new(shape: BadRequest)
736
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
737
+ o.errors << Shapes::ShapeRef.new(shape: FileSystemNotFound)
738
+ o.errors << Shapes::ShapeRef.new(shape: ReplicationNotFound)
739
+ end)
740
+
652
741
  api.add_operation(:delete_tags, Seahorse::Model::Operation.new.tap do |o|
653
742
  o.name = "DeleteTags"
654
743
  o.http_method = "POST"
@@ -707,6 +796,7 @@ module Aws::EFS
707
796
  o.http_request_uri = "/2015-02-01/file-systems/{FileSystemId}/policy"
708
797
  o.input = Shapes::ShapeRef.new(shape: DescribeFileSystemPolicyRequest)
709
798
  o.output = Shapes::ShapeRef.new(shape: FileSystemPolicyDescription)
799
+ o.errors << Shapes::ShapeRef.new(shape: BadRequest)
710
800
  o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
711
801
  o.errors << Shapes::ShapeRef.new(shape: FileSystemNotFound)
712
802
  o.errors << Shapes::ShapeRef.new(shape: PolicyNotFound)
@@ -765,6 +855,19 @@ module Aws::EFS
765
855
  o.errors << Shapes::ShapeRef.new(shape: AccessPointNotFound)
766
856
  end)
767
857
 
858
+ api.add_operation(:describe_replication_configurations, Seahorse::Model::Operation.new.tap do |o|
859
+ o.name = "DescribeReplicationConfigurations"
860
+ o.http_method = "GET"
861
+ o.http_request_uri = "/2015-02-01/file-systems/replication-configurations"
862
+ o.input = Shapes::ShapeRef.new(shape: DescribeReplicationConfigurationsRequest)
863
+ o.output = Shapes::ShapeRef.new(shape: DescribeReplicationConfigurationsResponse)
864
+ o.errors << Shapes::ShapeRef.new(shape: BadRequest)
865
+ o.errors << Shapes::ShapeRef.new(shape: FileSystemNotFound)
866
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
867
+ o.errors << Shapes::ShapeRef.new(shape: ReplicationNotFound)
868
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
869
+ end)
870
+
768
871
  api.add_operation(:describe_tags, Seahorse::Model::Operation.new.tap do |o|
769
872
  o.name = "DescribeTags"
770
873
  o.http_method = "GET"
@@ -844,6 +947,7 @@ module Aws::EFS
844
947
  o.http_request_uri = "/2015-02-01/file-systems/{FileSystemId}/policy"
845
948
  o.input = Shapes::ShapeRef.new(shape: PutFileSystemPolicyRequest)
846
949
  o.output = Shapes::ShapeRef.new(shape: FileSystemPolicyDescription)
950
+ o.errors << Shapes::ShapeRef.new(shape: BadRequest)
847
951
  o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
848
952
  o.errors << Shapes::ShapeRef.new(shape: FileSystemNotFound)
849
953
  o.errors << Shapes::ShapeRef.new(shape: InvalidPolicyException)
@@ -48,6 +48,7 @@ module Aws::EFS
48
48
  # * {NetworkInterfaceLimitExceeded}
49
49
  # * {NoFreeAddressesInSubnet}
50
50
  # * {PolicyNotFound}
51
+ # * {ReplicationNotFound}
51
52
  # * {SecurityGroupLimitExceeded}
52
53
  # * {SecurityGroupNotFound}
53
54
  # * {SubnetNotFound}
@@ -492,6 +493,26 @@ module Aws::EFS
492
493
  end
493
494
  end
494
495
 
496
+ class ReplicationNotFound < ServiceError
497
+
498
+ # @param [Seahorse::Client::RequestContext] context
499
+ # @param [String] message
500
+ # @param [Aws::EFS::Types::ReplicationNotFound] data
501
+ def initialize(context, message, data = Aws::EmptyStructure.new)
502
+ super(context, message, data)
503
+ end
504
+
505
+ # @return [String]
506
+ def error_code
507
+ @data[:error_code]
508
+ end
509
+
510
+ # @return [String]
511
+ def message
512
+ @message || @data[:message]
513
+ end
514
+ end
515
+
495
516
  class SecurityGroupLimitExceeded < ServiceError
496
517
 
497
518
  # @param [Seahorse::Client::RequestContext] context