aws-sdk-efs 1.48.0 → 1.52.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: 54e07ef368af45883bfa16c5ae07bdc65507b568d26d5b8c1716f343e5b9a31e
4
- data.tar.gz: 1174a1bcb41000dfbbb0fca0a6032c3ff9a771dc69eb19964638a40cd5660613
3
+ metadata.gz: 76f2967d7a94c5ab88c2288d73566fcf4a2832d2114fe6129c767794c135c2a1
4
+ data.tar.gz: 0622f1deae5360e77de8b9cb6e9f599fc98883a922a6a875fa03f2a896ed8b55
5
5
  SHA512:
6
- metadata.gz: 7060fc4f9cc8bf945245534a2e9c5641487670f8f4b3e415c5e97c6f5ac28a48b113c1dc2b61f4840c3cfab8007ae69b27960169cdce00a5f395394dbfc83431
7
- data.tar.gz: 961671b654214728c491b20375df68736d9c5ec8adc02674f52da23d02c7638503ed6c1d157526b188687da570c3f4de4c041751fe2ce6a8311efa271544c514
6
+ metadata.gz: efeae8e7dc095ca485f4e26c5b6cf58678856989dcee29dee87438bdbf8aa82a50ff5ff9a80cdc99ec59ae8c110a6838e4cadf4331e3be8c858ea5ba9fbcaed8
7
+ data.tar.gz: bd27a045c3474b84db772214e8e23976a26d12899c4e4422f69a8c0371413aefc488ccc8d0aac056ead4caa5cf7e5f4500014397dc37d381738465dc71239a87
data/CHANGELOG.md CHANGED
@@ -1,6 +1,26 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.52.0 (2022-02-03)
5
+ ------------------
6
+
7
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
8
+
9
+ 1.51.0 (2022-01-25)
10
+ ------------------
11
+
12
+ * Feature - Use Amazon EFS Replication to replicate your Amazon EFS file system in the AWS Region of your preference.
13
+
14
+ 1.50.0 (2021-12-21)
15
+ ------------------
16
+
17
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
18
+
19
+ 1.49.0 (2021-11-30)
20
+ ------------------
21
+
22
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
23
+
4
24
  1.48.0 (2021-11-04)
5
25
  ------------------
6
26
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.48.0
1
+ 1.52.0
@@ -27,6 +27,8 @@ require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
27
27
  require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
28
28
  require 'aws-sdk-core/plugins/transfer_encoding.rb'
29
29
  require 'aws-sdk-core/plugins/http_checksum.rb'
30
+ require 'aws-sdk-core/plugins/defaults_mode.rb'
31
+ require 'aws-sdk-core/plugins/recursion_detection.rb'
30
32
  require 'aws-sdk-core/plugins/signature_v4.rb'
31
33
  require 'aws-sdk-core/plugins/protocols/rest_json.rb'
32
34
 
@@ -73,6 +75,8 @@ module Aws::EFS
73
75
  add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
74
76
  add_plugin(Aws::Plugins::TransferEncoding)
75
77
  add_plugin(Aws::Plugins::HttpChecksum)
78
+ add_plugin(Aws::Plugins::DefaultsMode)
79
+ add_plugin(Aws::Plugins::RecursionDetection)
76
80
  add_plugin(Aws::Plugins::SignatureV4)
77
81
  add_plugin(Aws::Plugins::Protocols::RestJson)
78
82
 
@@ -119,7 +123,9 @@ module Aws::EFS
119
123
  # * EC2/ECS IMDS instance profile - When used by default, the timeouts
120
124
  # are very aggressive. Construct and pass an instance of
121
125
  # `Aws::InstanceProfileCredentails` or `Aws::ECSCredentials` to
122
- # enable retries and extended timeouts.
126
+ # enable retries and extended timeouts. Instance profile credential
127
+ # fetching can be disabled by setting ENV['AWS_EC2_METADATA_DISABLED']
128
+ # to true.
123
129
  #
