aws-sdk-efs 1.0.0.rc1 → 1.0.0.rc2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: ee82353887fcfd4287415a7af156c504bebd04ec
4
- data.tar.gz: f7ad57e4b23e883598a7867304ba701fc09e0551
3
+ metadata.gz: 482469d307f45f3914c2355edbab99fdce1d61d0
4
+ data.tar.gz: f29d09e12970bccdf43f8517608d9cbd52be66bc
5
5
  SHA512:
6
- metadata.gz: 37f99e3f2872b491984af946fe2cf1ea769e37de9212115b403d224f81f2fd08bff75d5610663a8088d0d01dceb64aa39bd87a9467c8a0409b4e178e66e56c60
7
- data.tar.gz: 43a8da4af13bb8c68ce478da6b84b10080977a8f1566cfb3baf857605395bc1e98814fe805b57242c581c0c9fc6b454ac1832da14f4d0aa6c12c8894b9796d99
6
+ metadata.gz: 304ff7cc2d7209384b7cb044a6eeada0c5aa27749898c3a8de3f8a9e9157ae358292189546e539e69f6e79eb26f9616acefc6bf99891af1bef8462e2551d7870
7
+ data.tar.gz: a38c6b0f352c90d18ac79d49e65b2911c0c71a6e61448b549d6fa3e4fb50d901c8d33d6bedbaac6e3cd59460e37f8212118cff303da629b6043bff79e184e10e
@@ -1,6 +1,6 @@
1
1
  # WARNING ABOUT GENERATED CODE
2
2
  #
3
- # This file is generated. See the contributing for info on making contributions:
3
+ # This file is generated. See the contributing guide for more information:
4
4
  # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
5
  #
6
6
  # WARNING ABOUT GENERATED CODE
@@ -1,6 +1,6 @@
1
1
  # WARNING ABOUT GENERATED CODE
2
2
  #
3
- # This file is generated. See the contributing for info on making contributions:
3
+ # This file is generated. See the contributing guide for more information:
4
4
  # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
5
  #
6
6
  # WARNING ABOUT GENERATED CODE
@@ -23,799 +23,876 @@ require 'aws-sdk-core/plugins/protocols/rest_json.rb'
23
23
 
24
24
  Aws::Plugins::GlobalConfiguration.add_identifier(:efs)
25
25
 
26
- module Aws
27
- module EFS
28
- class Client < Seahorse::Client::Base
26
+ module Aws::EFS
27
+ class Client < Seahorse::Client::Base
29
28
 
30
- include Aws::ClientStubs
29
+ include Aws::ClientStubs
31
30
 
32
- @identifier = :efs
31
+ @identifier = :efs
33
32
 
34
- set_api(ClientApi::API)
33
+ set_api(ClientApi::API)
35
34
 
36
- add_plugin(Seahorse::Client::Plugins::ContentLength)
37
- add_plugin(Aws::Plugins::CredentialsConfiguration)
38
- add_plugin(Aws::Plugins::Logging)
39
- add_plugin(Aws::Plugins::ParamConverter)
40
- add_plugin(Aws::Plugins::ParamValidator)
41
- add_plugin(Aws::Plugins::UserAgent)
42
- add_plugin(Aws::Plugins::HelpfulSocketErrors)
43
- add_plugin(Aws::Plugins::RetryErrors)
44
- add_plugin(Aws::Plugins::GlobalConfiguration)
45
- add_plugin(Aws::Plugins::RegionalEndpoint)
46
- add_plugin(Aws::Plugins::ResponsePaging)
47
- add_plugin(Aws::Plugins::StubResponses)
48
- add_plugin(Aws::Plugins::IdempotencyToken)
49
- add_plugin(Aws::Plugins::SignatureV4)
50
- add_plugin(Aws::Plugins::Protocols::RestJson)
35
+ add_plugin(Seahorse::Client::Plugins::ContentLength)
36
+ add_plugin(Aws::Plugins::CredentialsConfiguration)
37
+ add_plugin(Aws::Plugins::Logging)
38
+ add_plugin(Aws::Plugins::ParamConverter)
39
+ add_plugin(Aws::Plugins::ParamValidator)
40
+ add_plugin(Aws::Plugins::UserAgent)
41
+ add_plugin(Aws::Plugins::HelpfulSocketErrors)
42
+ add_plugin(Aws::Plugins::RetryErrors)
43
+ add_plugin(Aws::Plugins::GlobalConfiguration)
44
+ add_plugin(Aws::Plugins::RegionalEndpoint)
45
+ add_plugin(Aws::Plugins::ResponsePaging)
46
+ add_plugin(Aws::Plugins::StubResponses)
47
+ add_plugin(Aws::Plugins::IdempotencyToken)
48
+ add_plugin(Aws::Plugins::SignatureV4)
49
+ add_plugin(Aws::Plugins::Protocols::RestJson)
51
50
 
52
- # @option options [required, Aws::CredentialProvider] :credentials
53
- # Your AWS credentials. This can be an instance of any one of the
54
- # following classes:
55
- #
56
- # * `Aws::Credentials` - Used for configuring static, non-refreshing
57
- # credentials.
58
- #
59
- # * `Aws::InstanceProfileCredentials` - Used for loading credentials
60
- # from an EC2 IMDS on an EC2 instance.
61
- #
62
- # * `Aws::SharedCredentials` - Used for loading credentials from a
63
- # shared file, such as `~/.aws/config`.
64
- #
65
- # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
66
- #
67
- # When `:credentials` are not configured directly, the following
68
- # locations will be searched for credentials:
69
- #
70
- # * `Aws.config[:credentials]`
71
- # * The `:access_key_id`, `:secret_access_key`, and `:session_token` options.
72
- # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
73
- # * `~/.aws/credentials`
74
- # * `~/.aws/config`
75
- # * EC2 IMDS instance profile - When used by default, the timeouts are
76
- # very aggressive. Construct and pass an instance of
77
- # `Aws::InstanceProfileCredentails` to enable retries and extended
78
- # timeouts.
79
- # @option options [required, String] :region
80
- # The AWS region to connect to. The configured `:region` is
81
- # used to determine the service `:endpoint`. When not passed,
82
- # a default `:region` is search for in the following locations:
83
- #
84
- # * `Aws.config[:region]`
85
- # * `ENV['AWS_REGION']`
86
- # * `ENV['AMAZON_REGION']`
87
- # * `ENV['AWS_DEFAULT_REGION']`
88
- # * `~/.aws/credentials`
89
- # * `~/.aws/config`
90
- # @option options [String] :access_key_id
91
- # @option options [Boolean] :convert_params (true)
92
- # When `true`, an attempt is made to coerce request parameters into
93
- # the required types.
94
- # @option options [String] :endpoint
95
- # The client endpoint is normally constructed from the `:region`
96
- # option. You should only configure an `:endpoint` when connecting
97
- # to test endpoints. This should be avalid HTTP(S) URI.
98
- # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
99
- # The log formatter.
100
- # @option options [Symbol] :log_level (:info)
101
- # The log level to send messages to the `:logger` at.
102
- # @option options [Logger] :logger
103
- # The Logger instance to send log messages to. If this option
104
- # is not set, logging will be disabled.
105
- # @option options [String] :profile ("default")
106
- # Used when loading credentials from the shared credentials file
107
- # at HOME/.aws/credentials. When not specified, 'default' is used.
108
- # @option options [Integer] :retry_limit (3)
109
- # The maximum number of times to retry failed requests. Only
110
- # ~ 500 level server errors and certain ~ 400 level client errors
111
- # are retried. Generally, these are throttling errors, data
112
- # checksum errors, networking errors, timeout errors and auth
113
- # errors from expired credentials.
114
- # @option options [String] :secret_access_key
115
- # @option options [String] :session_token
116
- # @option options [Boolean] :stub_responses (false)
117
- # Causes the client to return stubbed responses. By default
118
- # fake responses are generated and returned. You can specify
119
- # the response data to return or errors to raise by calling
120
- # {ClientStubs#stub_responses}. See {ClientStubs} for more information.
121
- #
122
- # ** Please note ** When response stubbing is enabled, no HTTP
123
- # requests are made, and retries are disabled.
124
- # @option options [Boolean] :validate_params (true)
125
- # When `true`, request parameters are validated before
126
- # sending the request.
127
- def initialize(*args)
128
- super
129
- end
51
+ # @option options [required, Aws::CredentialProvider] :credentials
52
+ # Your AWS credentials. This can be an instance of any one of the
53
+ # following classes:
54
+ #
55
+ # * `Aws::Credentials` - Used for configuring static, non-refreshing
56
+ # credentials.
57
+ #
58
+ # * `Aws::InstanceProfileCredentials` - Used for loading credentials
59
+ # from an EC2 IMDS on an EC2 instance.
60
+ #
61
+ # * `Aws::SharedCredentials` - Used for loading credentials from a
62
+ # shared file, such as `~/.aws/config`.
63
+ #
64
+ # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
65
+ #
66
+ # When `:credentials` are not configured directly, the following
67
+ # locations will be searched for credentials:
68
+ #
69
+ # * `Aws.config[:credentials]`
70
+ # * The `:access_key_id`, `:secret_access_key`, and `:session_token` options.
71
+ # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
72
+ # * `~/.aws/credentials`
73
+ # * `~/.aws/config`
74
+ # * EC2 IMDS instance profile - When used by default, the timeouts are
75
+ # very aggressive. Construct and pass an instance of
76
+ # `Aws::InstanceProfileCredentails` to enable retries and extended
77
+ # timeouts.
78
+ #
79
+ # @option options [required, String] :region
80
+ # The AWS region to connect to. The configured `:region` is
81
+ # used to determine the service `:endpoint`. When not passed,
82
+ # a default `:region` is search for in the following locations:
83
+ #
84
+ # * `Aws.config[:region]`
85
+ # * `ENV['AWS_REGION']`
86
+ # * `ENV['AMAZON_REGION']`
87
+ # * `ENV['AWS_DEFAULT_REGION']`
88
+ # * `~/.aws/credentials`
89
+ # * `~/.aws/config`
90
+ #
91
+ # @option options [String] :access_key_id
92
+ #
93
+ # @option options [Boolean] :convert_params (true)
94
+ # When `true`, an attempt is made to coerce request parameters into
95
+ # the required types.
96
+ #
97
+ # @option options [String] :endpoint
98
+ # The client endpoint is normally constructed from the `:region`
99
+ # option. You should only configure an `:endpoint` when connecting
100
+ # to test endpoints. This should be avalid HTTP(S) URI.
101
+ #
102
+ # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
103
+ # The log formatter.
104
+ #
105
+ # @option options [Symbol] :log_level (:info)
106
+ # The log level to send messages to the `:logger` at.
107
+ #
108
+ # @option options [Logger] :logger
109
+ # The Logger instance to send log messages to. If this option
110
+ # is not set, logging will be disabled.
111
+ #
112
+ # @option options [String] :profile ("default")
113
+ # Used when loading credentials from the shared credentials file
114
+ # at HOME/.aws/credentials. When not specified, 'default' is used.
115
+ #
116
+ # @option options [Integer] :retry_limit (3)
117
+ # The maximum number of times to retry failed requests. Only
118
+ # ~ 500 level server errors and certain ~ 400 level client errors
119
+ # are retried. Generally, these are throttling errors, data
120
+ # checksum errors, networking errors, timeout errors and auth
121
+ # errors from expired credentials.
122
+ #
123
+ # @option options [String] :secret_access_key
124
+ #
125
+ # @option options [String] :session_token
126
+ #
127
+ # @option options [Boolean] :stub_responses (false)
128
+ # Causes the client to return stubbed responses. By default
129
+ # fake responses are generated and returned. You can specify
130
+ # the response data to return or errors to raise by calling
131
+ # {ClientStubs#stub_responses}. See {ClientStubs} for more information.
132
+ #
133
+ # ** Please note ** When response stubbing is enabled, no HTTP
134
+ # requests are made, and retries are disabled.
135
+ #
136
+ # @option options [Boolean] :validate_params (true)
137
+ # When `true`, request parameters are validated before
138
+ # sending the request.
139
+ #
140
+ def initialize(*args)
141
+ super
142
+ end
130
143
 
