aws-sdk-efs 1.0.0.rc1

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,335 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing for info on making contributions:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ module Aws
9
+ module EFS
10
+ # @api private
11
+ module ClientApi
12
+
13
+ include Seahorse::Model
14
+
15
+ AwsAccountId = Shapes::StringShape.new(name: 'AwsAccountId')
16
+ BadRequest = Shapes::StructureShape.new(name: 'BadRequest')
17
+ CreateFileSystemRequest = Shapes::StructureShape.new(name: 'CreateFileSystemRequest')
18
+ CreateMountTargetRequest = Shapes::StructureShape.new(name: 'CreateMountTargetRequest')
19
+ CreateTagsRequest = Shapes::StructureShape.new(name: 'CreateTagsRequest')
20
+ CreationToken = Shapes::StringShape.new(name: 'CreationToken')
21
+ DeleteFileSystemRequest = Shapes::StructureShape.new(name: 'DeleteFileSystemRequest')
22
+ DeleteMountTargetRequest = Shapes::StructureShape.new(name: 'DeleteMountTargetRequest')
23
+ DeleteTagsRequest = Shapes::StructureShape.new(name: 'DeleteTagsRequest')
24
+ DependencyTimeout = Shapes::StructureShape.new(name: 'DependencyTimeout')
25
+ DescribeFileSystemsRequest = Shapes::StructureShape.new(name: 'DescribeFileSystemsRequest')
26
+ DescribeFileSystemsResponse = Shapes::StructureShape.new(name: 'DescribeFileSystemsResponse')
27
+ DescribeMountTargetSecurityGroupsRequest = Shapes::StructureShape.new(name: 'DescribeMountTargetSecurityGroupsRequest')
28
+ DescribeMountTargetSecurityGroupsResponse = Shapes::StructureShape.new(name: 'DescribeMountTargetSecurityGroupsResponse')
29
+ DescribeMountTargetsRequest = Shapes::StructureShape.new(name: 'DescribeMountTargetsRequest')
30
+ DescribeMountTargetsResponse = Shapes::StructureShape.new(name: 'DescribeMountTargetsResponse')
31
+ DescribeTagsRequest = Shapes::StructureShape.new(name: 'DescribeTagsRequest')
32
+ DescribeTagsResponse = Shapes::StructureShape.new(name: 'DescribeTagsResponse')
33
+ ErrorCode = Shapes::StringShape.new(name: 'ErrorCode')
34
+ ErrorMessage = Shapes::StringShape.new(name: 'ErrorMessage')
35
+ FileSystemAlreadyExists = Shapes::StructureShape.new(name: 'FileSystemAlreadyExists')
36
+ FileSystemDescription = Shapes::StructureShape.new(name: 'FileSystemDescription')
37
+ FileSystemDescriptions = Shapes::ListShape.new(name: 'FileSystemDescriptions')
38
+ FileSystemId = Shapes::StringShape.new(name: 'FileSystemId')
39
+ FileSystemInUse = Shapes::StructureShape.new(name: 'FileSystemInUse')
40
+ FileSystemLimitExceeded = Shapes::StructureShape.new(name: 'FileSystemLimitExceeded')
41
+ FileSystemNotFound = Shapes::StructureShape.new(name: 'FileSystemNotFound')
42
+ FileSystemSize = Shapes::StructureShape.new(name: 'FileSystemSize')
43
+ FileSystemSizeValue = Shapes::IntegerShape.new(name: 'FileSystemSizeValue')
44
+ IncorrectFileSystemLifeCycleState = Shapes::StructureShape.new(name: 'IncorrectFileSystemLifeCycleState')
45
+ IncorrectMountTargetState = Shapes::StructureShape.new(name: 'IncorrectMountTargetState')
46
+ InternalServerError = Shapes::StructureShape.new(name: 'InternalServerError')
47
+ IpAddress = Shapes::StringShape.new(name: 'IpAddress')
48
+ IpAddressInUse = Shapes::StructureShape.new(name: 'IpAddressInUse')
49
+ LifeCycleState = Shapes::StringShape.new(name: 'LifeCycleState')
50
+ Marker = Shapes::StringShape.new(name: 'Marker')
51
+ MaxItems = Shapes::IntegerShape.new(name: 'MaxItems')
52
+ ModifyMountTargetSecurityGroupsRequest = Shapes::StructureShape.new(name: 'ModifyMountTargetSecurityGroupsRequest')
53
+ MountTargetConflict = Shapes::StructureShape.new(name: 'MountTargetConflict')
54
+ MountTargetCount = Shapes::IntegerShape.new(name: 'MountTargetCount')
55
+ MountTargetDescription = Shapes::StructureShape.new(name: 'MountTargetDescription')
56
+ MountTargetDescriptions = Shapes::ListShape.new(name: 'MountTargetDescriptions')
57
+ MountTargetId = Shapes::StringShape.new(name: 'MountTargetId')
58
+ MountTargetNotFound = Shapes::StructureShape.new(name: 'MountTargetNotFound')
59
+ NetworkInterfaceId = Shapes::StringShape.new(name: 'NetworkInterfaceId')
60
+ NetworkInterfaceLimitExceeded = Shapes::StructureShape.new(name: 'NetworkInterfaceLimitExceeded')
61
+ NoFreeAddressesInSubnet = Shapes::StructureShape.new(name: 'NoFreeAddressesInSubnet')
62
+ PerformanceMode = Shapes::StringShape.new(name: 'PerformanceMode')
63
+ SecurityGroup = Shapes::StringShape.new(name: 'SecurityGroup')
64
+ SecurityGroupLimitExceeded = Shapes::StructureShape.new(name: 'SecurityGroupLimitExceeded')
65
+ SecurityGroupNotFound = Shapes::StructureShape.new(name: 'SecurityGroupNotFound')
66
+ SecurityGroups = Shapes::ListShape.new(name: 'SecurityGroups')
67
+ SubnetId = Shapes::StringShape.new(name: 'SubnetId')
68
+ SubnetNotFound = Shapes::StructureShape.new(name: 'SubnetNotFound')
69
+ Tag = Shapes::StructureShape.new(name: 'Tag')
70
+ TagKey = Shapes::StringShape.new(name: 'TagKey')
71
+ TagKeys = Shapes::ListShape.new(name: 'TagKeys')
72
+ TagValue = Shapes::StringShape.new(name: 'TagValue')
73
+ Tags = Shapes::ListShape.new(name: 'Tags')
74
+ Timestamp = Shapes::TimestampShape.new(name: 'Timestamp')
75
+ UnsupportedAvailabilityZone = Shapes::StructureShape.new(name: 'UnsupportedAvailabilityZone')
76
+
77
+ CreateFileSystemRequest.add_member(:creation_token, Shapes::ShapeRef.new(shape: CreationToken, required: true, location_name: "CreationToken"))
78
+ CreateFileSystemRequest.add_member(:performance_mode, Shapes::ShapeRef.new(shape: PerformanceMode, location_name: "PerformanceMode"))
79
+ CreateFileSystemRequest.struct_class = Types::CreateFileSystemRequest
80
+
81
+ CreateMountTargetRequest.add_member(:file_system_id, Shapes::ShapeRef.new(shape: FileSystemId, required: true, location_name: "FileSystemId"))
82
+ CreateMountTargetRequest.add_member(:subnet_id, Shapes::ShapeRef.new(shape: SubnetId, required: true, location_name: "SubnetId"))
83
+ CreateMountTargetRequest.add_member(:ip_address, Shapes::ShapeRef.new(shape: IpAddress, location_name: "IpAddress"))
84
+ CreateMountTargetRequest.add_member(:security_groups, Shapes::ShapeRef.new(shape: SecurityGroups, location_name: "SecurityGroups"))
85
+ CreateMountTargetRequest.struct_class = Types::CreateMountTargetRequest
86
+
87
+ CreateTagsRequest.add_member(:file_system_id, Shapes::ShapeRef.new(shape: FileSystemId, required: true, location: "uri", location_name: "FileSystemId"))
88
+ CreateTagsRequest.add_member(:tags, Shapes::ShapeRef.new(shape: Tags, required: true, location_name: "Tags"))
89
+ CreateTagsRequest.struct_class = Types::CreateTagsRequest
90
+
91
+ DeleteFileSystemRequest.add_member(:file_system_id, Shapes::ShapeRef.new(shape: FileSystemId, required: true, location: "uri", location_name: "FileSystemId"))
92
+ DeleteFileSystemRequest.struct_class = Types::DeleteFileSystemRequest
93
+
94
+ DeleteMountTargetRequest.add_member(:mount_target_id, Shapes::ShapeRef.new(shape: MountTargetId, required: true, location: "uri", location_name: "MountTargetId"))
95
+ DeleteMountTargetRequest.struct_class = Types::DeleteMountTargetRequest
96
+
97
+ DeleteTagsRequest.add_member(:file_system_id, Shapes::ShapeRef.new(shape: FileSystemId, required: true, location: "uri", location_name: "FileSystemId"))
98
+ DeleteTagsRequest.add_member(:tag_keys, Shapes::ShapeRef.new(shape: TagKeys, required: true, location_name: "TagKeys"))
99
+ DeleteTagsRequest.struct_class = Types::DeleteTagsRequest
100
+
101
+ DescribeFileSystemsRequest.add_member(:max_items, Shapes::ShapeRef.new(shape: MaxItems, location: "querystring", location_name: "MaxItems"))
102
+ DescribeFileSystemsRequest.add_member(:marker, Shapes::ShapeRef.new(shape: Marker, location: "querystring", location_name: "Marker"))
103
+ DescribeFileSystemsRequest.add_member(:creation_token, Shapes::ShapeRef.new(shape: CreationToken, location: "querystring", location_name: "CreationToken"))
104
+ DescribeFileSystemsRequest.add_member(:file_system_id, Shapes::ShapeRef.new(shape: FileSystemId, location: "querystring", location_name: "FileSystemId"))
105
+ DescribeFileSystemsRequest.struct_class = Types::DescribeFileSystemsRequest
106
+
107
+ DescribeFileSystemsResponse.add_member(:marker, Shapes::ShapeRef.new(shape: Marker, location_name: "Marker"))
108
+ DescribeFileSystemsResponse.add_member(:file_systems, Shapes::ShapeRef.new(shape: FileSystemDescriptions, location_name: "FileSystems"))
109
+ DescribeFileSystemsResponse.add_member(:next_marker, Shapes::ShapeRef.new(shape: Marker, location_name: "NextMarker"))
110
+ DescribeFileSystemsResponse.struct_class = Types::DescribeFileSystemsResponse
111
+
112
+ DescribeMountTargetSecurityGroupsRequest.add_member(:mount_target_id, Shapes::ShapeRef.new(shape: MountTargetId, required: true, location: "uri", location_name: "MountTargetId"))
113
+ DescribeMountTargetSecurityGroupsRequest.struct_class = Types::DescribeMountTargetSecurityGroupsRequest
114
+
115
+ DescribeMountTargetSecurityGroupsResponse.add_member(:security_groups, Shapes::ShapeRef.new(shape: SecurityGroups, required: true, location_name: "SecurityGroups"))
116
+ DescribeMountTargetSecurityGroupsResponse.struct_class = Types::DescribeMountTargetSecurityGroupsResponse
117
+
118
+ DescribeMountTargetsRequest.add_member(:max_items, Shapes::ShapeRef.new(shape: MaxItems, location: "querystring", location_name: "MaxItems"))
119
+ DescribeMountTargetsRequest.add_member(:marker, Shapes::ShapeRef.new(shape: Marker, location: "querystring", location_name: "Marker"))
120
+ DescribeMountTargetsRequest.add_member(:file_system_id, Shapes::ShapeRef.new(shape: FileSystemId, location: "querystring", location_name: "FileSystemId"))
121
+ DescribeMountTargetsRequest.add_member(:mount_target_id, Shapes::ShapeRef.new(shape: MountTargetId, location: "querystring", location_name: "MountTargetId"))
122
+ DescribeMountTargetsRequest.struct_class = Types::DescribeMountTargetsRequest
123
+
124
+ DescribeMountTargetsResponse.add_member(:marker, Shapes::ShapeRef.new(shape: Marker, location_name: "Marker"))
125
+ DescribeMountTargetsResponse.add_member(:mount_targets, Shapes::ShapeRef.new(shape: MountTargetDescriptions, location_name: "MountTargets"))
126
+ DescribeMountTargetsResponse.add_member(:next_marker, Shapes::ShapeRef.new(shape: Marker, location_name: "NextMarker"))
127
+ DescribeMountTargetsResponse.struct_class = Types::DescribeMountTargetsResponse
128
+
129
+ DescribeTagsRequest.add_member(:max_items, Shapes::ShapeRef.new(shape: MaxItems, location: "querystring", location_name: "MaxItems"))
130
+ DescribeTagsRequest.add_member(:marker, Shapes::ShapeRef.new(shape: Marker, location: "querystring", location_name: "Marker"))
131
+ DescribeTagsRequest.add_member(:file_system_id, Shapes::ShapeRef.new(shape: FileSystemId, required: true, location: "uri", location_name: "FileSystemId"))
132
+ DescribeTagsRequest.struct_class = Types::DescribeTagsRequest
133
+
134
+ DescribeTagsResponse.add_member(:marker, Shapes::ShapeRef.new(shape: Marker, location_name: "Marker"))
135
+ DescribeTagsResponse.add_member(:tags, Shapes::ShapeRef.new(shape: Tags, required: true, location_name: "Tags"))
136
+ DescribeTagsResponse.add_member(:next_marker, Shapes::ShapeRef.new(shape: Marker, location_name: "NextMarker"))
137
+ DescribeTagsResponse.struct_class = Types::DescribeTagsResponse
138
+
139
+ FileSystemDescription.add_member(:owner_id, Shapes::ShapeRef.new(shape: AwsAccountId, required: true, location_name: "OwnerId"))
140
+ FileSystemDescription.add_member(:creation_token, Shapes::ShapeRef.new(shape: CreationToken, required: true, location_name: "CreationToken"))
141
+ FileSystemDescription.add_member(:file_system_id, Shapes::ShapeRef.new(shape: FileSystemId, required: true, location_name: "FileSystemId"))
142
+ FileSystemDescription.add_member(:creation_time, Shapes::ShapeRef.new(shape: Timestamp, required: true, location_name: "CreationTime"))
143
+ FileSystemDescription.add_member(:life_cycle_state, Shapes::ShapeRef.new(shape: LifeCycleState, required: true, location_name: "LifeCycleState"))
144
+ FileSystemDescription.add_member(:name, Shapes::ShapeRef.new(shape: TagValue, location_name: "Name"))
145
+ FileSystemDescription.add_member(:number_of_mount_targets, Shapes::ShapeRef.new(shape: MountTargetCount, required: true, location_name: "NumberOfMountTargets"))
146
+ FileSystemDescription.add_member(:size_in_bytes, Shapes::ShapeRef.new(shape: FileSystemSize, required: true, location_name: "SizeInBytes"))
147
+ FileSystemDescription.add_member(:performance_mode, Shapes::ShapeRef.new(shape: PerformanceMode, required: true, location_name: "PerformanceMode"))
148
+ FileSystemDescription.struct_class = Types::FileSystemDescription
149
+
150
+ FileSystemDescriptions.member = Shapes::ShapeRef.new(shape: FileSystemDescription)
151
+
152
+ FileSystemSize.add_member(:value, Shapes::ShapeRef.new(shape: FileSystemSizeValue, required: true, location_name: "Value"))
153
+ FileSystemSize.add_member(:timestamp, Shapes::ShapeRef.new(shape: Timestamp, location_name: "Timestamp"))
154
+ FileSystemSize.struct_class = Types::FileSystemSize
155
+
156
+ ModifyMountTargetSecurityGroupsRequest.add_member(:mount_target_id, Shapes::ShapeRef.new(shape: MountTargetId, required: true, location: "uri", location_name: "MountTargetId"))
157
+ ModifyMountTargetSecurityGroupsRequest.add_member(:security_groups, Shapes::ShapeRef.new(shape: SecurityGroups, location_name: "SecurityGroups"))
158
+ ModifyMountTargetSecurityGroupsRequest.struct_class = Types::ModifyMountTargetSecurityGroupsRequest
159
+
160
+ MountTargetDescription.add_member(:owner_id, Shapes::ShapeRef.new(shape: AwsAccountId, location_name: "OwnerId"))
161
+ MountTargetDescription.add_member(:mount_target_id, Shapes::ShapeRef.new(shape: MountTargetId, required: true, location_name: "MountTargetId"))
162
+ MountTargetDescription.add_member(:file_system_id, Shapes::ShapeRef.new(shape: FileSystemId, required: true, location_name: "FileSystemId"))
163
+ MountTargetDescription.add_member(:subnet_id, Shapes::ShapeRef.new(shape: SubnetId, required: true, location_name: "SubnetId"))
164
+ MountTargetDescription.add_member(:life_cycle_state, Shapes::ShapeRef.new(shape: LifeCycleState, required: true, location_name: "LifeCycleState"))
165
+ MountTargetDescription.add_member(:ip_address, Shapes::ShapeRef.new(shape: IpAddress, location_name: "IpAddress"))
166
+ MountTargetDescription.add_member(:network_interface_id, Shapes::ShapeRef.new(shape: NetworkInterfaceId, location_name: "NetworkInterfaceId"))
167
+ MountTargetDescription.struct_class = Types::MountTargetDescription
168
+
169
+ MountTargetDescriptions.member = Shapes::ShapeRef.new(shape: MountTargetDescription)
170
+
171
+ SecurityGroups.member = Shapes::ShapeRef.new(shape: SecurityGroup)
172
+
173
+ Tag.add_member(:key, Shapes::ShapeRef.new(shape: TagKey, required: true, location_name: "Key"))
174
+ Tag.add_member(:value, Shapes::ShapeRef.new(shape: TagValue, required: true, location_name: "Value"))
175
+ Tag.struct_class = Types::Tag
176
+
177
+ TagKeys.member = Shapes::ShapeRef.new(shape: TagKey)
178
+
179
+ Tags.member = Shapes::ShapeRef.new(shape: Tag)
180
+
181
+
182
+ # @api private
183
+ API = Seahorse::Model::Api.new.tap do |api|
184
+
185
+ api.version = "2015-02-01"
186
+
187
+ api.metadata = {
188
+ "endpointPrefix" => "elasticfilesystem",
189
+ "protocol" => "rest-json",
190
+ "serviceFullName" => "Amazon Elastic File System",
191
+ "signatureVersion" => "v4",
192
+ }
193
+
194
+ api.add_operation(:create_file_system, Seahorse::Model::Operation.new.tap do |o|
195
+ o.name = "CreateFileSystem"
196
+ o.http_method = "POST"
197
+ o.http_request_uri = "/2015-02-01/file-systems"
198
+ o.input = Shapes::ShapeRef.new(shape: CreateFileSystemRequest)
199
+ o.output = Shapes::ShapeRef.new(shape: FileSystemDescription)
200
+ o.errors << Shapes::ShapeRef.new(shape: BadRequest)
201
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
202
+ o.errors << Shapes::ShapeRef.new(shape: FileSystemAlreadyExists)
203
+ o.errors << Shapes::ShapeRef.new(shape: FileSystemLimitExceeded)
204
+ end)
205
+
206
+ api.add_operation(:create_mount_target, Seahorse::Model::Operation.new.tap do |o|
207
+ o.name = "CreateMountTarget"
208
+ o.http_method = "POST"
209
+ o.http_request_uri = "/2015-02-01/mount-targets"
210
+ o.input = Shapes::ShapeRef.new(shape: CreateMountTargetRequest)
211
+ o.output = Shapes::ShapeRef.new(shape: MountTargetDescription)
212
+ o.errors << Shapes::ShapeRef.new(shape: BadRequest)
213
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
214
+ o.errors << Shapes::ShapeRef.new(shape: FileSystemNotFound)
215
+ o.errors << Shapes::ShapeRef.new(shape: IncorrectFileSystemLifeCycleState)
216
+ o.errors << Shapes::ShapeRef.new(shape: MountTargetConflict)
217
+ o.errors << Shapes::ShapeRef.new(shape: SubnetNotFound)
218
+ o.errors << Shapes::ShapeRef.new(shape: NoFreeAddressesInSubnet)
219
+ o.errors << Shapes::ShapeRef.new(shape: IpAddressInUse)
220
+ o.errors << Shapes::ShapeRef.new(shape: NetworkInterfaceLimitExceeded)
221
+ o.errors << Shapes::ShapeRef.new(shape: SecurityGroupLimitExceeded)
222
+ o.errors << Shapes::ShapeRef.new(shape: SecurityGroupNotFound)
223
+ o.errors << Shapes::ShapeRef.new(shape: UnsupportedAvailabilityZone)
224
+ end)
225
+
226
+ api.add_operation(:create_tags, Seahorse::Model::Operation.new.tap do |o|
227
+ o.name = "CreateTags"
228
+ o.http_method = "POST"
229
+ o.http_request_uri = "/2015-02-01/create-tags/{FileSystemId}"
230
+ o.input = Shapes::ShapeRef.new(shape: CreateTagsRequest)
231
+ o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
232
+ o.errors << Shapes::ShapeRef.new(shape: BadRequest)
233
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
234
+ o.errors << Shapes::ShapeRef.new(shape: FileSystemNotFound)
235
+ end)
236
+
237
+ api.add_operation(:delete_file_system, Seahorse::Model::Operation.new.tap do |o|
238
+ o.name = "DeleteFileSystem"
239
+ o.http_method = "DELETE"
240
+ o.http_request_uri = "/2015-02-01/file-systems/{FileSystemId}"
241
+ o.input = Shapes::ShapeRef.new(shape: DeleteFileSystemRequest)
242
+ o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
243
+ o.errors << Shapes::ShapeRef.new(shape: BadRequest)
244
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
245
+ o.errors << Shapes::ShapeRef.new(shape: FileSystemNotFound)
246
+ o.errors << Shapes::ShapeRef.new(shape: FileSystemInUse)
247
+ end)
248
+
249
+ api.add_operation(:delete_mount_target, Seahorse::Model::Operation.new.tap do |o|
250
+ o.name = "DeleteMountTarget"
251
+ o.http_method = "DELETE"
252
+ o.http_request_uri = "/2015-02-01/mount-targets/{MountTargetId}"
253
+ o.input = Shapes::ShapeRef.new(shape: DeleteMountTargetRequest)
254
+ o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
255
+ o.errors << Shapes::ShapeRef.new(shape: BadRequest)
256
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
257
+ o.errors << Shapes::ShapeRef.new(shape: DependencyTimeout)
258
+ o.errors << Shapes::ShapeRef.new(shape: MountTargetNotFound)
259
+ end)
260
+
261
+ api.add_operation(:delete_tags, Seahorse::Model::Operation.new.tap do |o|
262
+ o.name = "DeleteTags"
263
+ o.http_method = "POST"
264
+ o.http_request_uri = "/2015-02-01/delete-tags/{FileSystemId}"
265
+ o.input = Shapes::ShapeRef.new(shape: DeleteTagsRequest)
266
+ o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
267
+ o.errors << Shapes::ShapeRef.new(shape: BadRequest)
268
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
269
+ o.errors << Shapes::ShapeRef.new(shape: FileSystemNotFound)
270
+ end)
271
+
272
+ api.add_operation(:describe_file_systems, Seahorse::Model::Operation.new.tap do |o|
273
+ o.name = "DescribeFileSystems"
274
+ o.http_method = "GET"
275
+ o.http_request_uri = "/2015-02-01/file-systems"
276
+ o.input = Shapes::ShapeRef.new(shape: DescribeFileSystemsRequest)
277
+ o.output = Shapes::ShapeRef.new(shape: DescribeFileSystemsResponse)
278
+ o.errors << Shapes::ShapeRef.new(shape: BadRequest)
279
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
280
+ o.errors << Shapes::ShapeRef.new(shape: FileSystemNotFound)
281
+ end)
282
+
283
+ api.add_operation(:describe_mount_target_security_groups, Seahorse::Model::Operation.new.tap do |o|
284
+ o.name = "DescribeMountTargetSecurityGroups"
285
+ o.http_method = "GET"
286
+ o.http_request_uri = "/2015-02-01/mount-targets/{MountTargetId}/security-groups"
287
+ o.input = Shapes::ShapeRef.new(shape: DescribeMountTargetSecurityGroupsRequest)
288
+ o.output = Shapes::ShapeRef.new(shape: DescribeMountTargetSecurityGroupsResponse)
289
+ o.errors << Shapes::ShapeRef.new(shape: BadRequest)
290
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
291
+ o.errors << Shapes::ShapeRef.new(shape: MountTargetNotFound)
292
+ o.errors << Shapes::ShapeRef.new(shape: IncorrectMountTargetState)
293
+ end)
294
+
295
+ api.add_operation(:describe_mount_targets, Seahorse::Model::Operation.new.tap do |o|
296
+ o.name = "DescribeMountTargets"
297
+ o.http_method = "GET"
298
+ o.http_request_uri = "/2015-02-01/mount-targets"
299
+ o.input = Shapes::ShapeRef.new(shape: DescribeMountTargetsRequest)
300
+ o.output = Shapes::ShapeRef.new(shape: DescribeMountTargetsResponse)
301
+ o.errors << Shapes::ShapeRef.new(shape: BadRequest)
302
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
303
+ o.errors << Shapes::ShapeRef.new(shape: FileSystemNotFound)
304
+ o.errors << Shapes::ShapeRef.new(shape: MountTargetNotFound)
305
+ end)
306
+
307
+ api.add_operation(:describe_tags, Seahorse::Model::Operation.new.tap do |o|
308
+ o.name = "DescribeTags"
309
+ o.http_method = "GET"
310
+ o.http_request_uri = "/2015-02-01/tags/{FileSystemId}/"
311
+ o.input = Shapes::ShapeRef.new(shape: DescribeTagsRequest)
312
+ o.output = Shapes::ShapeRef.new(shape: DescribeTagsResponse)
313
+ o.errors << Shapes::ShapeRef.new(shape: BadRequest)
314
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
315
+ o.errors << Shapes::ShapeRef.new(shape: FileSystemNotFound)
316
+ end)
317
+
318
+ api.add_operation(:modify_mount_target_security_groups, Seahorse::Model::Operation.new.tap do |o|
319
+ o.name = "ModifyMountTargetSecurityGroups"
320
+ o.http_method = "PUT"
321
+ o.http_request_uri = "/2015-02-01/mount-targets/{MountTargetId}/security-groups"
322
+ o.input = Shapes::ShapeRef.new(shape: ModifyMountTargetSecurityGroupsRequest)
323
+ o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
324
+ o.errors << Shapes::ShapeRef.new(shape: BadRequest)
325
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
326
+ o.errors << Shapes::ShapeRef.new(shape: MountTargetNotFound)
327
+ o.errors << Shapes::ShapeRef.new(shape: IncorrectMountTargetState)
328
+ o.errors << Shapes::ShapeRef.new(shape: SecurityGroupLimitExceeded)
329
+ o.errors << Shapes::ShapeRef.new(shape: SecurityGroupNotFound)
330
+ end)
331
+ end
332
+
333
+ end
334
+ end
335
+ end
@@ -0,0 +1,7 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing for info on making contributions:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
@@ -0,0 +1,23 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing for info on making contributions:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ module Aws
9
+ module EFS
10
+ module Errors
11
+
12
+ extend Aws::Errors::DynamicErrors
13
+
14
+ # Raised when calling #load or #data on a resource class that can not be
15
+ # loaded. This can happen when:
16
+ #
17
+ # * A resource class has identifiers, but no data attributes.
18
+ # * Resource data is only available when making an API call that
19
+ # enumerates all resources of that type.
20
+ class ResourceNotLoadable < RuntimeError; end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,25 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing for info on making contributions:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ module Aws
9
+ module EFS
10
+ class Resource
11
+
12
+ # @param options ({})
13
+ # @option options [Client] :client
14
+ def initialize(options = {})
15
+ @client = options[:client] || Client.new(options)
16
+ end
17
+
18
+ # @return [Client]
19
+ def client
20
+ @client
21
+ end
22
+
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,518 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing for info on making contributions:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ module Aws
9
+ module EFS
10
+ module Types
11
+
12
+ # @note When making an API call, pass CreateFileSystemRequest
13
+ # data as a hash:
14
+ #
15
+ # {
16
+ # creation_token: "CreationToken", # required
17
+ # performance_mode: "generalPurpose", # accepts generalPurpose, maxIO
18
+ # }
19
+ # @!attribute [rw] creation_token
20
+ # String of up to 64 ASCII characters. Amazon EFS uses this to ensure
21
+ # idempotent creation.
22
+ # @return [String]
23
+ #
24
+ # @!attribute [rw] performance_mode
25
+ # The `PerformanceMode` of the file system. We recommend
26
+ # `generalPurpose` performance mode for most file systems. File
27
+ # systems using the `maxIO` performance mode can scale to higher
28
+ # levels of aggregate throughput and operations per second with a
29
+ # tradeoff of slightly higher latencies for most file operations. This
30
+ # can't be changed after the file system has been created.
31
+ # @return [String]
32
+ class CreateFileSystemRequest < Struct.new(
33
+ :creation_token,
34
+ :performance_mode)
35
+ include Aws::Structure
36
+ end
37
+
38
+ # @note When making an API call, pass CreateMountTargetRequest
39
+ # data as a hash:
40
+ #
41
+ # {
42
+ # file_system_id: "FileSystemId", # required
43
+ # subnet_id: "SubnetId", # required
44
+ # ip_address: "IpAddress",
45
+ # security_groups: ["SecurityGroup"],
46
+ # }
47
+ # @!attribute [rw] file_system_id
48
+ # ID of the file system for which to create the mount target.
49
+ # @return [String]
50
+ #
51
+ # @!attribute [rw] subnet_id
52
+ # ID of the subnet to add the mount target in.
53
+ # @return [String]
54
+ #
55
+ # @!attribute [rw] ip_address
56
+ # Valid IPv4 address within the address range of the specified subnet.
57
+ # @return [String]
58
+ #
59
+ # @!attribute [rw] security_groups
60
+ # Up to five VPC security group IDs, of the form `sg-xxxxxxxx`. These
61
+ # must be for the same VPC as subnet specified.
62
+ # @return [Array<String>]
63
+ class CreateMountTargetRequest < Struct.new(
64
+ :file_system_id,
65
+ :subnet_id,
66
+ :ip_address,
67
+ :security_groups)
68
+ include Aws::Structure
69
+ end
70
+
71
+ # @note When making an API call, pass CreateTagsRequest
72
+ # data as a hash:
73
+ #
74
+ # {
75
+ # file_system_id: "FileSystemId", # required
76
+ # tags: [ # required
77
+ # {
78
+ # key: "TagKey", # required
79
+ # value: "TagValue", # required
80
+ # },
81
+ # ],
82
+ # }
83
+ # @!attribute [rw] file_system_id
84
+ # ID of the file system whose tags you want to modify (String). This
85
+ # operation modifies the tags only, not the file system.
86
+ # @return [String]
87
+ #
88
+ # @!attribute [rw] tags
89
+ # Array of `Tag` objects to add. Each `Tag` object is a key-value
90
+ # pair.
91
+ # @return [Array<Types::Tag>]
92
+ class CreateTagsRequest < Struct.new(
93
+ :file_system_id,
94
+ :tags)
95
+ include Aws::Structure
96
+ end
97
+
98
+ # @note When making an API call, pass DeleteFileSystemRequest
99
+ # data as a hash:
100
+ #
101
+ # {
102
+ # file_system_id: "FileSystemId", # required
103
+ # }
104
+ # @!attribute [rw] file_system_id
105
+ # ID of the file system you want to delete.
106
+ # @return [String]
107
+ class DeleteFileSystemRequest < Struct.new(
108
+ :file_system_id)
109
+ include Aws::Structure
110
+ end
111
+
112
+ # @note When making an API call, pass DeleteMountTargetRequest
113
+ # data as a hash:
114
+ #
115
+ # {
116
+ # mount_target_id: "MountTargetId", # required
117
+ # }
118
+ # @!attribute [rw] mount_target_id
119
+ # ID of the mount target to delete (String).
120
+ # @return [String]
121
+ class DeleteMountTargetRequest < Struct.new(
122
+ :mount_target_id)
123
+ include Aws::Structure
124
+ end
125
+
126
+ # @note When making an API call, pass DeleteTagsRequest
127
+ # data as a hash:
128
+ #
129
+ # {
130
+ # file_system_id: "FileSystemId", # required
131
+ # tag_keys: ["TagKey"], # required
132
+ # }
133
+ # @!attribute [rw] file_system_id
134
+ # ID of the file system whose tags you want to delete (String).
135
+ # @return [String]
136
+ #
137
+ # @!attribute [rw] tag_keys
138
+ # List of tag keys to delete.
139
+ # @return [Array<String>]
140
+ class DeleteTagsRequest < Struct.new(
141
+ :file_system_id,
142
+ :tag_keys)
143
+ include Aws::Structure
144
+ end
145
+
146
+ # @note When making an API call, pass DescribeFileSystemsRequest
147
+ # data as a hash:
148
+ #
149
+ # {
150
+ # max_items: 1,
151
+ # marker: "Marker",
152
+ # creation_token: "CreationToken",
153
+ # file_system_id: "FileSystemId",
154
+ # }
155
+ # @!attribute [rw] max_items
156
+ # (Optional) Specifies the maximum number of file systems to return in
157
+ # the response (integer). This parameter value must be greater than 0.
158
+ # The number of items that Amazon EFS returns is the minimum of the
159
+ # `MaxItems` parameter specified in the request and the service's
160
+ # internal maximum number of items per page.
161
+ # @return [Integer]
162
+ #
163
+ # @!attribute [rw] marker
164
+ # (Optional) Opaque pagination token returned from a previous
165
+ # `DescribeFileSystems` operation (String). If present, specifies to
166
+ # continue the list from where the returning call had left off.
167
+ # @return [String]
168
+ #
169
+ # @!attribute [rw] creation_token
170
+ # (Optional) Restricts the list to the file system with this creation
171
+ # token (String). You specify a creation token when you create an
172
+ # Amazon EFS file system.
173
+ # @return [String]
174
+ #
175
+ # @!attribute [rw] file_system_id
176
+ # (Optional) ID of the file system whose description you want to
177
+ # retrieve (String).
178
+ # @return [String]
179
+ class DescribeFileSystemsRequest < Struct.new(
180
+ :max_items,
181
+ :marker,
182
+ :creation_token,
183
+ :file_system_id)
184
+ include Aws::Structure
185
+ end
186
+
187
+ # @!attribute [rw] marker
188
+ # Present if provided by caller in the request (String).
189
+ # @return [String]
190
+ #
191
+ # @!attribute [rw] file_systems
192
+ # Array of file system descriptions.
193
+ # @return [Array<Types::FileSystemDescription>]
194
+ #
195
+ # @!attribute [rw] next_marker
196
+ # Present if there are more file systems than returned in the response
197
+ # (String). You can use the `NextMarker` in the subsequent request to
198
+ # fetch the descriptions.
199
+ # @return [String]
200
+ class DescribeFileSystemsResponse < Struct.new(
201
+ :marker,
202
+ :file_systems,
203
+ :next_marker)
204
+ include Aws::Structure
205
+ end
206
+
207
+ # @note When making an API call, pass DescribeMountTargetSecurityGroupsRequest
208
+ # data as a hash:
209
+ #
210
+ # {
211
+ # mount_target_id: "MountTargetId", # required
212
+ # }
213
+ # @!attribute [rw] mount_target_id
214
+ # ID of the mount target whose security groups you want to retrieve.
215
+ # @return [String]
216
+ class DescribeMountTargetSecurityGroupsRequest < Struct.new(
217
+ :mount_target_id)
218
+ include Aws::Structure
219
+ end
220
+
221
+ # @!attribute [rw] security_groups
222
+ # Array of security groups.
223
+ # @return [Array<String>]
224
+ class DescribeMountTargetSecurityGroupsResponse < Struct.new(
225
+ :security_groups)
226
+ include Aws::Structure
227
+ end
228
+
229
+ # @note When making an API call, pass DescribeMountTargetsRequest
230
+ # data as a hash:
231
+ #
232
+ # {
233
+ # max_items: 1,
234
+ # marker: "Marker",
235
+ # file_system_id: "FileSystemId",
236
+ # mount_target_id: "MountTargetId",
237
+ # }
238
+ # @!attribute [rw] max_items
239
+ # (Optional) Maximum number of mount targets to return in the
240
+ # response. It must be an integer with a value greater than zero.
241
+ # @return [Integer]
242
+ #
243
+ # @!attribute [rw] marker
244
+ # (Optional) Opaque pagination token returned from a previous
245
+ # `DescribeMountTargets` operation (String). If present, it specifies
246
+ # to continue the list from where the previous returning call left
247
+ # off.
248
+ # @return [String]
249
+ #
250
+ # @!attribute [rw] file_system_id
251
+ # (Optional) ID of the file system whose mount targets you want to
252
+ # list (String). It must be included in your request if
253
+ # `MountTargetId` is not included.
254
+ # @return [String]
255
+ #
256
+ # @!attribute [rw] mount_target_id
257
+ # (Optional) ID of the mount target that you want to have described
258
+ # (String). It must be included in your request if `FileSystemId` is
259
+ # not included.
260
+ # @return [String]
261
+ class DescribeMountTargetsRequest < Struct.new(
262
+ :max_items,
263
+ :marker,
264
+ :file_system_id,
265
+ :mount_target_id)
266
+ include Aws::Structure
267
+ end
268
+
269
+ # @!attribute [rw] marker
270
+ # If the request included the `Marker`, the response returns that
271
+ # value in this field.
272
+ # @return [String]
273
+ #
274
+ # @!attribute [rw] mount_targets
275
+ # Returns the file system's mount targets as an array of
276
+ # `MountTargetDescription` objects.
277
+ # @return [Array<Types::MountTargetDescription>]
278
+ #
279
+ # @!attribute [rw] next_marker
280
+ # If a value is present, there are more mount targets to return. In a
281
+ # subsequent request, you can provide `Marker` in your request with
282
+ # this value to retrieve the next set of mount targets.
283
+ # @return [String]
284
+ class DescribeMountTargetsResponse < Struct.new(
285
+ :marker,
286
+ :mount_targets,
287
+ :next_marker)
288
+ include Aws::Structure
289
+ end
290
+
291
+ # @note When making an API call, pass DescribeTagsRequest
292
+ # data as a hash:
293
+ #
294
+ # {
295
+ # max_items: 1,
296
+ # marker: "Marker",
297
+ # file_system_id: "FileSystemId", # required
298
+ # }
299
+ # @!attribute [rw] max_items
300
+ # (Optional) Maximum number of file system tags to return in the
301
+ # response. It must be an integer with a value greater than zero.
302
+ # @return [Integer]
303
+ #
304
+ # @!attribute [rw] marker
305
+ # (Optional) Opaque pagination token returned from a previous
306
+ # `DescribeTags` operation (String). If present, it specifies to
307
+ # continue the list from where the previous call left off.
308
+ # @return [String]
309
+ #
310
+ # @!attribute [rw] file_system_id
311
+ # ID of the file system whose tag set you want to retrieve.
312
+ # @return [String]
313
+ class DescribeTagsRequest < Struct.new(
314
+ :max_items,
315
+ :marker,
316
+ :file_system_id)
317
+ include Aws::Structure
318
+ end
319
+
320
+ # @!attribute [rw] marker
321
+ # If the request included a `Marker`, the response returns that value
322
+ # in this field.
323
+ # @return [String]
324
+ #
325
+ # @!attribute [rw] tags
326
+ # Returns tags associated with the file system as an array of `Tag`
327
+ # objects.
328
+ # @return [Array<Types::Tag>]
329
+ #
330
+ # @!attribute [rw] next_marker
331
+ # If a value is present, there are more tags to return. In a
332
+ # subsequent request, you can provide the value of `NextMarker` as the
333
+ # value of the `Marker` parameter in your next request to retrieve the
334
+ # next set of tags.
335
+ # @return [String]
336
+ class DescribeTagsResponse < Struct.new(
337
+ :marker,
338
+ :tags,
339
+ :next_marker)
340
+ include Aws::Structure
341
+ end
342
+
343
+ # Description of the file system.
344
+ # @!attribute [rw] owner_id
345
+ # AWS account that created the file system. If the file system was
346
+ # created by an IAM user, the parent account to which the user belongs
347
+ # is the owner.
348
+ # @return [String]
349
+ #
350
+ # @!attribute [rw] creation_token
351
+ # Opaque string specified in the request.
352
+ # @return [String]
353
+ #
354
+ # @!attribute [rw] file_system_id
355
+ # ID of the file system, assigned by Amazon EFS.
356
+ # @return [String]
357
+ #
358
+ # @!attribute [rw] creation_time
359
+ # Time that the file system was created, in seconds (since
360
+ # 1970-01-01T00:00:00Z).
361
+ # @return [Time]
362
+ #
363
+ # @!attribute [rw] life_cycle_state
364
+ # Lifecycle phase of the file system.
365
+ # @return [String]
366
+ #
367
+ # @!attribute [rw] name
368
+ # You can add tags to a file system, including a `Name` tag. For more
369
+ # information, see CreateTags. If the file system has a `Name` tag,
370
+ # Amazon EFS returns the value in this field.
371
+ # @return [String]
372
+ #
373
+ # @!attribute [rw] number_of_mount_targets
374
+ # Current number of mount targets that the file system has. For more
375
+ # information, see CreateMountTarget.
376
+ # @return [Integer]
377
+ #
378
+ # @!attribute [rw] size_in_bytes
379
+ # Latest known metered size (in bytes) of data stored in the file
380
+ # system, in bytes, in its `Value` field, and the time at which that
381
+ # size was determined in its `Timestamp` field. The `Timestamp` value
382
+ # is the integer number of seconds since 1970-01-01T00:00:00Z. Note
383
+ # that the value does not represent the size of a consistent snapshot
384
+ # of the file system, but it is eventually consistent when there are
385
+ # no writes to the file system. That is, the value will represent
386
+ # actual size only if the file system is not modified for a period
387
+ # longer than a couple of hours. Otherwise, the value is not the exact
388
+ # size the file system was at any instant in time.
389
+ # @return [Types::FileSystemSize]
390
+ #
391
+ # @!attribute [rw] performance_mode
392
+ # The `PerformanceMode` of the file system.
393
+ # @return [String]
394
+ class FileSystemDescription < Struct.new(
395
+ :owner_id,
396
+ :creation_token,
397
+ :file_system_id,
398
+ :creation_time,
399
+ :life_cycle_state,
400
+ :name,
401
+ :number_of_mount_targets,
402
+ :size_in_bytes,
403
+ :performance_mode)
404
+ include Aws::Structure
405
+ end
406
+
407
+ # Latest known metered size (in bytes) of data stored in the file
408
+ # system, in its `Value` field, and the time at which that size was
409
+ # determined in its `Timestamp` field. Note that the value does not
410
+ # represent the size of a consistent snapshot of the file system, but it
411
+ # is eventually consistent when there are no writes to the file system.
412
+ # That is, the value will represent the actual size only if the file
413
+ # system is not modified for a period longer than a couple of hours.
414
+ # Otherwise, the value is not necessarily the exact size the file system
415
+ # was at any instant in time.
416
+ # @!attribute [rw] value
417
+ # Latest known metered size (in bytes) of data stored in the file
418
+ # system.
419
+ # @return [Integer]
420
+ #
421
+ # @!attribute [rw] timestamp
422
+ # Time at which the size of data, returned in the `Value` field, was
423
+ # determined. The value is the integer number of seconds since
424
+ # 1970-01-01T00:00:00Z.
425
+ # @return [Time]
426
+ class FileSystemSize < Struct.new(
427
+ :value,
428
+ :timestamp)
429
+ include Aws::Structure
430
+ end
431
+
432
+ # @note When making an API call, pass ModifyMountTargetSecurityGroupsRequest
433
+ # data as a hash:
434
+ #
435
+ # {
436
+ # mount_target_id: "MountTargetId", # required
437
+ # security_groups: ["SecurityGroup"],
438
+ # }
439
+ # @!attribute [rw] mount_target_id
440
+ # ID of the mount target whose security groups you want to modify.
441
+ # @return [String]
442
+ #
443
+ # @!attribute [rw] security_groups
444
+ # Array of up to five VPC security group IDs.
445
+ # @return [Array<String>]
446
+ class ModifyMountTargetSecurityGroupsRequest < Struct.new(
447
+ :mount_target_id,
448
+ :security_groups)
449
+ include Aws::Structure
450
+ end
451
+
452
+ # Provides a description of a mount target.
453
+ # @!attribute [rw] owner_id
454
+ # AWS account ID that owns the resource.
455
+ # @return [String]
456
+ #
457
+ # @!attribute [rw] mount_target_id
458
+ # System-assigned mount target ID.
459
+ # @return [String]
460
+ #
461
+ # @!attribute [rw] file_system_id
462
+ # ID of the file system for which the mount target is intended.
463
+ # @return [String]
464
+ #
465
+ # @!attribute [rw] subnet_id
466
+ # ID of the mount target's subnet.
467
+ # @return [String]
468
+ #
469
+ # @!attribute [rw] life_cycle_state
470
+ # Lifecycle state of the mount target.
471
+ # @return [String]
472
+ #
473
+ # @!attribute [rw] ip_address
474
+ # Address at which the file system may be mounted via the mount
475
+ # target.
476
+ # @return [String]
477
+ #
478
+ # @!attribute [rw] network_interface_id
479
+ # ID of the network interface that Amazon EFS created when it created
480
+ # the mount target.
481
+ # @return [String]
482
+ class MountTargetDescription < Struct.new(
483
+ :owner_id,
484
+ :mount_target_id,
485
+ :file_system_id,
486
+ :subnet_id,
487
+ :life_cycle_state,
488
+ :ip_address,
489
+ :network_interface_id)
490
+ include Aws::Structure
491
+ end
492
+
493
+ # A tag is a key-value pair. Allowed characters: letters, whitespace,
494
+ # and numbers, representable in UTF-8, and the following characters:` +
495
+ # - = . _ : /`
496
+ # @note When making an API call, pass Tag
497
+ # data as a hash:
498
+ #
499
+ # {
500
+ # key: "TagKey", # required
501
+ # value: "TagValue", # required
502
+ # }
503
+ # @!attribute [rw] key
504
+ # Tag key (String). The key can't start with `aws:`.
505
+ # @return [String]
506
+ #
507
+ # @!attribute [rw] value
508
+ # Value of the tag key.
509
+ # @return [String]
510
+ class Tag < Struct.new(
511
+ :key,
512
+ :value)
513
+ include Aws::Structure
514
+ end
515
+
516
+ end
517
+ end
518
+ end