124
130
  # @option options [required, String] :region
125
131
  # The AWS region to connect to. The configured `:region` is
@@ -173,6 +179,10 @@ module Aws::EFS
173
179
  # Used only in `standard` and adaptive retry modes. Specifies whether to apply
174
180
  # a clock skew correction and retry requests with skewed client clocks.
175
181
  #
182
+ # @option options [String] :defaults_mode ("legacy")
183
+ # See {Aws::DefaultsModeConfiguration} for a list of the
184
+ # accepted modes and the configuration defaults that are included.
185
+ #
176
186
  # @option options [Boolean] :disable_host_prefix_injection (false)
177
187
  # Set to true to disable SDK automatically adding host prefix
178
188
  # to default service endpoint when available.
@@ -295,7 +305,7 @@ module Aws::EFS
295
305
  # seconds to wait when opening a HTTP session before raising a
296
306
  # `Timeout::Error`.
297
307
  #
298
- # @option options [Integer] :http_read_timeout (60) The default
308
+ # @option options [Float] :http_read_timeout (60) The default
299
309
  # number of seconds to wait for response data. This value can
300
310
  # safely be set per-request on the session.
301
311
  #
@@ -311,6 +321,9 @@ module Aws::EFS
311
321
  # disables this behaviour. This value can safely be set per
312
322
  # request on the session.
313
323
  #
324
+ # @option options [Float] :ssl_timeout (nil) Sets the SSL timeout
325
+ # in seconds.
326
+ #
314
327
  # @option options [Boolean] :http_wire_trace (false) When `true`,
315
328
  # HTTP debug output will be sent to the `:logger`.
316
329
  #
@@ -553,17 +566,17 @@ module Aws::EFS
553
566
  # @option params [Boolean] :encrypted
554
567
  # A Boolean value that, if true, creates an encrypted file system. When
555
568
  # creating an encrypted file system, you have the option of specifying
556
- # CreateFileSystemRequest$KmsKeyId for an existing Key Management
557
- # Service (KMS customer master key (CMK). If you don't specify a CMK,
558
- # then the default CMK for Amazon EFS, `/aws/elasticfilesystem`, is used
559
- # to protect the encrypted file system.
569
+ # an existing Key Management Service key (KMS key). If you don't
570
+ # specify a KMS key, then the default KMS key for Amazon EFS,
571
+ # `/aws/elasticfilesystem`, is used to protect the encrypted file
572
+ # system.
560
573
  #
561
574
  # @option params [String] :kms_key_id
562
- # The ID of the KMS CMK that you want to use to protect the encrypted
575
+ # The ID of the KMS key that you want to use to protect the encrypted
563
576
  # file system. This parameter is only required if you want to use a
564
577
  # non-default KMS key. If this parameter is not specified, the default
565
- # CMK for Amazon EFS is used. This ID can be in one of the following
566
- # formats:
578
+ # KMS key for Amazon EFS is used. You can specify a KMS key ID using the
579
+ # following formats:
567
580
  #
568
581
  # * Key ID - A unique identifier of the key, for example
569
582
  # `1234abcd-12ab-34cd-56ef-1234567890ab`.
@@ -577,11 +590,11 @@ module Aws::EFS
577
590
  # * Key alias ARN - An ARN for a key alias, for example
578
591
  # `arn:aws:kms:us-west-2:444455556666:alias/projectKey1`.
579
592
  #
580
- # If `KmsKeyId` is specified, the CreateFileSystemRequest$Encrypted
581
- # parameter must be set to true.
593
+ # If you use `KmsKeyId`, you must set the
594
+ # CreateFileSystemRequest$Encrypted parameter to true.
582
595
  #
583
596
  # EFS accepts only symmetric KMS keys. You cannot use asymmetric KMS
584
- # keys with EFS file systems.
597
+ # keys with Amazon EFS file systems.
585
598
  #
586
599
  # @option params [String] :throughput_mode
587
600
  # Specifies the throughput mode for the file system, either `bursting`