131
- # @!group API Operations
144
+ # @!group API Operations
132
145
 
133
- # Creates a new, empty file system. The operation requires a creation
134
- # token in the request that Amazon EFS uses to ensure idempotent
135
- # creation (calling the operation with same creation token has no
136
- # effect). If a file system does not currently exist that is owned by
137
- # the caller's AWS account with the specified creation token, this
138
- # operation does the following:
139
- #
140
- # * Creates a new, empty file system. The file system will have an
141
- # Amazon EFS assigned ID, and an initial lifecycle state `creating`.
142
- #
143
- # * Returns with the description of the created file system.
144
- #
145
- # Otherwise, this operation returns a `FileSystemAlreadyExists` error
146
- # with the ID of the existing file system.
147
- #
148
- # <note markdown="1"> For basic use cases, you can use a randomly generated UUID for the
149
- # creation token.
150
- #
151
- # </note>
152
- #
153
- # The idempotent operation allows you to retry a `CreateFileSystem` call
154
- # without risk of creating an extra file system. This can happen when an
155
- # initial call fails in a way that leaves it uncertain whether or not a
156
- # file system was actually created. An example might be that a transport
157
- # level timeout occurred or your connection was reset. As long as you
158
- # use the same creation token, if the initial call had succeeded in
159
- # creating a file system, the client can learn of its existence from the
160
- # `FileSystemAlreadyExists` error.
161
- #
162
- # <note markdown="1"> The `CreateFileSystem` call returns while the file system's lifecycle
163
- # state is still `creating`. You can check the file system creation
164
- # status by calling the DescribeFileSystems operation, which among other
165
- # things returns the file system state.
166
- #
167
- # </note>
168
- #
169
- # This operation also takes an optional `PerformanceMode` parameter that
170
- # you choose for your file system. We recommend `generalPurpose`
171
- # performance mode for most file systems. File systems using the `maxIO`
172
- # performance mode can scale to higher levels of aggregate throughput
173
- # and operations per second with a tradeoff of slightly higher latencies
174
- # for most file operations. The performance mode can't be changed after
175
- # the file system has been created. For more information, see [Amazon
176
- # EFS: Performance Modes][1].
177
- #
178
- # After the file system is fully created, Amazon EFS sets its lifecycle
179
- # state to `available`, at which point you can create one or more mount
180
- # targets for the file system in your VPC. For more information, see
181
- # CreateMountTarget. You mount your Amazon EFS file system on an EC2
182
- # instances in your VPC via the mount target. For more information, see
183
- # [Amazon EFS: How it Works][2].
184
- #
185
- # This operation requires permissions for the
186
- # `elasticfilesystem:CreateFileSystem` action.
187
- #
188
- #
189
- #
190
- # [1]: http://docs.aws.amazon.com/efs/latest/ug/performance.html#performancemodes.html
191
- # [2]: http://docs.aws.amazon.com/efs/latest/ug/how-it-works.html
192
- # @option params [required, String] :creation_token
193
- # String of up to 64 ASCII characters. Amazon EFS uses this to ensure
194
- # idempotent creation.
195
- # @option params [String] :performance_mode
196
- # The `PerformanceMode` of the file system. We recommend
197
- # `generalPurpose` performance mode for most file systems. File systems
198
- # using the `maxIO` performance mode can scale to higher levels of
199
- # aggregate throughput and operations per second with a tradeoff of
200
- # slightly higher latencies for most file operations. This can't be
201
- # changed after the file system has been created.
202
- # @return [Types::FileSystemDescription] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
203
- #
204
- # * {Types::FileSystemDescription#owner_id #OwnerId} => String
205
- # * {Types::FileSystemDescription#creation_token #CreationToken} => String
206
- # * {Types::FileSystemDescription#file_system_id #FileSystemId} => String
207
- # * {Types::FileSystemDescription#creation_time #CreationTime} => Time
208
- # * {Types::FileSystemDescription#life_cycle_state #LifeCycleState} => String
209
- # * {Types::FileSystemDescription#name #Name} => String
210
- # * {Types::FileSystemDescription#number_of_mount_targets #NumberOfMountTargets} => Integer
211
- # * {Types::FileSystemDescription#size_in_bytes #SizeInBytes} => Types::FileSystemSize
212
- # * {Types::FileSystemDescription#performance_mode #PerformanceMode} => String
213
- #
214
- # @example Request syntax with placeholder values
215
- # resp = client.create_file_system({
216
- # creation_token: "CreationToken", # required
217
- # performance_mode: "generalPurpose", # accepts generalPurpose, maxIO
218
- # })
219
- #
220
- # @example Response structure
221
- # resp.owner_id #=> String
222
- # resp.creation_token #=> String
223
- # resp.file_system_id #=> String
224
- # resp.creation_time #=> Time
225
- # resp.life_cycle_state #=> String, one of "creating", "available", "deleting", "deleted"
226
- # resp.name #=> String
227
- # resp.number_of_mount_targets #=> Integer
228
- # resp.size_in_bytes.value #=> Integer
229
- # resp.size_in_bytes.timestamp #=> Time
230
- # resp.performance_mode #=> String, one of "generalPurpose", "maxIO"
231
- # @overload create_file_system(params = {})
232
- # @param [Hash] params ({})
233
- def create_file_system(params = {}, options = {})
234
- req = build_request(:create_file_system, params)
235
- req.send_request(options)
236
- end
237
-
238
- # Creates a mount target for a file system. You can then mount the file
239
- # system on EC2 instances via the mount target.
240
- #
241
- # You can create one mount target in each Availability Zone in your VPC.
242
- # All EC2 instances in a VPC within a given Availability Zone share a
243
- # single mount target for a given file system. If you have multiple
244
- # subnets in an Availability Zone, you create a mount target in one of
245
- # the subnets. EC2 instances do not need to be in the same subnet as the
246
- # mount target in order to access their file system. For more
247
- # information, see [Amazon EFS: How it Works][1].
248
- #
249
- # In the request, you also specify a file system ID for which you are
250
- # creating the mount target and the file system's lifecycle state must
251
- # be `available`. For more information, see DescribeFileSystems.
252
- #
253
- # In the request, you also provide a subnet ID, which determines the
254
- # following:
255
- #
256
- # * VPC in which Amazon EFS creates the mount target
257
- #
258
- # * Availability Zone in which Amazon EFS creates the mount target
259
- #
260
- # * IP address range from which Amazon EFS selects the IP address of the
261
- # mount target (if you don't specify an IP address in the request)
262
- #
263
- # After creating the mount target, Amazon EFS returns a response that
264
- # includes, a `MountTargetId` and an `IpAddress`. You use this IP
265
- # address when mounting the file system in an EC2 instance. You can also
266
- # use the mount target's DNS name when mounting the file system. The
267
- # EC2 instance on which you mount the file system via the mount target
268
- # can resolve the mount target's DNS name to its IP address. For more
269
- # information, see [How it Works: Implementation Overview][2].
270
- #
271
- # Note that you can create mount targets for a file system in only one
272
- # VPC, and there can be only one mount target per Availability Zone.
273
- # That is, if the file system already has one or more mount targets
274
- # created for it, the subnet specified in the request to add another
275
- # mount target must meet the following requirements:
276
- #
277
- # * Must belong to the same VPC as the subnets of the existing mount
278
- # targets
279
- #
280
- # * Must not be in the same Availability Zone as any of the subnets of
281
- # the existing mount targets
282
- #
283
- # If the request satisfies the requirements, Amazon EFS does the
284
- # following:
285
- #
286
- # * Creates a new mount target in the specified subnet.
287
- #
288
- # * Also creates a new network interface in the subnet as follows:
289
- #
290
- # * If the request provides an `IpAddress`, Amazon EFS assigns that IP
291
- # address to the network interface. Otherwise, Amazon EFS assigns a
292
- # free address in the subnet (in the same way that the Amazon EC2
293
- # `CreateNetworkInterface` call does when a request does not specify
294
- # a primary private IP address).
295
- #
296
- # * If the request provides `SecurityGroups`, this network interface
297
- # is associated with those security groups. Otherwise, it belongs to
298
- # the default security group for the subnet's VPC.
299
- #
300
- # * Assigns the description `Mount target fsmt-id for file system
301
- # fs-id ` where ` fsmt-id ` is the mount target ID, and ` fs-id ` is
302
- # the `FileSystemId`.
303
- #
304
- # * Sets the `requesterManaged` property of the network interface to
305
- # `true`, and the `requesterId` value to `EFS`.
306
- #
307
- # Each Amazon EFS mount target has one corresponding requestor-managed
308
- # EC2 network interface. After the network interface is created,
309
- # Amazon EFS sets the `NetworkInterfaceId` field in the mount
310
- # target's description to the network interface ID, and the
311
- # `IpAddress` field to its address. If network interface creation
312
- # fails, the entire `CreateMountTarget` operation fails.
313
- #
314
- # <note markdown="1"> The `CreateMountTarget` call returns only after creating the network
315
- # interface, but while the mount target state is still `creating`. You
316
- # can check the mount target creation status by calling the
317
- # DescribeFileSystems operation, which among other things returns the
318
- # mount target state.
319
- #
320
- # </note>
321
- #
322
- # We recommend you create a mount target in each of the Availability
323
- # Zones. There are cost considerations for using a file system in an
324
- # Availability Zone through a mount target created in another
325
- # Availability Zone. For more information, see [Amazon EFS][3]. In
326
- # addition, by always using a mount target local to the instance's
327
- # Availability Zone, you eliminate a partial failure scenario. If the
328
- # Availability Zone in which your mount target is created goes down,
329
- # then you won't be able to access your file system through that mount
330
- # target.
331
- #
332
- # This operation requires permissions for the following action on the
333
- # file system:
334
- #
335
- # * `elasticfilesystem:CreateMountTarget`
336
- #
337
- # ^
338
- #
339
- # This operation also requires permissions for the following Amazon EC2
340
- # actions:
341
- #
342
- # * `ec2:DescribeSubnets`
343
- #
344
- # * `ec2:DescribeNetworkInterfaces`
345
- #
346
- # * `ec2:CreateNetworkInterface`
347
- #
348
- #
349
- #
350
- # [1]: http://docs.aws.amazon.com/efs/latest/ug/how-it-works.html
351
- # [2]: http://docs.aws.amazon.com/efs/latest/ug/how-it-works.html#how-it-works-implementation
352
- # [3]: http://aws.amazon.com/efs/
353
- # @option params [required, String] :file_system_id
354
- # ID of the file system for which to create the mount target.
355
- # @option params [required, String] :subnet_id
356
- # ID of the subnet to add the mount target in.
357
- # @option params [String] :ip_address
358
- # Valid IPv4 address within the address range of the specified subnet.
359
- # @option params [Array<String>] :security_groups
360
- # Up to five VPC security group IDs, of the form `sg-xxxxxxxx`. These
361
- # must be for the same VPC as subnet specified.
362
- # @return [Types::MountTargetDescription] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
363
- #
364
- # * {Types::MountTargetDescription#owner_id #OwnerId} => String
365
- # * {Types::MountTargetDescription#mount_target_id #MountTargetId} => String
366
- # * {Types::MountTargetDescription#file_system_id #FileSystemId} => String
367
- # * {Types::MountTargetDescription#subnet_id #SubnetId} => String
368
- # * {Types::MountTargetDescription#life_cycle_state #LifeCycleState} => String
369
- # * {Types::MountTargetDescription#ip_address #IpAddress} => String
370
- # * {Types::MountTargetDescription#network_interface_id #NetworkInterfaceId} => String
371
- #
372
- # @example Request syntax with placeholder values
373
- # resp = client.create_mount_target({
374
- # file_system_id: "FileSystemId", # required
375
- # subnet_id: "SubnetId", # required
376
- # ip_address: "IpAddress",
377
- # security_groups: ["SecurityGroup"],
378
- # })
379
- #
380
- # @example Response structure
381
- # resp.owner_id #=> String
382
- # resp.mount_target_id #=> String
383
- # resp.file_system_id #=> String
384
- # resp.subnet_id #=> String
385
- # resp.life_cycle_state #=> String, one of "creating", "available", "deleting", "deleted"
386
- # resp.ip_address #=> String
387
- # resp.network_interface_id #=> String
388
- # @overload create_mount_target(params = {})
389
- # @param [Hash] params ({})
390
- def create_mount_target(params = {}, options = {})
391
- req = build_request(:create_mount_target, params)
392
- req.send_request(options)
393
- end
146
+ # Creates a new, empty file system. The operation requires a creation
147
+ # token in the request that Amazon EFS uses to ensure idempotent
148
+ # creation (calling the operation with same creation token has no
149
+ # effect). If a file system does not currently exist that is owned by
150
+ # the caller's AWS account with the specified creation token, this
151
+ # operation does the following:
152
+ #
153
+ # * Creates a new, empty file system. The file system will have an
154
+ # Amazon EFS assigned ID, and an initial lifecycle state `creating`.
155
+ #
156
+ # * Returns with the description of the created file system.
157
+ #
158
+ # Otherwise, this operation returns a `FileSystemAlreadyExists` error
159
+ # with the ID of the existing file system.
160
+ #
161
+ # <note markdown="1"> For basic use cases, you can use a randomly generated UUID for the
162
+ # creation token.
163
+ #
164
+ # </note>
165
+ #
166
+ # The idempotent operation allows you to retry a `CreateFileSystem` call
167
+ # without risk of creating an extra file system. This can happen when an
168
+ # initial call fails in a way that leaves it uncertain whether or not a
169
+ # file system was actually created. An example might be that a transport
170
+ # level timeout occurred or your connection was reset. As long as you
171
+ # use the same creation token, if the initial call had succeeded in
172
+ # creating a file system, the client can learn of its existence from the
173
+ # `FileSystemAlreadyExists` error.
174
+ #
175
+ # <note markdown="1"> The `CreateFileSystem` call returns while the file system's lifecycle
176
+ # state is still `creating`. You can check the file system creation
177
+ # status by calling the DescribeFileSystems operation, which among other
178
+ # things returns the file system state.
179
+ #
180
+ # </note>
181
+ #
182
+ # This operation also takes an optional `PerformanceMode` parameter that
183
+ # you choose for your file system. We recommend `generalPurpose`
184
+ # performance mode for most file systems. File systems using the `maxIO`
185
+ # performance mode can scale to higher levels of aggregate throughput
186
+ # and operations per second with a tradeoff of slightly higher latencies
187
+ # for most file operations. The performance mode can't be changed after
188
+ # the file system has been created. For more information, see [Amazon
189
+ # EFS: Performance Modes][1].
190
+ #
191
+ # After the file system is fully created, Amazon EFS sets its lifecycle
192
+ # state to `available`, at which point you can create one or more mount
193
+ # targets for the file system in your VPC. For more information, see
194
+ # CreateMountTarget. You mount your Amazon EFS file system on an EC2
195
+ # instances in your VPC via the mount target. For more information, see
196
+ # [Amazon EFS: How it Works][2].
197
+ #
198
+ # This operation requires permissions for the
199
+ # `elasticfilesystem:CreateFileSystem` action.
200
+ #
201
+ #
202
+ #
203
+ # [1]: http://docs.aws.amazon.com/efs/latest/ug/performance.html#performancemodes.html
204
+ # [2]: http://docs.aws.amazon.com/efs/latest/ug/how-it-works.html
205
+ #
206
+ # @option params [required, String] :creation_token
207
+ # String of up to 64 ASCII characters. Amazon EFS uses this to ensure
208
+ # idempotent creation.
209
+ #
210
+ # @option params [String] :performance_mode
211
+ # The `PerformanceMode` of the file system. We recommend
212
+ # `generalPurpose` performance mode for most file systems. File systems
213
+ # using the `maxIO` performance mode can scale to higher levels of
214
+ # aggregate throughput and operations per second with a tradeoff of
215
+ # slightly higher latencies for most file operations. This can't be
216
+ # changed after the file system has been created.
217
+ #
218
+ # @return [Types::FileSystemDescription] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
219
+ #
220
+ # * {Types::FileSystemDescription#owner_id #owner_id} => String
221
+ # * {Types::FileSystemDescription#creation_token #creation_token} => String
222
+ # * {Types::FileSystemDescription#file_system_id #file_system_id} => String
223
+ # * {Types::FileSystemDescription#creation_time #creation_time} => Time
224
+ # * {Types::FileSystemDescription#life_cycle_state #life_cycle_state} => String
225
+ # * {Types::FileSystemDescription#name #name} => String
226
+ # * {Types::FileSystemDescription#number_of_mount_targets #number_of_mount_targets} => Integer
227
+ # * {Types::FileSystemDescription#size_in_bytes #size_in_bytes} => Types::FileSystemSize
228
+ # * {Types::FileSystemDescription#performance_mode #performance_mode} => String
229
+ #
230
+ # @example Request syntax with placeholder values
231
+ #
232
+ # resp = client.create_file_system({
233
+ # creation_token: "CreationToken", # required
234
+ # performance_mode: "generalPurpose", # accepts generalPurpose, maxIO
235
+ # })
236
+ #
237
+ # @example Response structure
238
+ #
239
+ # resp.owner_id #=> String
240
+ # resp.creation_token #=> String
241
+ # resp.file_system_id #=> String
242
+ # resp.creation_time #=> Time
243
+ # resp.life_cycle_state #=> String, one of "creating", "available", "deleting", "deleted"
244
+ # resp.name #=> String
245
+ # resp.number_of_mount_targets #=> Integer
246
+ # resp.size_in_bytes.value #=> Integer
247
+ # resp.size_in_bytes.timestamp #=> Time
248
+ # resp.performance_mode #=> String, one of "generalPurpose", "maxIO"
249
+ #
250
+ # @overload create_file_system(params = {})
251
+ # @param [Hash] params ({})
252
+ def create_file_system(params = {}, options = {})
253
+ req = build_request(:create_file_system, params)
254
+ req.send_request(options)
255
+ end
394
256
 
