aws-sdk-efs 1.47.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: 6898867f3bec3e6dcaf26262a58b0a72e48917d1c2dc922ac0d09ee0ecad1640
4
- data.tar.gz: 436070b567ac24245c7c5f184691ff996869e9d007496051cee9f9641d57eb93
3
+ metadata.gz: ade5009e88ca6d89db4b83c6cad5ff9c3755b2ac433a202a62205f3aef405eac
4
+ data.tar.gz: ef29448e193328ce69977b94ef79c7d98b6d64862362d4d9048720384f54cf00
5
5
  SHA512:
6
- metadata.gz: 49d3edc0d27dd3dc179f25273ff31e1c9321838262ecca5559df0bdccd947e1f67680928469ec4012c5c06ee564ac26ab20c7e22ecaa7009fc50bc5ce85cd0b7
7
- data.tar.gz: 5622527906dda671e1bcae4257cb5e338bf6cf626106738b6ceffff880645031c0d4fc92c43b7705e1042e44246005d8347307d681d776d7b4d7c2da92807af3
6
+ metadata.gz: 5cdb7bf4af60623b1829256b77663df39beff76e367047cea279b4a4f770faa1c316188aa0aee242cc8c5ebaeaecd186376eaabf9f9bda949612ad5a56e78668
7
+ data.tar.gz: b8035eaf267b7fe92c1a096e99e8f13f742cb7dc47ea70f59970f34d040ff04b3cac3eae5ea887160b3074c12b71c09104ca678440e30288e0b9f4f60e2c18dd
data/CHANGELOG.md CHANGED
@@ -1,6 +1,26 @@
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
+
9
+ 1.50.0 (2021-12-21)
10
+ ------------------
11
+
12
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
13
+
14
+ 1.49.0 (2021-11-30)
15
+ ------------------
16
+
17
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
18
+
19
+ 1.48.0 (2021-11-04)
20
+ ------------------
21
+
22
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
23
+
4
24
  1.47.0 (2021-10-18)
5
25
  ------------------
6
26
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.47.0
1
+ 1.51.0
@@ -27,6 +27,7 @@ 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'
30
31
  require 'aws-sdk-core/plugins/signature_v4.rb'
31
32
  require 'aws-sdk-core/plugins/protocols/rest_json.rb'
32
33
 
@@ -73,6 +74,7 @@ module Aws::EFS
73
74
  add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
74
75
  add_plugin(Aws::Plugins::TransferEncoding)
75
76
  add_plugin(Aws::Plugins::HttpChecksum)
77
+ add_plugin(Aws::Plugins::DefaultsMode)
76
78
  add_plugin(Aws::Plugins::SignatureV4)
77
79
  add_plugin(Aws::Plugins::Protocols::RestJson)
78
80
 
@@ -119,7 +121,9 @@ module Aws::EFS
119
121
  # * EC2/ECS IMDS instance profile - When used by default, the timeouts
120
122
  # are very aggressive. Construct and pass an instance of
121
123
  # `Aws::InstanceProfileCredentails` or `Aws::ECSCredentials` to
122
- # enable retries and extended timeouts.
124
+ # enable retries and extended timeouts. Instance profile credential
125
+ # fetching can be disabled by setting ENV['AWS_EC2_METADATA_DISABLED']
126
+ # to true.
123
127
  #
124
128
  # @option options [required, String] :region
125
129
  # The AWS region to connect to. The configured `:region` is
@@ -173,6 +177,10 @@ module Aws::EFS
173
177
  # Used only in `standard` and adaptive retry modes. Specifies whether to apply
174
178
  # a clock skew correction and retry requests with skewed client clocks.
175
179
  #
180
+ # @option options [String] :defaults_mode ("legacy")
181
+ # See {Aws::DefaultsModeConfiguration} for a list of the
182
+ # accepted modes and the configuration defaults that are included.
183
+ #
176
184
  # @option options [Boolean] :disable_host_prefix_injection (false)
177
185
  # Set to true to disable SDK automatically adding host prefix
178
186
  # to default service endpoint when available.
@@ -275,6 +283,15 @@ module Aws::EFS
275
283
  # ** Please note ** When response stubbing is enabled, no HTTP
276
284
  # requests are made, and retries are disabled.
277
285
  #
286
+ # @option options [Boolean] :use_dualstack_endpoint
287
+ # When set to `true`, dualstack enabled endpoints (with `.aws` TLD)
288
+ # will be used if available.
289
+ #
290
+ # @option options [Boolean] :use_fips_endpoint
291
+ # When set to `true`, fips compatible endpoints will be used if available.
292
+ # When a `fips` region is used, the region is normalized and this config
293
+ # is set to `true`.
294
+ #
278
295
  # @option options [Boolean] :validate_params (true)
279
296
  # When `true`, request parameters are validated before