@@ -640,8 +653,8 @@ module Aws::EFS
640
653
  # Default is `false`. However, if you specify an `AvailabilityZoneName`,
641
654
  # the default is `true`.
642
655
  #
643
- # <note markdown="1"> Backup is not available in all Amazon Web Services Regionswhere Amazon
644
- # EFS is available.
656
+ # <note markdown="1"> Backup is not available in all Amazon Web Services Regions where
657
+ # Amazon EFS is available.
645
658
  #
646
659
  # </note>
647
660
  #
@@ -982,6 +995,122 @@ module Aws::EFS
982
995
  req.send_request(options)
983
996
  end
984
997
 
998
+ # Creates a replication configuration that replicates an existing EFS
999
+ # file system to a new, read-only file system. For more information, see
1000
+ # [Amazon EFS replication][1]. The replication configuration specifies
1001
+ # the following:
1002
+ #
1003
+ # * **Source file system** - an existing EFS file system that you want
1004
+ # replicated. The source file system cannot be a destination file
1005
+ # system in an existing replication configuration.
1006
+ #
1007
+ # * **Destination file system configuration** - the configuration of the
1008
+ # destination file system to which the source file system will be
1009
+ # replicated. There can only be one destination file system in a
1010
+ # replication configuration.
1011
+ #
1012
+ # * **Amazon Web Services Region** - The Amazon Web Services Region in
1013
+ # which the destination file system is created. EFS Replication is
1014
+ # available in all Amazon Web Services Region that Amazon EFS is
1015
+ # available in, except the following regions: Asia Pacific (Hong
1016
+ # Kong) Europe (Milan), Middle East (Bahrain), Africa (Cape Town),
1017
+ # and Asia Pacific (Jakarta).
1018
+ #
1019
+ # * **Availability zone** - If you want the destination file system to
1020
+ # use One Zone availability and durability, you must specify the
1021
+ # Availability Zone to create the file system in. For more
1022
+ # information about EFS storage classes, see [ Amazon EFS storage
1023
+ # classes][2] in the *Amazon EFS User Guide*.
1024
+ #
1025
+ # * **Encryption** - All destination file systems are created with
1026
+ # encryption at rest enabled. You can specify the KMS key that is
1027
+ # used to encrypt the destination file system. Your service-managed
1028
+ # KMS key for Amazon EFS is used if you don't specify a KMS key.
1029
+ # You cannot change this after the file system is created.
1030
+ #
1031
+ # The following properties are set by default:
1032
+ #
1033
+ # * **Performance mode** - The destination file system's performance
1034
+ # mode will match that of the source file system, unless the
1035
+ # destination file system uses One Zone storage. In that case, the
1036
+ # *General Purpose* performance mode is used. The Performance mode
1037
+ # cannot be changed.
1038
+ #
1039
+ # * **Throughput mode** - The destination file system use the Bursting
1040
+ # throughput mode by default. You can modify the throughput mode once
1041
+ # the file system is created.
1042
+ #
1043
+ # The following properties are turned off by default:
1044
+ #
1045
+ # * **Lifecycle management** - EFS lifecycle management and intelligent
1046
+ # tiering are not enabled on the destination file system. You can
1047
+ # enable EFS lifecycle management and intelligent tiering after the
1048
+ # destination file system is created.
1049
+ #
1050
+ # * **Automatic backups** - Automatic daily backups not enabled on the
1051
+ # destination file system. You can change this setting after the file
1052
+ # system is created.
1053
+ #
1054
+ # For more information, see [Amazon EFS replication][1].
1055
+ #
1056
+ #
1057
+ #
1058
+ # [1]: https://docs.aws.amazon.com/efs/latest/ug/efs-replication.html
1059
+ # [2]: https://docs.aws.amazon.com/efs/latest/ug/storage-classes.html
1060
+ #
1061
+ # @option params [required, String] :source_file_system_id
1062
+ # Specifies the Amazon EFS file system that you want to replicate. This
1063
+ # file system cannot already be a source or destination file system in
1064
+ # another replication configuration.
1065
+ #
1066
+ # @option params [required, Array<Types::DestinationToCreate>] :destinations
1067
+ # An array of destination configuration objects. Only one destination
1068
+ # configuration object is supported.
1069
+ #
1070
+ # @return [Types::ReplicationConfigurationDescription] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1071
+ #
1072
+ # * {Types::ReplicationConfigurationDescription#source_file_system_id #source_file_system_id} => String
1073
+ # * {Types::ReplicationConfigurationDescription#source_file_system_region #source_file_system_region} => String
1074
+ # * {Types::ReplicationConfigurationDescription#source_file_system_arn #source_file_system_arn} => String
1075
+ # * {Types::ReplicationConfigurationDescription#original_source_file_system_arn #original_source_file_system_arn} => String
1076
+ # * {Types::ReplicationConfigurationDescription#creation_time #creation_time} => Time
1077
+ # * {Types::ReplicationConfigurationDescription#destinations #destinations} => Array&lt;Types::Destination&gt;
1078
+ #
1079
+ # @example Request syntax with placeholder values
1080
+ #
1081
+ # resp = client.create_replication_configuration({
1082
+ # source_file_system_id: "FileSystemId", # required
1083
+ # destinations: [ # required
1084
+ # {
1085
+ # region: "RegionName",
1086
+ # availability_zone_name: "AvailabilityZoneName",
1087
+ # kms_key_id: "KmsKeyId",
1088
+ # },
1089
+ # ],
1090
+ # })
1091
+ #
1092
+ # @example Response structure
1093
+ #
1094
+ # resp.source_file_system_id #=> String
1095
+ # resp.source_file_system_region #=> String
1096
+ # resp.source_file_system_arn #=> String
1097
+ # resp.original_source_file_system_arn #=> String
1098
+ # resp.creation_time #=> Time
1099
+ # resp.destinations #=> Array
1100
+ # resp.destinations[0].status #=> String, one of "ENABLED", "ENABLING", "DELETING", "ERROR"
1101
+ # resp.destinations[0].file_system_id #=> String
1102
+ # resp.destinations[0].region #=> String
1103
+ # resp.destinations[0].last_replicated_timestamp #=> Time
1104
+ #
1105
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/CreateReplicationConfiguration AWS API Documentation
1106
+ #
1107
+ # @overload create_replication_configuration(params = {})
1108
+ # @param [Hash] params ({})
1109
+ def create_replication_configuration(params = {}, options = {})
1110
+ req = build_request(:create_replication_configuration, params)
1111
+ req.send_request(options)
1112
+ end
1113
+
985
1114
  # <note markdown="1"> DEPRECATED - CreateTags is deprecated and not maintained. Please use