395
- # Creates or overwrites tags associated with a file system. Each tag is
396
- # a key-value pair. If a tag key specified in the request already exists
397
- # on the file system, this operation overwrites its value with the value
398
- # provided in the request. If you add the `Name` tag to your file
399
- # system, Amazon EFS returns it in the response to the
400
- # DescribeFileSystems operation.
401
- #
402
- # This operation requires permission for the
403
- # `elasticfilesystem:CreateTags` action.
404
- # @option params [required, String] :file_system_id
405
- # ID of the file system whose tags you want to modify (String). This
406
- # operation modifies the tags only, not the file system.
407
- # @option params [required, Array<Types::Tag>] :tags
408
- # Array of `Tag` objects to add. Each `Tag` object is a key-value pair.
409
- # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
410
- #
411
- # @example Request syntax with placeholder values
412
- # resp = client.create_tags({
413
- # file_system_id: "FileSystemId", # required
414
- # tags: [ # required
415
- # {
416
- # key: "TagKey", # required
417
- # value: "TagValue", # required
418
- # },
419
- # ],
420
- # })
421
- # @overload create_tags(params = {})
422
- # @param [Hash] params ({})
423
- def create_tags(params = {}, options = {})
424
- req = build_request(:create_tags, params)
425
- req.send_request(options)
426
- end
257
+ # Creates a mount target for a file system. You can then mount the file
258
+ # system on EC2 instances via the mount target.
259
+ #
260
+ # You can create one mount target in each Availability Zone in your VPC.
261
+ # All EC2 instances in a VPC within a given Availability Zone share a
262
+ # single mount target for a given file system. If you have multiple
263
+ # subnets in an Availability Zone, you create a mount target in one of
264
+ # the subnets. EC2 instances do not need to be in the same subnet as the
265
+ # mount target in order to access their file system. For more
266
+ # information, see [Amazon EFS: How it Works][1].
267
+ #
268
+ # In the request, you also specify a file system ID for which you are
269
+ # creating the mount target and the file system's lifecycle state must
270
+ # be `available`. For more information, see DescribeFileSystems.
271
+ #
272
+ # In the request, you also provide a subnet ID, which determines the
273
+ # following:
274
+ #
275
+ # * VPC in which Amazon EFS creates the mount target
276
+ #
277
+ # * Availability Zone in which Amazon EFS creates the mount target
278
+ #
279
+ # * IP address range from which Amazon EFS selects the IP address of the
280
+ # mount target (if you don't specify an IP address in the request)
281
+ #
282
+ # After creating the mount target, Amazon EFS returns a response that
283
+ # includes, a `MountTargetId` and an `IpAddress`. You use this IP
284
+ # address when mounting the file system in an EC2 instance. You can also
285
+ # use the mount target's DNS name when mounting the file system. The
286
+ # EC2 instance on which you mount the file system via the mount target
287
+ # can resolve the mount target's DNS name to its IP address. For more
288
+ # information, see [How it Works: Implementation Overview][2].
289
+ #
290
+ # Note that you can create mount targets for a file system in only one
291
+ # VPC, and there can be only one mount target per Availability Zone.
292
+ # That is, if the file system already has one or more mount targets
293
+ # created for it, the subnet specified in the request to add another
294
+ # mount target must meet the following requirements:
295
+ #
296
+ # * Must belong to the same VPC as the subnets of the existing mount
297
+ # targets
298
+ #
299
+ # * Must not be in the same Availability Zone as any of the subnets of
300
+ # the existing mount targets
301
+ #
302
+ # If the request satisfies the requirements, Amazon EFS does the
303
+ # following:
304
+ #
305
+ # * Creates a new mount target in the specified subnet.
306
+ #
307
+ # * Also creates a new network interface in the subnet as follows:
308
+ #
309
+ # * If the request provides an `IpAddress`, Amazon EFS assigns that IP
310
+ # address to the network interface. Otherwise, Amazon EFS assigns a
311
+ # free address in the subnet (in the same way that the Amazon EC2
312
+ # `CreateNetworkInterface` call does when a request does not specify
313
+ # a primary private IP address).
314
+ #
315
+ # * If the request provides `SecurityGroups`, this network interface
316
+ # is associated with those security groups. Otherwise, it belongs to
317
+ # the default security group for the subnet's VPC.
318
+ #
319
+ # * Assigns the description `Mount target fsmt-id for file system
320
+ # fs-id ` where ` fsmt-id ` is the mount target ID, and ` fs-id ` is
321
+ # the `FileSystemId`.
322
+ #
323
+ # * Sets the `requesterManaged` property of the network interface to
324
+ # `true`, and the `requesterId` value to `EFS`.
325
+ #
326
+ # Each Amazon EFS mount target has one corresponding requester-managed
327
+ # EC2 network interface. After the network interface is created,
328
+ # Amazon EFS sets the `NetworkInterfaceId` field in the mount
329
+ # target's description to the network interface ID, and the
330
+ # `IpAddress` field to its address. If network interface creation
331
+ # fails, the entire `CreateMountTarget` operation fails.
332
+ #
333
+ # <note markdown="1"> The `CreateMountTarget` call returns only after creating the network
334
+ # interface, but while the mount target state is still `creating`, you
335
+ # can check the mount target creation status by calling the
336
+ # DescribeMountTargets operation, which among other things returns the
337
+ # mount target state.
338
+ #
339
+ # </note>
340
+ #
341
+ # We recommend you create a mount target in each of the Availability
342
+ # Zones. There are cost considerations for using a file system in an
343
+ # Availability Zone through a mount target created in another
344
+ # Availability Zone. For more information, see [Amazon EFS][3]. In
345
+ # addition, by always using a mount target local to the instance's
346
+ # Availability Zone, you eliminate a partial failure scenario. If the
347
+ # Availability Zone in which your mount target is created goes down,
348
+ # then you won't be able to access your file system through that mount
349
+ # target.
350
+ #
351
+ # This operation requires permissions for the following action on the
352
+ # file system:
353
+ #
354
+ # * `elasticfilesystem:CreateMountTarget`
355
+ #
356
+ # ^
357
+ #
358
+ # This operation also requires permissions for the following Amazon EC2
359
+ # actions:
360
+ #
361
+ # * `ec2:DescribeSubnets`
362
+ #
363
+ # * `ec2:DescribeNetworkInterfaces`
364
+ #
365
+ # * `ec2:CreateNetworkInterface`
366
+ #
367
+ #
368
+ #
369
+ # [1]: http://docs.aws.amazon.com/efs/latest/ug/how-it-works.html
370
+ # [2]: http://docs.aws.amazon.com/efs/latest/ug/how-it-works.html#how-it-works-implementation
371
+ # [3]: http://aws.amazon.com/efs/
372
+ #
373
+ # @option params [required, String] :file_system_id
374
+ # ID of the file system for which to create the mount target.
375
+ #
376
+ # @option params [required, String] :subnet_id
377
+ # ID of the subnet to add the mount target in.
378
+ #
379
+ # @option params [String] :ip_address
380
+ # Valid IPv4 address within the address range of the specified subnet.
381
+ #
382
+ # @option params [Array<String>] :security_groups
383
+ # Up to five VPC security group IDs, of the form `sg-xxxxxxxx`. These
384
+ # must be for the same VPC as subnet specified.
385
+ #
386
+ # @return [Types::MountTargetDescription] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
387
+ #
388
+ # * {Types::MountTargetDescription#owner_id #owner_id} => String
389
+ # * {Types::MountTargetDescription#mount_target_id #mount_target_id} => String
390
+ # * {Types::MountTargetDescription#file_system_id #file_system_id} => String
391
+ # * {Types::MountTargetDescription#subnet_id #subnet_id} => String
392
+ # * {Types::MountTargetDescription#life_cycle_state #life_cycle_state} => String
393
+ # * {Types::MountTargetDescription#ip_address #ip_address} => String
394
+ # * {Types::MountTargetDescription#network_interface_id #network_interface_id} => String
395
+ #
396
+ # @example Request syntax with placeholder values
397
+ #
398
+ # resp = client.create_mount_target({
399
+ # file_system_id: "FileSystemId", # required
400
+ # subnet_id: "SubnetId", # required
401
+ # ip_address: "IpAddress",
402
+ # security_groups: ["SecurityGroup"],
403
+ # })
404
+ #
405
+ # @example Response structure
406
+ #
407
+ # resp.owner_id #=> String
408
+ # resp.mount_target_id #=> String
409
+ # resp.file_system_id #=> String
410
+ # resp.subnet_id #=> String
411
+ # resp.life_cycle_state #=> String, one of "creating", "available", "deleting", "deleted"
412
+ # resp.ip_address #=> String
413
+ # resp.network_interface_id #=> String
414
+ #
415
+ # @overload create_mount_target(params = {})
416
+ # @param [Hash] params ({})
417
+ def create_mount_target(params = {}, options = {})
418
+ req = build_request(:create_mount_target, params)
419
+ req.send_request(options)
420
+ end
427
421
 