280
297
  # sending the request.
@@ -286,7 +303,7 @@ module Aws::EFS
286
303
  # seconds to wait when opening a HTTP session before raising a
287
304
  # `Timeout::Error`.
288
305
  #
289
- # @option options [Integer] :http_read_timeout (60) The default
306
+ # @option options [Float] :http_read_timeout (60) The default
290
307
  # number of seconds to wait for response data. This value can
291
308
  # safely be set per-request on the session.
292
309
  #
@@ -302,6 +319,9 @@ module Aws::EFS
302
319
  # disables this behaviour. This value can safely be set per
303
320
  # request on the session.
304
321
  #
322
+ # @option options [Float] :ssl_timeout (nil) Sets the SSL timeout
323
+ # in seconds.
324
+ #
305
325
  # @option options [Boolean] :http_wire_trace (false) When `true`,
306
326
  # HTTP debug output will be sent to the `:logger`.
307
327
  #
@@ -544,17 +564,17 @@ module Aws::EFS
544
564
  # @option params [Boolean] :encrypted
545
565
  # A Boolean value that, if true, creates an encrypted file system. When
546
566
  # creating an encrypted file system, you have the option of specifying
547
- # CreateFileSystemRequest$KmsKeyId for an existing Key Management
548
- # Service (KMS customer master key (CMK). If you don't specify a CMK,
549
- # then the default CMK for Amazon EFS, `/aws/elasticfilesystem`, is used
550
- # 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.
551
571
  #
552
572
  # @option params [String] :kms_key_id
553
- # 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
554
574
  # file system. This parameter is only required if you want to use a
555
575
  # non-default KMS key. If this parameter is not specified, the default
556
- # CMK for Amazon EFS is used. This ID can be in one of the following
557
- # formats:
576
+ # KMS key for Amazon EFS is used. You can specify a KMS key ID using the
577
+ # following formats:
558
578
  #
559
579
  # * Key ID - A unique identifier of the key, for example
560
580
  # `1234abcd-12ab-34cd-56ef-1234567890ab`.
@@ -568,11 +588,11 @@ module Aws::EFS
568
588
  # * Key alias ARN - An ARN for a key alias, for example
569
589
  # `arn:aws:kms:us-west-2:444455556666:alias/projectKey1`.
570
590
  #
571
- # If `KmsKeyId` is specified, the CreateFileSystemRequest$Encrypted
572
- # parameter must be set to true.
591
+ # If you use `KmsKeyId`, you must set the
592
+ # CreateFileSystemRequest$Encrypted parameter to true.
573
593
  #
574
594
  # EFS accepts only symmetric KMS keys. You cannot use asymmetric KMS
575
- # keys with EFS file systems.
595
+ # keys with Amazon EFS file systems.
576
596
  #
577
597
  # @option params [String] :throughput_mode
578
598
  # Specifies the throughput mode for the file system, either `bursting`
@@ -631,8 +651,8 @@ module Aws::EFS
631
651
  # Default is `false`. However, if you specify an `AvailabilityZoneName`,
632
652
  # the default is `true`.
633
653
  #
634
- # <note markdown="1"> Backup is not available in all Amazon Web Services Regionswhere Amazon
635
- # EFS is available.
654
+ # <note markdown="1"> Backup is not available in all Amazon Web Services Regions where
655
+ # Amazon EFS is available.
636
656
  #
637
657
  # </note>
638
658
  #
@@ -973,6 +993,122 @@ module Aws::EFS
973
993
  req.send_request(options)
974
994
  end
975
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
+
976
1112
  # <note markdown="1"> DEPRECATED - CreateTags is deprecated and not maintained. Please use
977
1113
  # the API action to create tags for EFS resources.
978
1114
  #
@@ -1206,6 +1342,32 @@ module Aws::EFS
1206
1342
  req.send_request(options)
1207
1343
  end
1208
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
+
1209
1371
  # <note markdown="1"> DEPRECATED - DeleteTags is deprecated and not maintained. Please use
1210
1372
  # the API action to remove tags from EFS resources.
1211
1373
  #
@@ -1794,6 +1956,60 @@ module Aws::EFS
1794
1956
  req.send_request(options)
1795
1957
  end
1796
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
+
1797
2013
  # <note markdown="1"> DEPRECATED - The DeleteTags action is deprecated and not maintained.
1798
2014
  # Please use the API action to remove tags from EFS resources.
1799
2015
  #
@@ -2424,7 +2640,7 @@ module Aws::EFS
2424
2640
  params: params,
2425
2641
  config: config)
2426
2642
  context[:gem_name] = 'aws-sdk-efs'
2427
- context[:gem_version] = '1.47.0'
2643
+ context[:gem_version] = '1.51.0'
2428
2644
  Seahorse::Client::Request.new(handlers, context)
2429
2645
  end
2430
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