986
1115
  # the API action to create tags for EFS resources.
987
1116
  #
@@ -1215,6 +1344,32 @@ module Aws::EFS
1215
1344
  req.send_request(options)
1216
1345
  end
1217
1346
 
1347
+ # Deletes an existing replication configuration. To delete a replication
1348
+ # configuration, you must make the request from the Amazon Web Services
1349
+ # Region in which the destination file system is located. Deleting a
1350
+ # replication configuration ends the replication process. You can write
1351
+ # to the destination file system once it's status becomes `Writeable`.
1352
+ #
1353
+ # @option params [required, String] :source_file_system_id
1354
+ # The ID of the source file system in the replication configuration.
1355
+ #
1356
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1357
+ #
1358
+ # @example Request syntax with placeholder values
1359
+ #
1360
+ # resp = client.delete_replication_configuration({
1361
+ # source_file_system_id: "FileSystemId", # required
1362
+ # })
1363
+ #
1364
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/DeleteReplicationConfiguration AWS API Documentation
1365
+ #
1366
+ # @overload delete_replication_configuration(params = {})
1367
+ # @param [Hash] params ({})
1368
+ def delete_replication_configuration(params = {}, options = {})
1369
+ req = build_request(:delete_replication_configuration, params)
1370
+ req.send_request(options)
1371
+ end
1372
+
1218
1373
  # <note markdown="1"> DEPRECATED - DeleteTags is deprecated and not maintained. Please use