428
- # Deletes a file system, permanently severing access to its contents.
429
- # Upon return, the file system no longer exists and you can't access
430
- # any contents of the deleted file system.
431
- #
432
- # You can't delete a file system that is in use. That is, if the file
433
- # system has any mount targets, you must first delete them. For more
434
- # information, see DescribeMountTargets and DeleteMountTarget.
435
- #
436
- # <note markdown="1"> The `DeleteFileSystem` call returns while the file system state is
437
- # still `deleting`. You can check the file system deletion status by
438
- # calling the DescribeFileSystems operation, which returns a list of
439
- # file systems in your account. If you pass file system ID or creation
440
- # token for the deleted file system, the DescribeFileSystems returns a
441
- # `404 FileSystemNotFound` error.
442
- #
443
- # </note>
444
- #
445
- # This operation requires permissions for the
446
- # `elasticfilesystem:DeleteFileSystem` action.
447
- # @option params [required, String] :file_system_id
448
- # ID of the file system you want to delete.
449
- # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
450
- #
451
- # @example Request syntax with placeholder values
452
- # resp = client.delete_file_system({
453
- # file_system_id: "FileSystemId", # required
454
- # })
455
- # @overload delete_file_system(params = {})
456
- # @param [Hash] params ({})
457
- def delete_file_system(params = {}, options = {})
458
- req = build_request(:delete_file_system, params)
459
- req.send_request(options)
460
- end
422
+ # Creates or overwrites tags associated with a file system. Each tag is
423
+ # a key-value pair. If a tag key specified in the request already exists
424
+ # on the file system, this operation overwrites its value with the value
425
+ # provided in the request. If you add the `Name` tag to your file
426
+ # system, Amazon EFS returns it in the response to the
427
+ # DescribeFileSystems operation.
428
+ #
429
+ # This operation requires permission for the
430
+ # `elasticfilesystem:CreateTags` action.
431
+ #
432
+ # @option params [required, String] :file_system_id
433
+ # ID of the file system whose tags you want to modify (String). This
434
+ # operation modifies the tags only, not the file system.
435
+ #
436
+ # @option params [required, Array<Types::Tag>] :tags
437
+ # Array of `Tag` objects to add. Each `Tag` object is a key-value pair.
438
+ #
439
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
440
+ #
441
+ # @example Request syntax with placeholder values
442
+ #
443
+ # resp = client.create_tags({
444
+ # file_system_id: "FileSystemId", # required
445
+ # tags: [ # required
446
+ # {
447
+ # key: "TagKey", # required
448
+ # value: "TagValue", # required
449
+ # },
450
+ # ],
451
+ # })
452
+ #
453
+ # @overload create_tags(params = {})
454
+ # @param [Hash] params ({})
455
+ def create_tags(params = {}, options = {})
456
+ req = build_request(:create_tags, params)
457
+ req.send_request(options)
458
+ end
461
459
 