1219
1374
  # the API action to remove tags from EFS resources.
1220
1375
  #
@@ -1803,6 +1958,60 @@ module Aws::EFS
1803
1958
  req.send_request(options)
1804
1959
  end
1805
1960
 
1961
+ # Retrieves the replication configurations for either a specific file
1962
+ # system, or all configurations for the Amazon Web Services account in
1963
+ # an Amazon Web Services Region if a file system is not specified.
1964
+ #
1965
+ # @option params [String] :file_system_id
1966
+ # You can retrieve replication configurations for a specific file system
1967
+ # by providing a file system ID.
1968
+ #
1969
+ # @option params [String] :next_token
1970
+ # `NextToken` is present if the response is paginated. You can use
1971
+ # `NextMarker` in a subsequent request to fetch the next page of output.
1972
+ #
1973
+ # @option params [Integer] :max_results
1974
+ # (Optional) You can optionally specify the `MaxItems` parameter to
1975
+ # limit the number of objects returned in a response. The default value
1976
+ # is 100.
1977
+ #
1978
+ # @return [Types::DescribeReplicationConfigurationsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1979
+ #
1980
+ # * {Types::DescribeReplicationConfigurationsResponse#replications #replications} => Array&lt;Types::ReplicationConfigurationDescription&gt;
1981
+ # * {Types::DescribeReplicationConfigurationsResponse#next_token #next_token} => String
1982
+ #
1983
+ # @example Request syntax with placeholder values
1984
+ #
1985
+ # resp = client.describe_replication_configurations({
1986
+ # file_system_id: "FileSystemId",
1987
+ # next_token: "Token",
1988
+ # max_results: 1,
1989
+ # })
1990
+ #
1991
+ # @example Response structure
1992
+ #
1993
+ # resp.replications #=> Array
1994
+ # resp.replications[0].source_file_system_id #=> String
1995
+ # resp.replications[0].source_file_system_region #=> String
1996
+ # resp.replications[0].source_file_system_arn #=> String
1997
+ # resp.replications[0].original_source_file_system_arn #=> String
1998
+ # resp.replications[0].creation_time #=> Time
1999
+ # resp.replications[0].destinations #=> Array
2000
+ # resp.replications[0].destinations[0].status #=> String, one of "ENABLED", "ENABLING", "DELETING", "ERROR"
2001
+ # resp.replications[0].destinations[0].file_system_id #=> String
2002
+ # resp.replications[0].destinations[0].region #=> String
2003
+ # resp.replications[0].destinations[0].last_replicated_timestamp #=> Time
2004
+ # resp.next_token #=> String
2005
+ #
2006
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/DescribeReplicationConfigurations AWS API Documentation
2007
+ #
2008
+ # @overload describe_replication_configurations(params = {})
2009
+ # @param [Hash] params ({})
2010
+ def describe_replication_configurations(params = {}, options = {})
2011
+ req = build_request(:describe_replication_configurations, params)
2012
+ req.send_request(options)
2013
+ end
2014
+
1806
2015
  # <note markdown="1"> DEPRECATED - The DeleteTags action is deprecated and not maintained.
1807
2016
  # Please use the API action to remove tags from EFS resources.
1808
2017
  #
@@ -2433,7 +2642,7 @@ module Aws::EFS
2433
2642
  params: params,
2434
2643
  config: config)
2435
2644
  context[:gem_name] = 'aws-sdk-efs'
2436
- context[:gem_version] = '1.48.0'
2645
+ context[:gem_version] = '1.52.0'
2437
2646
  Seahorse::Client::Request.new(handlers, context)
2438
2647
  end
2439
2648
 
@@ -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