462
- # Deletes the specified mount target.
463
- #
464
- # This operation forcibly breaks any mounts of the file system via the
465
- # mount target that is being deleted, which might disrupt instances or
466
- # applications using those mounts. To avoid applications getting cut off
467
- # abruptly, you might consider unmounting any mounts of the mount
468
- # target, if feasible. The operation also deletes the associated network
469
- # interface. Uncommitted writes may be lost, but breaking a mount target
470
- # using this operation does not corrupt the file system itself. The file
471
- # system you created remains. You can mount an EC2 instance in your VPC
472
- # via another mount target.
473
- #
474
- # This operation requires permissions for the following action on the
475
- # file system:
476
- #
477
- # * `elasticfilesystem:DeleteMountTarget`
478
- #
479
- # ^
480
- #
481
- # <note markdown="1"> The `DeleteMountTarget` call returns while the mount target state is
482
- # still `deleting`. You can check the mount target deletion by calling
483
- # the DescribeMountTargets operation, which returns a list of mount
484
- # target descriptions for the given file system.
485
- #
486
- # </note>
487
- #
488
- # The operation also requires permissions for the following Amazon EC2
489
- # action on the mount target's network interface:
490
- #
491
- # * `ec2:DeleteNetworkInterface`
492
- #
493
- # ^
494
- # @option params [required, String] :mount_target_id
495
- # ID of the mount target to delete (String).
496
- # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
497
- #
498
- # @example Request syntax with placeholder values
499
- # resp = client.delete_mount_target({
500
- # mount_target_id: "MountTargetId", # required
501
- # })
502
- # @overload delete_mount_target(params = {})
503
- # @param [Hash] params ({})
504
- def delete_mount_target(params = {}, options = {})
505
- req = build_request(:delete_mount_target, params)
506
- req.send_request(options)
507
- end
460
+ # Deletes a file system, permanently severing access to its contents.
461
+ # Upon return, the file system no longer exists and you can't access
462
+ # any contents of the deleted file system.
463
+ #
464
+ # You can't delete a file system that is in use. That is, if the file
465
+ # system has any mount targets, you must first delete them. For more
466
+ # information, see DescribeMountTargets and DeleteMountTarget.
467
+ #
468
+ # <note markdown="1"> The `DeleteFileSystem` call returns while the file system state is
469
+ # still `deleting`. You can check the file system deletion status by
470
+ # calling the DescribeFileSystems operation, which returns a list of
471
+ # file systems in your account. If you pass file system ID or creation
472
+ # token for the deleted file system, the DescribeFileSystems returns a
473
+ # `404 FileSystemNotFound` error.
474
+ #
475
+ # </note>
476
+ #
477
+ # This operation requires permissions for the
478
+ # `elasticfilesystem:DeleteFileSystem` action.
479
+ #
480
+ # @option params [required, String] :file_system_id
481
+ # ID of the file system you want to delete.
482
+ #
483
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
484
+ #
485
+ # @example Request syntax with placeholder values
486
+ #
487
+ # resp = client.delete_file_system({
488
+ # file_system_id: "FileSystemId", # required
489
+ # })
490
+ #
491
+ # @overload delete_file_system(params = {})
492
+ # @param [Hash] params ({})
493
+ def delete_file_system(params = {}, options = {})
494
+ req = build_request(:delete_file_system, params)
495
+ req.send_request(options)
496
+ end
508
497
 
509
- # Deletes the specified tags from a file system. If the `DeleteTags`
510
- # request includes a tag key that does not exist, Amazon EFS ignores it
511
- # and doesn't cause an error. For more information about tags and
512
- # related restrictions, see [Tag Restrictions][1] in the *AWS Billing
513
- # and Cost Management User Guide*.
514
- #
515
- # This operation requires permissions for the
516
- # `elasticfilesystem:DeleteTags` action.
517
- #
518
- #
519
- #
520
- # [1]: http://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html
521
- # @option params [required, String] :file_system_id
522
- # ID of the file system whose tags you want to delete (String).
523
- # @option params [required, Array<String>] :tag_keys
524
- # List of tag keys to delete.
525
- # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
526
- #
527
- # @example Request syntax with placeholder values
528
- # resp = client.delete_tags({
529
- # file_system_id: "FileSystemId", # required
530
- # tag_keys: ["TagKey"], # required
531
- # })
532
- # @overload delete_tags(params = {})
533
- # @param [Hash] params ({})
534
- def delete_tags(params = {}, options = {})
535
- req = build_request(:delete_tags, params)
536
- req.send_request(options)
537
- end
498
+ # Deletes the specified mount target.
499
+ #
500
+ # This operation forcibly breaks any mounts of the file system via the
501
+ # mount target that is being deleted, which might disrupt instances or
502
+ # applications using those mounts. To avoid applications getting cut off
503
+ # abruptly, you might consider unmounting any mounts of the mount
504
+ # target, if feasible. The operation also deletes the associated network
505
+ # interface. Uncommitted writes may be lost, but breaking a mount target
506
+ # using this operation does not corrupt the file system itself. The file
507
+ # system you created remains. You can mount an EC2 instance in your VPC
508
+ # via another mount target.
509
+ #
510
+ # This operation requires permissions for the following action on the
511
+ # file system:
512
+ #
513
+ # * `elasticfilesystem:DeleteMountTarget`
514
+ #
515
+ # ^
516
+ #
517
+ # <note markdown="1"> The `DeleteMountTarget` call returns while the mount target state is
518
+ # still `deleting`. You can check the mount target deletion by calling
519
+ # the DescribeMountTargets operation, which returns a list of mount
520
+ # target descriptions for the given file system.
521
+ #
522
+ # </note>
523
+ #
524
+ # The operation also requires permissions for the following Amazon EC2
525
+ # action on the mount target's network interface:
526
+ #
527
+ # * `ec2:DeleteNetworkInterface`
528
+ #
529
+ # ^
530
+ #
531
+ # @option params [required, String] :mount_target_id
532
+ # ID of the mount target to delete (String).
533
+ #
534
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
535
+ #
536
+ # @example Request syntax with placeholder values
537
+ #
538
+ # resp = client.delete_mount_target({
539
+ # mount_target_id: "MountTargetId", # required
540
+ # })
541
+ #
542
+ # @overload delete_mount_target(params = {})
543
+ # @param [Hash] params ({})
544
+ def delete_mount_target(params = {}, options = {})
545
+ req = build_request(:delete_mount_target, params)
546
+ req.send_request(options)
547
+ end
538
548
 
539
- # Returns the description of a specific Amazon EFS file system if either
540
- # the file system `CreationToken` or the `FileSystemId` is provided.
541
- # Otherwise, it returns descriptions of all file systems owned by the
542
- # caller's AWS account in the AWS Region of the endpoint that you're
543
- # calling.
544
- #
545
- # When retrieving all file system descriptions, you can optionally
546
- # specify the `MaxItems` parameter to limit the number of descriptions
547
- # in a response. If more file system descriptions remain, Amazon EFS
548
- # returns a `NextMarker`, an opaque token, in the response. In this
549
- # case, you should send a subsequent request with the `Marker` request
550
- # parameter set to the value of `NextMarker`.
551
- #
552
- # To retrieve a list of your file system descriptions, this operation is
553
- # used in an iterative process, where `DescribeFileSystems` is called
554
- # first without the `Marker` and then the operation continues to call it
555
- # with the `Marker` parameter set to the value of the `NextMarker` from
556
- # the previous response until the response has no `NextMarker`.
557
- #
558
- # The implementation may return fewer than `MaxItems` file system
559
- # descriptions while still including a `NextMarker` value.
560
- #
561
- # The order of file systems returned in the response of one
562
- # `DescribeFileSystems` call and the order of file systems returned
563
- # across the responses of a multi-call iteration is unspecified.
564
- #
565
- # This operation requires permissions for the
566
- # `elasticfilesystem:DescribeFileSystems` action.
567
- # @option params [Integer] :max_items
568
- # (Optional) Specifies the maximum number of file systems to return in
569
- # the response (integer). This parameter value must be greater than 0.
570
- # The number of items that Amazon EFS returns is the minimum of the
571
- # `MaxItems` parameter specified in the request and the service's
572
- # internal maximum number of items per page.
573
- # @option params [String] :marker
574
- # (Optional) Opaque pagination token returned from a previous
575
- # `DescribeFileSystems` operation (String). If present, specifies to
576
- # continue the list from where the returning call had left off.
577
- # @option params [String] :creation_token
578
- # (Optional) Restricts the list to the file system with this creation
579
- # token (String). You specify a creation token when you create an Amazon
580
- # EFS file system.
581
- # @option params [String] :file_system_id
582
- # (Optional) ID of the file system whose description you want to
583
- # retrieve (String).
584
- # @return [Types::DescribeFileSystemsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
585
- #
586
- # * {Types::DescribeFileSystemsResponse#marker #Marker} => String
587
- # * {Types::DescribeFileSystemsResponse#file_systems #FileSystems} => Array&lt;Types::FileSystemDescription&gt;
588
- # * {Types::DescribeFileSystemsResponse#next_marker #NextMarker} => String
589
- #
590
- # @example Request syntax with placeholder values
591
- # resp = client.describe_file_systems({
592
- # max_items: 1,
593
- # marker: "Marker",
594
- # creation_token: "CreationToken",
595
- # file_system_id: "FileSystemId",
596
- # })
597
- #
598
- # @example Response structure
599
- # resp.marker #=> String
600
- # resp.file_systems #=> Array
601
- # resp.file_systems[0].owner_id #=> String
602
- # resp.file_systems[0].creation_token #=> String
603
- # resp.file_systems[0].file_system_id #=> String
604
- # resp.file_systems[0].creation_time #=> Time
605
- # resp.file_systems[0].life_cycle_state #=> String, one of "creating", "available", "deleting", "deleted"
606
- # resp.file_systems[0].name #=> String
607
- # resp.file_systems[0].number_of_mount_targets #=> Integer
608
- # resp.file_systems[0].size_in_bytes.value #=> Integer
609
- # resp.file_systems[0].size_in_bytes.timestamp #=> Time
610
- # resp.file_systems[0].performance_mode #=> String, one of "generalPurpose", "maxIO"
611
- # resp.next_marker #=> String
612
- # @overload describe_file_systems(params = {})
613
- # @param [Hash] params ({})
614
- def describe_file_systems(params = {}, options = {})
615
- req = build_request(:describe_file_systems, params)
616
- req.send_request(options)
617
- end
549
+ # Deletes the specified tags from a file system. If the `DeleteTags`
550
+ # request includes a tag key that does not exist, Amazon EFS ignores it
551
+ # and doesn't cause an error. For more information about tags and
552
+ # related restrictions, see [Tag Restrictions][1] in the *AWS Billing
553
+ # and Cost Management User Guide*.
554
+ #
555
+ # This operation requires permissions for the
556
+ # `elasticfilesystem:DeleteTags` action.
557
+ #
558
+ #
559
+ #
560
+ # [1]: http://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html
561
+ #
562
+ # @option params [required, String] :file_system_id
563
+ # ID of the file system whose tags you want to delete (String).
564
+ #
565
+ # @option params [required, Array<String>] :tag_keys
566
+ # List of tag keys to delete.
567
+ #
568
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
569
+ #
570
+ # @example Request syntax with placeholder values
571
+ #
572
+ # resp = client.delete_tags({
573
+ # file_system_id: "FileSystemId", # required
574
+ # tag_keys: ["TagKey"], # required
575
+ # })
576
+ #
577
+ # @overload delete_tags(params = {})
578
+ # @param [Hash] params ({})
579
+ def delete_tags(params = {}, options = {})
580
+ req = build_request(:delete_tags, params)
581
+ req.send_request(options)
582
+ end
618
583
 
619
- # Returns the security groups currently in effect for a mount target.
620
- # This operation requires that the network interface of the mount target
621
- # has been created and the lifecycle state of the mount target is not
622
- # `deleted`.
623
- #
624
- # This operation requires permissions for the following actions:
625
- #
626
- # * `elasticfilesystem:DescribeMountTargetSecurityGroups` action on the
627
- # mount target's file system.
628
- #
629
- # * `ec2:DescribeNetworkInterfaceAttribute` action on the mount
630
- # target's network interface.
631
- # @option params [required, String] :mount_target_id
632
- # ID of the mount target whose security groups you want to retrieve.
633
- # @return [Types::DescribeMountTargetSecurityGroupsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
634
- #
635
- # * {Types::DescribeMountTargetSecurityGroupsResponse#security_groups #SecurityGroups} => Array&lt;String&gt;
636
- #
637
- # @example Request syntax with placeholder values
638
- # resp = client.describe_mount_target_security_groups({
639
- # mount_target_id: "MountTargetId", # required
640
- # })
641
- #
642
- # @example Response structure
643
- # resp.security_groups #=> Array
644
- # resp.security_groups[0] #=> String
645
- # @overload describe_mount_target_security_groups(params = {})
646
- # @param [Hash] params ({})
647
- def describe_mount_target_security_groups(params = {}, options = {})
648
- req = build_request(:describe_mount_target_security_groups, params)
649
- req.send_request(options)
650
- end
584
+ # Returns the description of a specific Amazon EFS file system if either
585
+ # the file system `CreationToken` or the `FileSystemId` is provided.
586
+ # Otherwise, it returns descriptions of all file systems owned by the
587
+ # caller's AWS account in the AWS Region of the endpoint that you're
588
+ # calling.
589
+ #
590
+ # When retrieving all file system descriptions, you can optionally
591
+ # specify the `MaxItems` parameter to limit the number of descriptions
592
+ # in a response. If more file system descriptions remain, Amazon EFS
593
+ # returns a `NextMarker`, an opaque token, in the response. In this
594
+ # case, you should send a subsequent request with the `Marker` request
595
+ # parameter set to the value of `NextMarker`.
596
+ #
597
+ # To retrieve a list of your file system descriptions, this operation is
598
+ # used in an iterative process, where `DescribeFileSystems` is called
599
+ # first without the `Marker` and then the operation continues to call it
600
+ # with the `Marker` parameter set to the value of the `NextMarker` from
601
+ # the previous response until the response has no `NextMarker`.
602
+ #
603
+ # The implementation may return fewer than `MaxItems` file system
604
+ # descriptions while still including a `NextMarker` value.
605
+ #
606
+ # The order of file systems returned in the response of one
607
+ # `DescribeFileSystems` call and the order of file systems returned
608
+ # across the responses of a multi-call iteration is unspecified.
609
+ #
610
+ # This operation requires permissions for the
611
+ # `elasticfilesystem:DescribeFileSystems` action.
612
+ #
613
+ # @option params [Integer] :max_items
614
+ # (Optional) Specifies the maximum number of file systems to return in
615
+ # the response (integer). This parameter value must be greater than 0.
616
+ # The number of items that Amazon EFS returns is the minimum of the
617
+ # `MaxItems` parameter specified in the request and the service's
618
+ # internal maximum number of items per page.
619
+ #
620
+ # @option params [String] :marker
621
+ # (Optional) Opaque pagination token returned from a previous
622
+ # `DescribeFileSystems` operation (String). If present, specifies to
623
+ # continue the list from where the returning call had left off.
624
+ #
625
+ # @option params [String] :creation_token
626
+ # (Optional) Restricts the list to the file system with this creation
627
+ # token (String). You specify a creation token when you create an Amazon
628
+ # EFS file system.
629
+ #
630
+ # @option params [String] :file_system_id
631
+ # (Optional) ID of the file system whose description you want to
632
+ # retrieve (String).
633
+ #
634
+ # @return [Types::DescribeFileSystemsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
635
+ #
636
+ # * {Types::DescribeFileSystemsResponse#marker #marker} => String
637
+ # * {Types::DescribeFileSystemsResponse#file_systems #file_systems} => Array&lt;Types::FileSystemDescription&gt;
638
+ # * {Types::DescribeFileSystemsResponse#next_marker #next_marker} => String
639
+ #
640
+ # @example Request syntax with placeholder values
641
+ #
642
+ # resp = client.describe_file_systems({
643
+ # max_items: 1,
644
+ # marker: "Marker",
645
+ # creation_token: "CreationToken",
646
+ # file_system_id: "FileSystemId",
647
+ # })
648
+ #
649
+ # @example Response structure
650
+ #
651
+ # resp.marker #=> String
652
+ # resp.file_systems #=> Array
653
+ # resp.file_systems[0].owner_id #=> String
654
+ # resp.file_systems[0].creation_token #=> String
655
+ # resp.file_systems[0].file_system_id #=> String
656
+ # resp.file_systems[0].creation_time #=> Time
657
+ # resp.file_systems[0].life_cycle_state #=> String, one of "creating", "available", "deleting", "deleted"
658
+ # resp.file_systems[0].name #=> String
659
+ # resp.file_systems[0].number_of_mount_targets #=> Integer
660
+ # resp.file_systems[0].size_in_bytes.value #=> Integer
661
+ # resp.file_systems[0].size_in_bytes.timestamp #=> Time
662
+ # resp.file_systems[0].performance_mode #=> String, one of "generalPurpose", "maxIO"
663
+ # resp.next_marker #=> String
664
+ #
665
+ # @overload describe_file_systems(params = {})
666
+ # @param [Hash] params ({})
667
+ def describe_file_systems(params = {}, options = {})
668
+ req = build_request(:describe_file_systems, params)
669
+ req.send_request(options)
670
+ end
651
671
 
652
- # Returns the descriptions of all the current mount targets, or a
653
- # specific mount target, for a file system. When requesting all of the
654
- # current mount targets, the order of mount targets returned in the
655
- # response is unspecified.
656
- #
657
- # This operation requires permissions for the
658
- # `elasticfilesystem:DescribeMountTargets` action, on either the file
659
- # system ID that you specify in `FileSystemId`, or on the file system of
660
- # the mount target that you specify in `MountTargetId`.
661
- # @option params [Integer] :max_items
662
- # (Optional) Maximum number of mount targets to return in the response.
663
- # It must be an integer with a value greater than zero.
664
- # @option params [String] :marker
665
- # (Optional) Opaque pagination token returned from a previous
666
- # `DescribeMountTargets` operation (String). If present, it specifies to
667
- # continue the list from where the previous returning call left off.
668
- # @option params [String] :file_system_id
669
- # (Optional) ID of the file system whose mount targets you want to list
670
- # (String). It must be included in your request if `MountTargetId` is
671
- # not included.
672
- # @option params [String] :mount_target_id
673
- # (Optional) ID of the mount target that you want to have described
674
- # (String). It must be included in your request if `FileSystemId` is not
675
- # included.
676
- # @return [Types::DescribeMountTargetsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
677
- #
678
- # * {Types::DescribeMountTargetsResponse#marker #Marker} => String
679
- # * {Types::DescribeMountTargetsResponse#mount_targets #MountTargets} => Array&lt;Types::MountTargetDescription&gt;
680
- # * {Types::DescribeMountTargetsResponse#next_marker #NextMarker} => String
681
- #
682
- # @example Request syntax with placeholder values
683
- # resp = client.describe_mount_targets({
684
- # max_items: 1,
685
- # marker: "Marker",
686
- # file_system_id: "FileSystemId",
687
- # mount_target_id: "MountTargetId",
688
- # })
689
- #
690
- # @example Response structure
691
- # resp.marker #=> String
692
- # resp.mount_targets #=> Array
693
- # resp.mount_targets[0].owner_id #=> String
694
- # resp.mount_targets[0].mount_target_id #=> String
695
- # resp.mount_targets[0].file_system_id #=> String
696
- # resp.mount_targets[0].subnet_id #=> String
697
- # resp.mount_targets[0].life_cycle_state #=> String, one of "creating", "available", "deleting", "deleted"
698
- # resp.mount_targets[0].ip_address #=> String
699
- # resp.mount_targets[0].network_interface_id #=> String
700
- # resp.next_marker #=> String
701
- # @overload describe_mount_targets(params = {})
702
- # @param [Hash] params ({})
703
- def describe_mount_targets(params = {}, options = {})
704
- req = build_request(:describe_mount_targets, params)
705
- req.send_request(options)
706
- end
672
+ # Returns the security groups currently in effect for a mount target.
673
+ # This operation requires that the network interface of the mount target
674
+ # has been created and the lifecycle state of the mount target is not
675
+ # `deleted`.
676
+ #
677
+ # This operation requires permissions for the following actions:
678
+ #
679
+ # * `elasticfilesystem:DescribeMountTargetSecurityGroups` action on the
680
+ # mount target's file system.
681
+ #
682
+ # * `ec2:DescribeNetworkInterfaceAttribute` action on the mount
683
+ # target's network interface.
684
+ #
685
+ # @option params [required, String] :mount_target_id
686
+ # ID of the mount target whose security groups you want to retrieve.
687
+ #
688
+ # @return [Types::DescribeMountTargetSecurityGroupsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
689
+ #
690
+ # * {Types::DescribeMountTargetSecurityGroupsResponse#security_groups #security_groups} => Array&lt;String&gt;
691
+ #
692
+ # @example Request syntax with placeholder values
693
+ #
694
+ # resp = client.describe_mount_target_security_groups({
695
+ # mount_target_id: "MountTargetId", # required
696
+ # })
697
+ #
698
+ # @example Response structure
699
+ #
700
+ # resp.security_groups #=> Array
701
+ # resp.security_groups[0] #=> String
702
+ #
703
+ # @overload describe_mount_target_security_groups(params = {})
704
+ # @param [Hash] params ({})
705
+ def describe_mount_target_security_groups(params = {}, options = {})
706
+ req = build_request(:describe_mount_target_security_groups, params)
707
+ req.send_request(options)
708
+ end
707
709
 
708
- # Returns the tags associated with a file system. The order of tags
709
- # returned in the response of one `DescribeTags` call and the order of
710
- # tags returned across the responses of a multi-call iteration (when
711
- # using pagination) is unspecified.
712
- #
713
- # This operation requires permissions for the
714
- # `elasticfilesystem:DescribeTags` action.
715
- # @option params [Integer] :max_items
716
- # (Optional) Maximum number of file system tags to return in the
717
- # response. It must be an integer with a value greater than zero.
718
- # @option params [String] :marker
719
- # (Optional) Opaque pagination token returned from a previous
720
- # `DescribeTags` operation (String). If present, it specifies to
721
- # continue the list from where the previous call left off.
722
- # @option params [required, String] :file_system_id
723
- # ID of the file system whose tag set you want to retrieve.
724
- # @return [Types::DescribeTagsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
725
- #
726
- # * {Types::DescribeTagsResponse#marker #Marker} => String
727
- # * {Types::DescribeTagsResponse#tags #Tags} => Array&lt;Types::Tag&gt;
728
- # * {Types::DescribeTagsResponse#next_marker #NextMarker} => String
729
- #
730
- # @example Request syntax with placeholder values
731
- # resp = client.describe_tags({
732
- # max_items: 1,
733
- # marker: "Marker",
734
- # file_system_id: "FileSystemId", # required
735
- # })
736
- #
737
- # @example Response structure
738
- # resp.marker #=> String
739
- # resp.tags #=> Array
740
- # resp.tags[0].key #=> String
741
- # resp.tags[0].value #=> String
742
- # resp.next_marker #=> String
743
- # @overload describe_tags(params = {})
744
- # @param [Hash] params ({})
745
- def describe_tags(params = {}, options = {})
746
- req = build_request(:describe_tags, params)
747
- req.send_request(options)
748
- end
710
+ # Returns the descriptions of all the current mount targets, or a
711
+ # specific mount target, for a file system. When requesting all of the
712
+ # current mount targets, the order of mount targets returned in the
713
+ # response is unspecified.
714
+ #
715
+ # This operation requires permissions for the
716
+ # `elasticfilesystem:DescribeMountTargets` action, on either the file
717
+ # system ID that you specify in `FileSystemId`, or on the file system of
718
+ # the mount target that you specify in `MountTargetId`.
719
+ #
720
+ # @option params [Integer] :max_items
721
+ # (Optional) Maximum number of mount targets to return in the response.
722
+ # It must be an integer with a value greater than zero.
723
+ #
724
+ # @option params [String] :marker
725
+ # (Optional) Opaque pagination token returned from a previous
726
+ # `DescribeMountTargets` operation (String). If present, it specifies to
727
+ # continue the list from where the previous returning call left off.
728
+ #
729
+ # @option params [String] :file_system_id
730
+ # (Optional) ID of the file system whose mount targets you want to list
731
+ # (String). It must be included in your request if `MountTargetId` is
732
+ # not included.
733
+ #
734
+ # @option params [String] :mount_target_id
735
+ # (Optional) ID of the mount target that you want to have described
736
+ # (String). It must be included in your request if `FileSystemId` is not
737
+ # included.
738
+ #
739
+ # @return [Types::DescribeMountTargetsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
740
+ #
741
+ # * {Types::DescribeMountTargetsResponse#marker #marker} => String
742
+ # * {Types::DescribeMountTargetsResponse#mount_targets #mount_targets} => Array&lt;Types::MountTargetDescription&gt;
743
+ # * {Types::DescribeMountTargetsResponse#next_marker #next_marker} => String
744
+ #
745
+ # @example Request syntax with placeholder values
746
+ #
747
+ # resp = client.describe_mount_targets({
748
+ # max_items: 1,
749
+ # marker: "Marker",
750
+ # file_system_id: "FileSystemId",
751
+ # mount_target_id: "MountTargetId",
752
+ # })
753
+ #
754
+ # @example Response structure
755
+ #
756
+ # resp.marker #=> String
757
+ # resp.mount_targets #=> Array
758
+ # resp.mount_targets[0].owner_id #=> String
759
+ # resp.mount_targets[0].mount_target_id #=> String
760
+ # resp.mount_targets[0].file_system_id #=> String
761
+ # resp.mount_targets[0].subnet_id #=> String
762
+ # resp.mount_targets[0].life_cycle_state #=> String, one of "creating", "available", "deleting", "deleted"
763
+ # resp.mount_targets[0].ip_address #=> String
764
+ # resp.mount_targets[0].network_interface_id #=> String
765
+ # resp.next_marker #=> String
766
+ #
767
+ # @overload describe_mount_targets(params = {})
768
+ # @param [Hash] params ({})
769
+ def describe_mount_targets(params = {}, options = {})
770
+ req = build_request(:describe_mount_targets, params)
771
+ req.send_request(options)
772
+ end
749
773
 
750
- # Modifies the set of security groups in effect for a mount target.
751
- #
752
- # When you create a mount target, Amazon EFS also creates a new network
753
- # interface. For more information, see CreateMountTarget. This operation
754
- # replaces the security groups in effect for the network interface
755
- # associated with a mount target, with the `SecurityGroups` provided in
756
- # the request. This operation requires that the network interface of the
757
- # mount target has been created and the lifecycle state of the mount
758
- # target is not `deleted`.
759
- #
760
- # The operation requires permissions for the following actions:
761
- #
762
- # * `elasticfilesystem:ModifyMountTargetSecurityGroups` action on the
763
- # mount target's file system.
764
- #
765
- # * `ec2:ModifyNetworkInterfaceAttribute` action on the mount target's
766
- # network interface.
767
- # @option params [required, String] :mount_target_id
768
- # ID of the mount target whose security groups you want to modify.
769
- # @option params [Array<String>] :security_groups
770
- # Array of up to five VPC security group IDs.
771
- # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
772
- #
773
- # @example Request syntax with placeholder values
774
- # resp = client.modify_mount_target_security_groups({
775
- # mount_target_id: "MountTargetId", # required
776
- # security_groups: ["SecurityGroup"],
777
- # })
778
- # @overload modify_mount_target_security_groups(params = {})
779
- # @param [Hash] params ({})
780
- def modify_mount_target_security_groups(params = {}, options = {})
781
- req = build_request(:modify_mount_target_security_groups, params)
782
- req.send_request(options)
783
- end
774
+ # Returns the tags associated with a file system. The order of tags
775
+ # returned in the response of one `DescribeTags` call and the order of
776
+ # tags returned across the responses of a multi-call iteration (when
777
+ # using pagination) is unspecified.
778
+ #
779
+ # This operation requires permissions for the
780
+ # `elasticfilesystem:DescribeTags` action.
781
+ #
782
+ # @option params [Integer] :max_items
783
+ # (Optional) Maximum number of file system tags to return in the
784
+ # response. It must be an integer with a value greater than zero.
785
+ #
786
+ # @option params [String] :marker
787
+ # (Optional) Opaque pagination token returned from a previous
788
+ # `DescribeTags` operation (String). If present, it specifies to
789
+ # continue the list from where the previous call left off.
790
+ #
791
+ # @option params [required, String] :file_system_id
792
+ # ID of the file system whose tag set you want to retrieve.
793
+ #
794
+ # @return [Types::DescribeTagsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
795
+ #
796
+ # * {Types::DescribeTagsResponse#marker #marker} => String
797
+ # * {Types::DescribeTagsResponse#tags #tags} => Array&lt;Types::Tag&gt;
798
+ # * {Types::DescribeTagsResponse#next_marker #next_marker} => String
799
+ #
800
+ # @example Request syntax with placeholder values
801
+ #
802
+ # resp = client.describe_tags({
803
+ # max_items: 1,
804
+ # marker: "Marker",
805
+ # file_system_id: "FileSystemId", # required
806
+ # })
807
+ #
808
+ # @example Response structure
809
+ #
810
+ # resp.marker #=> String
811
+ # resp.tags #=> Array
812
+ # resp.tags[0].key #=> String
813
+ # resp.tags[0].value #=> String
814
+ # resp.next_marker #=> String
815
+ #
816
+ # @overload describe_tags(params = {})
817
+ # @param [Hash] params ({})
818
+ def describe_tags(params = {}, options = {})
819
+ req = build_request(:describe_tags, params)
820
+ req.send_request(options)
821
+ end
784
822
 
785
- # @!endgroup
823
+ # Modifies the set of security groups in effect for a mount target.
824
+ #
825
+ # When you create a mount target, Amazon EFS also creates a new network
826
+ # interface. For more information, see CreateMountTarget. This operation
827
+ # replaces the security groups in effect for the network interface
828
+ # associated with a mount target, with the `SecurityGroups` provided in
829
+ # the request. This operation requires that the network interface of the
830
+ # mount target has been created and the lifecycle state of the mount
831
+ # target is not `deleted`.
832
+ #
833
+ # The operation requires permissions for the following actions:
834
+ #
835
+ # * `elasticfilesystem:ModifyMountTargetSecurityGroups` action on the
836
+ # mount target's file system.
837
+ #
838
+ # * `ec2:ModifyNetworkInterfaceAttribute` action on the mount target's
839
+ # network interface.
840
+ #
841
+ # @option params [required, String] :mount_target_id
842
+ # ID of the mount target whose security groups you want to modify.
843
+ #
844
+ # @option params [Array<String>] :security_groups
845
+ # Array of up to five VPC security group IDs.
846
+ #
847
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
848
+ #
849
+ # @example Request syntax with placeholder values
850
+ #
851
+ # resp = client.modify_mount_target_security_groups({
852
+ # mount_target_id: "MountTargetId", # required
853
+ # security_groups: ["SecurityGroup"],
854
+ # })
855
+ #
856
+ # @overload modify_mount_target_security_groups(params = {})
857
+ # @param [Hash] params ({})
858
+ def modify_mount_target_security_groups(params = {}, options = {})
859
+ req = build_request(:modify_mount_target_security_groups, params)
860
+ req.send_request(options)
861
+ end
786
862
 
787
- # @param params ({})
788
- # @api private
789
- def build_request(operation_name, params = {})
790
- handlers = @handlers.for(operation_name)
791
- context = Seahorse::Client::RequestContext.new(
792
- operation_name: operation_name,
793
- operation: config.api.operation(operation_name),
794
- client: self,
795
- params: params,
796
- config: config)
797
- context[:gem_name] = 'aws-sdk-efs'
798
- context[:gem_version] = '1.0.0.rc1'
799
- Seahorse::Client::Request.new(handlers, context)
800
- end
863
+ # @!endgroup
801
864
 
802
- # @api private
803
- # @deprecated
804
- def waiter_names
805
- []
806
- end
865
+ # @param params ({})
866
+ # @api private
867
+ def build_request(operation_name, params = {})
868
+ handlers = @handlers.for(operation_name)
869
+ context = Seahorse::Client::RequestContext.new(
870
+ operation_name: operation_name,
871
+ operation: config.api.operation(operation_name),
872
+ client: self,
873
+ params: params,
874
+ config: config)
875
+ context[:gem_name] = 'aws-sdk-efs'
876
+ context[:gem_version] = '1.0.0.rc1'
877
+ Seahorse::Client::Request.new(handlers, context)
878
+ end
807
879
 
808
- class << self
880
+ # @api private
881
+ # @deprecated
882
+ def waiter_names
883
+ []
884
+ end
809
885
 
810
- # @api private
811
- attr_reader :identifier
886
+ class << self
812
887
 
813
- # @api private
814
- def errors_module
815
- Errors
816
- end
888
+ # @api private
889
+ attr_reader :identifier
817
890
 
891
+ # @api private
892
+ def errors_module
893
+ Errors
818
894
  end
895
+
819
896
  end
820
897
  end
821
898
  end