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

Sign up to get free protection for your applications and to get access to all the features.
@@ -16,10 +16,20 @@ module Aws
16
16
  AddressId = Shapes::StringShape.new(name: 'AddressId')
17
17
  AddressList = Shapes::ListShape.new(name: 'AddressList')
18
18
  Boolean = Shapes::BooleanShape.new(name: 'Boolean')
19
+ CancelClusterRequest = Shapes::StructureShape.new(name: 'CancelClusterRequest')
20
+ CancelClusterResult = Shapes::StructureShape.new(name: 'CancelClusterResult')
19
21
  CancelJobRequest = Shapes::StructureShape.new(name: 'CancelJobRequest')
20
22
  CancelJobResult = Shapes::StructureShape.new(name: 'CancelJobResult')
23
+ ClusterId = Shapes::StringShape.new(name: 'ClusterId')
24
+ ClusterLimitExceededException = Shapes::StructureShape.new(name: 'ClusterLimitExceededException')
25
+ ClusterListEntry = Shapes::StructureShape.new(name: 'ClusterListEntry')
26
+ ClusterListEntryList = Shapes::ListShape.new(name: 'ClusterListEntryList')
27
+ ClusterMetadata = Shapes::StructureShape.new(name: 'ClusterMetadata')
28
+ ClusterState = Shapes::StringShape.new(name: 'ClusterState')
21
29
  CreateAddressRequest = Shapes::StructureShape.new(name: 'CreateAddressRequest')
22
30
  CreateAddressResult = Shapes::StructureShape.new(name: 'CreateAddressResult')
31
+ CreateClusterRequest = Shapes::StructureShape.new(name: 'CreateClusterRequest')
32
+ CreateClusterResult = Shapes::StructureShape.new(name: 'CreateClusterResult')
23
33
  CreateJobRequest = Shapes::StructureShape.new(name: 'CreateJobRequest')
24
34
  CreateJobResult = Shapes::StructureShape.new(name: 'CreateJobResult')
25
35
  DataTransfer = Shapes::StructureShape.new(name: 'DataTransfer')
@@ -27,8 +37,12 @@ module Aws
27
37
  DescribeAddressResult = Shapes::StructureShape.new(name: 'DescribeAddressResult')
28
38
  DescribeAddressesRequest = Shapes::StructureShape.new(name: 'DescribeAddressesRequest')
29
39
  DescribeAddressesResult = Shapes::StructureShape.new(name: 'DescribeAddressesResult')
40
+ DescribeClusterRequest = Shapes::StructureShape.new(name: 'DescribeClusterRequest')
41
+ DescribeClusterResult = Shapes::StructureShape.new(name: 'DescribeClusterResult')
30
42
  DescribeJobRequest = Shapes::StructureShape.new(name: 'DescribeJobRequest')
31
43
  DescribeJobResult = Shapes::StructureShape.new(name: 'DescribeJobResult')
44
+ EventTriggerDefinition = Shapes::StructureShape.new(name: 'EventTriggerDefinition')
45
+ EventTriggerDefinitionList = Shapes::ListShape.new(name: 'EventTriggerDefinitionList')
32
46
  GetJobManifestRequest = Shapes::StructureShape.new(name: 'GetJobManifestRequest')
33
47
  GetJobManifestResult = Shapes::StructureShape.new(name: 'GetJobManifestResult')
34
48
  GetJobUnlockCodeRequest = Shapes::StructureShape.new(name: 'GetJobUnlockCodeRequest')
@@ -37,6 +51,7 @@ module Aws
37
51
  GetSnowballUsageResult = Shapes::StructureShape.new(name: 'GetSnowballUsageResult')
38
52
  Integer = Shapes::IntegerShape.new(name: 'Integer')
39
53
  InvalidAddressException = Shapes::StructureShape.new(name: 'InvalidAddressException')
54
+ InvalidInputCombinationException = Shapes::StructureShape.new(name: 'InvalidInputCombinationException')
40
55
  InvalidJobStateException = Shapes::StructureShape.new(name: 'InvalidJobStateException')
41
56
  InvalidResourceException = Shapes::StructureShape.new(name: 'InvalidResourceException')
42
57
  JobId = Shapes::StringShape.new(name: 'JobId')
@@ -52,6 +67,12 @@ module Aws
52
67
  KMSRequestFailedException = Shapes::StructureShape.new(name: 'KMSRequestFailedException')
53
68
  KeyRange = Shapes::StructureShape.new(name: 'KeyRange')
54
69
  KmsKeyARN = Shapes::StringShape.new(name: 'KmsKeyARN')
70
+ LambdaResource = Shapes::StructureShape.new(name: 'LambdaResource')
71
+ LambdaResourceList = Shapes::ListShape.new(name: 'LambdaResourceList')
72
+ ListClusterJobsRequest = Shapes::StructureShape.new(name: 'ListClusterJobsRequest')
73
+ ListClusterJobsResult = Shapes::StructureShape.new(name: 'ListClusterJobsResult')
74
+ ListClustersRequest = Shapes::StructureShape.new(name: 'ListClustersRequest')
75
+ ListClustersResult = Shapes::StructureShape.new(name: 'ListClustersResult')
55
76
  ListJobsRequest = Shapes::StructureShape.new(name: 'ListJobsRequest')
56
77
  ListJobsResult = Shapes::StructureShape.new(name: 'ListJobsResult')
57
78
  ListLimit = Shapes::IntegerShape.new(name: 'ListLimit')
@@ -65,10 +86,13 @@ module Aws
65
86
  ShippingDetails = Shapes::StructureShape.new(name: 'ShippingDetails')
66
87
  ShippingOption = Shapes::StringShape.new(name: 'ShippingOption')
67
88
  SnowballCapacity = Shapes::StringShape.new(name: 'SnowballCapacity')
89
+ SnowballType = Shapes::StringShape.new(name: 'SnowballType')
68
90
  SnsTopicARN = Shapes::StringShape.new(name: 'SnsTopicARN')
69
91
  String = Shapes::StringShape.new(name: 'String')
70
92
  Timestamp = Shapes::TimestampShape.new(name: 'Timestamp')
71
93
  UnsupportedAddressException = Shapes::StructureShape.new(name: 'UnsupportedAddressException')
94
+ UpdateClusterRequest = Shapes::StructureShape.new(name: 'UpdateClusterRequest')
95
+ UpdateClusterResult = Shapes::StructureShape.new(name: 'UpdateClusterResult')
72
96
  UpdateJobRequest = Shapes::StructureShape.new(name: 'UpdateJobRequest')
73
97
  UpdateJobResult = Shapes::StructureShape.new(name: 'UpdateJobResult')
74
98
 
@@ -89,26 +113,69 @@ module Aws
89
113
 
90
114
  AddressList.member = Shapes::ShapeRef.new(shape: Address)
91
115
 
116
+ CancelClusterRequest.add_member(:cluster_id, Shapes::ShapeRef.new(shape: ClusterId, required: true, location_name: "ClusterId"))
117
+ CancelClusterRequest.struct_class = Types::CancelClusterRequest
118
+
119
+ CancelClusterResult.struct_class = Types::CancelClusterResult
120
+
92
121
  CancelJobRequest.add_member(:job_id, Shapes::ShapeRef.new(shape: JobId, required: true, location_name: "JobId"))
93
122
  CancelJobRequest.struct_class = Types::CancelJobRequest
94
123
 
95
124
  CancelJobResult.struct_class = Types::CancelJobResult
96
125
 
126
+ ClusterListEntry.add_member(:cluster_id, Shapes::ShapeRef.new(shape: String, location_name: "ClusterId"))
127
+ ClusterListEntry.add_member(:cluster_state, Shapes::ShapeRef.new(shape: ClusterState, location_name: "ClusterState"))
128
+ ClusterListEntry.add_member(:creation_date, Shapes::ShapeRef.new(shape: Timestamp, location_name: "CreationDate"))
129
+ ClusterListEntry.add_member(:description, Shapes::ShapeRef.new(shape: String, location_name: "Description"))
130
+ ClusterListEntry.struct_class = Types::ClusterListEntry
131
+
132
+ ClusterListEntryList.member = Shapes::ShapeRef.new(shape: ClusterListEntry)
133
+
134
+ ClusterMetadata.add_member(:cluster_id, Shapes::ShapeRef.new(shape: String, location_name: "ClusterId"))
135
+ ClusterMetadata.add_member(:description, Shapes::ShapeRef.new(shape: String, location_name: "Description"))
136
+ ClusterMetadata.add_member(:kms_key_arn, Shapes::ShapeRef.new(shape: KmsKeyARN, location_name: "KmsKeyARN"))
137
+ ClusterMetadata.add_member(:role_arn, Shapes::ShapeRef.new(shape: RoleARN, location_name: "RoleARN"))
138
+ ClusterMetadata.add_member(:cluster_state, Shapes::ShapeRef.new(shape: ClusterState, location_name: "ClusterState"))
139
+ ClusterMetadata.add_member(:job_type, Shapes::ShapeRef.new(shape: JobType, location_name: "JobType"))
140
+ ClusterMetadata.add_member(:snowball_type, Shapes::ShapeRef.new(shape: SnowballType, location_name: "SnowballType"))
141
+ ClusterMetadata.add_member(:creation_date, Shapes::ShapeRef.new(shape: Timestamp, location_name: "CreationDate"))
142
+ ClusterMetadata.add_member(:resources, Shapes::ShapeRef.new(shape: JobResource, location_name: "Resources"))
143
+ ClusterMetadata.add_member(:address_id, Shapes::ShapeRef.new(shape: AddressId, location_name: "AddressId"))
144
+ ClusterMetadata.add_member(:shipping_option, Shapes::ShapeRef.new(shape: ShippingOption, location_name: "ShippingOption"))
145
+ ClusterMetadata.add_member(:notification, Shapes::ShapeRef.new(shape: Notification, location_name: "Notification"))
146
+ ClusterMetadata.struct_class = Types::ClusterMetadata
147
+
97
148
  CreateAddressRequest.add_member(:address, Shapes::ShapeRef.new(shape: Address, required: true, location_name: "Address"))
98
149
  CreateAddressRequest.struct_class = Types::CreateAddressRequest
99
150
 
100
151
  CreateAddressResult.add_member(:address_id, Shapes::ShapeRef.new(shape: String, location_name: "AddressId"))
101
152
  CreateAddressResult.struct_class = Types::CreateAddressResult
102
153
 
103
- CreateJobRequest.add_member(:job_type, Shapes::ShapeRef.new(shape: JobType, required: true, location_name: "JobType"))
104
- CreateJobRequest.add_member(:resources, Shapes::ShapeRef.new(shape: JobResource, required: true, location_name: "Resources"))
154
+ CreateClusterRequest.add_member(:job_type, Shapes::ShapeRef.new(shape: JobType, required: true, location_name: "JobType"))
155
+ CreateClusterRequest.add_member(:resources, Shapes::ShapeRef.new(shape: JobResource, required: true, location_name: "Resources"))
156
+ CreateClusterRequest.add_member(:description, Shapes::ShapeRef.new(shape: String, location_name: "Description"))
157
+ CreateClusterRequest.add_member(:address_id, Shapes::ShapeRef.new(shape: AddressId, required: true, location_name: "AddressId"))
158
+ CreateClusterRequest.add_member(:kms_key_arn, Shapes::ShapeRef.new(shape: KmsKeyARN, location_name: "KmsKeyARN"))
159
+ CreateClusterRequest.add_member(:role_arn, Shapes::ShapeRef.new(shape: RoleARN, required: true, location_name: "RoleARN"))
160
+ CreateClusterRequest.add_member(:snowball_type, Shapes::ShapeRef.new(shape: SnowballType, location_name: "SnowballType"))
161
+ CreateClusterRequest.add_member(:shipping_option, Shapes::ShapeRef.new(shape: ShippingOption, required: true, location_name: "ShippingOption"))
162
+ CreateClusterRequest.add_member(:notification, Shapes::ShapeRef.new(shape: Notification, location_name: "Notification"))
163
+ CreateClusterRequest.struct_class = Types::CreateClusterRequest
164
+
165
+ CreateClusterResult.add_member(:cluster_id, Shapes::ShapeRef.new(shape: ClusterId, location_name: "ClusterId"))
166
+ CreateClusterResult.struct_class = Types::CreateClusterResult
167
+
168
+ CreateJobRequest.add_member(:job_type, Shapes::ShapeRef.new(shape: JobType, location_name: "JobType"))
169
+ CreateJobRequest.add_member(:resources, Shapes::ShapeRef.new(shape: JobResource, location_name: "Resources"))
105
170
  CreateJobRequest.add_member(:description, Shapes::ShapeRef.new(shape: String, location_name: "Description"))
106
- CreateJobRequest.add_member(:address_id, Shapes::ShapeRef.new(shape: AddressId, required: true, location_name: "AddressId"))
171
+ CreateJobRequest.add_member(:address_id, Shapes::ShapeRef.new(shape: AddressId, location_name: "AddressId"))
107
172
  CreateJobRequest.add_member(:kms_key_arn, Shapes::ShapeRef.new(shape: KmsKeyARN, location_name: "KmsKeyARN"))
108
- CreateJobRequest.add_member(:role_arn, Shapes::ShapeRef.new(shape: RoleARN, required: true, location_name: "RoleARN"))
173
+ CreateJobRequest.add_member(:role_arn, Shapes::ShapeRef.new(shape: RoleARN, location_name: "RoleARN"))
109
174
  CreateJobRequest.add_member(:snowball_capacity_preference, Shapes::ShapeRef.new(shape: SnowballCapacity, location_name: "SnowballCapacityPreference"))
110
- CreateJobRequest.add_member(:shipping_option, Shapes::ShapeRef.new(shape: ShippingOption, required: true, location_name: "ShippingOption"))
175
+ CreateJobRequest.add_member(:shipping_option, Shapes::ShapeRef.new(shape: ShippingOption, location_name: "ShippingOption"))
111
176
  CreateJobRequest.add_member(:notification, Shapes::ShapeRef.new(shape: Notification, location_name: "Notification"))
177
+ CreateJobRequest.add_member(:cluster_id, Shapes::ShapeRef.new(shape: ClusterId, location_name: "ClusterId"))
178
+ CreateJobRequest.add_member(:snowball_type, Shapes::ShapeRef.new(shape: SnowballType, location_name: "SnowballType"))
112
179
  CreateJobRequest.struct_class = Types::CreateJobRequest
113
180
 
114
181
  CreateJobResult.add_member(:job_id, Shapes::ShapeRef.new(shape: JobId, location_name: "JobId"))
@@ -134,6 +201,12 @@ module Aws
134
201
  DescribeAddressesResult.add_member(:next_token, Shapes::ShapeRef.new(shape: String, location_name: "NextToken"))
135
202
  DescribeAddressesResult.struct_class = Types::DescribeAddressesResult
136
203
 
204
+ DescribeClusterRequest.add_member(:cluster_id, Shapes::ShapeRef.new(shape: ClusterId, required: true, location_name: "ClusterId"))
205
+ DescribeClusterRequest.struct_class = Types::DescribeClusterRequest
206
+
207
+ DescribeClusterResult.add_member(:cluster_metadata, Shapes::ShapeRef.new(shape: ClusterMetadata, location_name: "ClusterMetadata"))
208
+ DescribeClusterResult.struct_class = Types::DescribeClusterResult
209
+
137
210
  DescribeJobRequest.add_member(:job_id, Shapes::ShapeRef.new(shape: JobId, required: true, location_name: "JobId"))
138
211
  DescribeJobRequest.struct_class = Types::DescribeJobRequest
139
212
 
@@ -141,6 +214,11 @@ module Aws
141
214
  DescribeJobResult.add_member(:sub_job_metadata, Shapes::ShapeRef.new(shape: JobMetadataList, location_name: "SubJobMetadata"))
142
215
  DescribeJobResult.struct_class = Types::DescribeJobResult
143
216
 
217
+ EventTriggerDefinition.add_member(:event_resource_arn, Shapes::ShapeRef.new(shape: ResourceARN, location_name: "EventResourceARN"))
218
+ EventTriggerDefinition.struct_class = Types::EventTriggerDefinition
219
+
220
+ EventTriggerDefinitionList.member = Shapes::ShapeRef.new(shape: EventTriggerDefinition)
221
+
144
222
  GetJobManifestRequest.add_member(:job_id, Shapes::ShapeRef.new(shape: JobId, required: true, location_name: "JobId"))
145
223
  GetJobManifestRequest.struct_class = Types::GetJobManifestRequest
146
224
 
@@ -162,6 +240,10 @@ module Aws
162
240
  JobListEntry.add_member(:job_id, Shapes::ShapeRef.new(shape: String, location_name: "JobId"))
163
241
  JobListEntry.add_member(:job_state, Shapes::ShapeRef.new(shape: JobState, location_name: "JobState"))
164
242
  JobListEntry.add_member(:is_master, Shapes::ShapeRef.new(shape: Boolean, location_name: "IsMaster"))
243
+ JobListEntry.add_member(:job_type, Shapes::ShapeRef.new(shape: JobType, location_name: "JobType"))
244
+ JobListEntry.add_member(:snowball_type, Shapes::ShapeRef.new(shape: SnowballType, location_name: "SnowballType"))
245
+ JobListEntry.add_member(:creation_date, Shapes::ShapeRef.new(shape: Timestamp, location_name: "CreationDate"))
246
+ JobListEntry.add_member(:description, Shapes::ShapeRef.new(shape: String, location_name: "Description"))
165
247
  JobListEntry.struct_class = Types::JobListEntry
166
248
 
167
249
  JobListEntryList.member = Shapes::ShapeRef.new(shape: JobListEntry)
@@ -174,6 +256,7 @@ module Aws
174
256
  JobMetadata.add_member(:job_id, Shapes::ShapeRef.new(shape: String, location_name: "JobId"))
175
257
  JobMetadata.add_member(:job_state, Shapes::ShapeRef.new(shape: JobState, location_name: "JobState"))
176
258
  JobMetadata.add_member(:job_type, Shapes::ShapeRef.new(shape: JobType, location_name: "JobType"))
259
+ JobMetadata.add_member(:snowball_type, Shapes::ShapeRef.new(shape: SnowballType, location_name: "SnowballType"))
177
260
  JobMetadata.add_member(:creation_date, Shapes::ShapeRef.new(shape: Timestamp, location_name: "CreationDate"))
178
261
  JobMetadata.add_member(:resources, Shapes::ShapeRef.new(shape: JobResource, location_name: "Resources"))
179
262
  JobMetadata.add_member(:description, Shapes::ShapeRef.new(shape: String, location_name: "Description"))
@@ -185,11 +268,13 @@ module Aws
185
268
  JobMetadata.add_member(:notification, Shapes::ShapeRef.new(shape: Notification, location_name: "Notification"))
186
269
  JobMetadata.add_member(:data_transfer_progress, Shapes::ShapeRef.new(shape: DataTransfer, location_name: "DataTransferProgress"))
187
270
  JobMetadata.add_member(:job_log_info, Shapes::ShapeRef.new(shape: JobLogs, location_name: "JobLogInfo"))
271
+ JobMetadata.add_member(:cluster_id, Shapes::ShapeRef.new(shape: String, location_name: "ClusterId"))
188
272
  JobMetadata.struct_class = Types::JobMetadata
189
273
 
190
274
  JobMetadataList.member = Shapes::ShapeRef.new(shape: JobMetadata)
191
275
 
192
276
  JobResource.add_member(:s3_resources, Shapes::ShapeRef.new(shape: S3ResourceList, location_name: "S3Resources"))
277
+ JobResource.add_member(:lambda_resources, Shapes::ShapeRef.new(shape: LambdaResourceList, location_name: "LambdaResources"))
193
278
  JobResource.struct_class = Types::JobResource
194
279
 
195
280
  JobStateList.member = Shapes::ShapeRef.new(shape: JobState)
@@ -198,6 +283,29 @@ module Aws
198
283
  KeyRange.add_member(:end_marker, Shapes::ShapeRef.new(shape: String, location_name: "EndMarker"))
199
284
  KeyRange.struct_class = Types::KeyRange
200
285
 
286
+ LambdaResource.add_member(:lambda_arn, Shapes::ShapeRef.new(shape: ResourceARN, location_name: "LambdaArn"))
287
+ LambdaResource.add_member(:event_triggers, Shapes::ShapeRef.new(shape: EventTriggerDefinitionList, location_name: "EventTriggers"))
288
+ LambdaResource.struct_class = Types::LambdaResource
289
+
290
+ LambdaResourceList.member = Shapes::ShapeRef.new(shape: LambdaResource)
291
+
292
+ ListClusterJobsRequest.add_member(:cluster_id, Shapes::ShapeRef.new(shape: ClusterId, required: true, location_name: "ClusterId"))
293
+ ListClusterJobsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: ListLimit, location_name: "MaxResults"))
294
+ ListClusterJobsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: String, location_name: "NextToken"))
295
+ ListClusterJobsRequest.struct_class = Types::ListClusterJobsRequest
296
+
297
+ ListClusterJobsResult.add_member(:job_list_entries, Shapes::ShapeRef.new(shape: JobListEntryList, location_name: "JobListEntries"))
298
+ ListClusterJobsResult.add_member(:next_token, Shapes::ShapeRef.new(shape: String, location_name: "NextToken"))
299
+ ListClusterJobsResult.struct_class = Types::ListClusterJobsResult
300
+
301
+ ListClustersRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: ListLimit, location_name: "MaxResults"))
302
+ ListClustersRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: String, location_name: "NextToken"))
303
+ ListClustersRequest.struct_class = Types::ListClustersRequest
304
+
305
+ ListClustersResult.add_member(:cluster_list_entries, Shapes::ShapeRef.new(shape: ClusterListEntryList, location_name: "ClusterListEntries"))
306
+ ListClustersResult.add_member(:next_token, Shapes::ShapeRef.new(shape: String, location_name: "NextToken"))
307
+ ListClustersResult.struct_class = Types::ListClustersResult
308
+
201
309
  ListJobsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: ListLimit, location_name: "MaxResults"))
202
310
  ListJobsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: String, location_name: "NextToken"))
203
311
  ListJobsRequest.struct_class = Types::ListJobsRequest
@@ -226,6 +334,17 @@ module Aws
226
334
  ShippingDetails.add_member(:outbound_shipment, Shapes::ShapeRef.new(shape: Shipment, location_name: "OutboundShipment"))
227
335
  ShippingDetails.struct_class = Types::ShippingDetails
228
336
 
337
+ UpdateClusterRequest.add_member(:cluster_id, Shapes::ShapeRef.new(shape: ClusterId, required: true, location_name: "ClusterId"))
338
+ UpdateClusterRequest.add_member(:role_arn, Shapes::ShapeRef.new(shape: RoleARN, location_name: "RoleARN"))
339
+ UpdateClusterRequest.add_member(:description, Shapes::ShapeRef.new(shape: String, location_name: "Description"))
340
+ UpdateClusterRequest.add_member(:resources, Shapes::ShapeRef.new(shape: JobResource, location_name: "Resources"))
341
+ UpdateClusterRequest.add_member(:address_id, Shapes::ShapeRef.new(shape: AddressId, location_name: "AddressId"))
342
+ UpdateClusterRequest.add_member(:shipping_option, Shapes::ShapeRef.new(shape: ShippingOption, location_name: "ShippingOption"))
343
+ UpdateClusterRequest.add_member(:notification, Shapes::ShapeRef.new(shape: Notification, location_name: "Notification"))
344
+ UpdateClusterRequest.struct_class = Types::UpdateClusterRequest
345
+
346
+ UpdateClusterResult.struct_class = Types::UpdateClusterResult
347
+
229
348
  UpdateJobRequest.add_member(:job_id, Shapes::ShapeRef.new(shape: JobId, required: true, location_name: "JobId"))
230
349
  UpdateJobRequest.add_member(:role_arn, Shapes::ShapeRef.new(shape: RoleARN, location_name: "RoleARN"))
231
350
  UpdateJobRequest.add_member(:notification, Shapes::ShapeRef.new(shape: Notification, location_name: "Notification"))
@@ -253,6 +372,17 @@ module Aws
253
372
  "targetPrefix" => "AWSIESnowballJobManagementService",
254
373
  }
255
374
 
375
+ api.add_operation(:cancel_cluster, Seahorse::Model::Operation.new.tap do |o|
376
+ o.name = "CancelCluster"
377
+ o.http_method = "POST"
378
+ o.http_request_uri = "/"
379
+ o.input = Shapes::ShapeRef.new(shape: CancelClusterRequest)
380
+ o.output = Shapes::ShapeRef.new(shape: CancelClusterResult)
381
+ o.errors << Shapes::ShapeRef.new(shape: KMSRequestFailedException)
382
+ o.errors << Shapes::ShapeRef.new(shape: InvalidJobStateException)
383
+ o.errors << Shapes::ShapeRef.new(shape: InvalidResourceException)
384
+ end)
385
+
256
386
  api.add_operation(:cancel_job, Seahorse::Model::Operation.new.tap do |o|
257
387
  o.name = "CancelJob"
258
388
  o.http_method = "POST"
@@ -274,6 +404,17 @@ module Aws
274
404
  o.errors << Shapes::ShapeRef.new(shape: UnsupportedAddressException)
275
405
  end)
276
406
 
407
+ api.add_operation(:create_cluster, Seahorse::Model::Operation.new.tap do |o|
408
+ o.name = "CreateCluster"
409
+ o.http_method = "POST"
410
+ o.http_request_uri = "/"
411
+ o.input = Shapes::ShapeRef.new(shape: CreateClusterRequest)
412
+ o.output = Shapes::ShapeRef.new(shape: CreateClusterResult)
413
+ o.errors << Shapes::ShapeRef.new(shape: InvalidResourceException)
414
+ o.errors << Shapes::ShapeRef.new(shape: KMSRequestFailedException)
415
+ o.errors << Shapes::ShapeRef.new(shape: InvalidInputCombinationException)
416
+ end)
417
+
277
418
  api.add_operation(:create_job, Seahorse::Model::Operation.new.tap do |o|
278
419
  o.name = "CreateJob"
279
420
  o.http_method = "POST"
@@ -282,6 +423,8 @@ module Aws
282
423
  o.output = Shapes::ShapeRef.new(shape: CreateJobResult)
283
424
  o.errors << Shapes::ShapeRef.new(shape: InvalidResourceException)
284
425
  o.errors << Shapes::ShapeRef.new(shape: KMSRequestFailedException)
426
+ o.errors << Shapes::ShapeRef.new(shape: InvalidInputCombinationException)
427
+ o.errors << Shapes::ShapeRef.new(shape: ClusterLimitExceededException)
285
428
  end)
286
429
 
287
430
  api.add_operation(:describe_address, Seahorse::Model::Operation.new.tap do |o|
@@ -308,6 +451,15 @@ module Aws
308
451
  )
309
452
  end)
310
453
 
454
+ api.add_operation(:describe_cluster, Seahorse::Model::Operation.new.tap do |o|
455
+ o.name = "DescribeCluster"
456
+ o.http_method = "POST"
457
+ o.http_request_uri = "/"
458
+ o.input = Shapes::ShapeRef.new(shape: DescribeClusterRequest)
459
+ o.output = Shapes::ShapeRef.new(shape: DescribeClusterResult)
460
+ o.errors << Shapes::ShapeRef.new(shape: InvalidResourceException)
461
+ end)
462
+
311
463
  api.add_operation(:describe_job, Seahorse::Model::Operation.new.tap do |o|
312
464
  o.name = "DescribeJob"
313
465
  o.http_method = "POST"
@@ -345,6 +497,23 @@ module Aws
345
497
  o.output = Shapes::ShapeRef.new(shape: GetSnowballUsageResult)
346
498
  end)
347
499
 
500
+ api.add_operation(:list_cluster_jobs, Seahorse::Model::Operation.new.tap do |o|
501
+ o.name = "ListClusterJobs"
502
+ o.http_method = "POST"
503
+ o.http_request_uri = "/"
504
+ o.input = Shapes::ShapeRef.new(shape: ListClusterJobsRequest)
505
+ o.output = Shapes::ShapeRef.new(shape: ListClusterJobsResult)
506
+ o.errors << Shapes::ShapeRef.new(shape: InvalidResourceException)
507
+ end)
508
+
509
+ api.add_operation(:list_clusters, Seahorse::Model::Operation.new.tap do |o|
510
+ o.name = "ListClusters"
511
+ o.http_method = "POST"
512
+ o.http_request_uri = "/"
513
+ o.input = Shapes::ShapeRef.new(shape: ListClustersRequest)
514
+ o.output = Shapes::ShapeRef.new(shape: ListClustersResult)
515
+ end)
516
+
348
517
  api.add_operation(:list_jobs, Seahorse::Model::Operation.new.tap do |o|
349
518
  o.name = "ListJobs"
350
519
  o.http_method = "POST"
@@ -359,6 +528,18 @@ module Aws
359
528
  )
360
529
  end)
361
530
 
531
+ api.add_operation(:update_cluster, Seahorse::Model::Operation.new.tap do |o|
532
+ o.name = "UpdateCluster"
533
+ o.http_method = "POST"
534
+ o.http_request_uri = "/"
535
+ o.input = Shapes::ShapeRef.new(shape: UpdateClusterRequest)
536
+ o.output = Shapes::ShapeRef.new(shape: UpdateClusterResult)
537
+ o.errors << Shapes::ShapeRef.new(shape: InvalidResourceException)
538
+ o.errors << Shapes::ShapeRef.new(shape: InvalidJobStateException)
539
+ o.errors << Shapes::ShapeRef.new(shape: KMSRequestFailedException)
540
+ o.errors << Shapes::ShapeRef.new(shape: InvalidInputCombinationException)
541
+ end)
542
+
362
543
  api.add_operation(:update_job, Seahorse::Model::Operation.new.tap do |o|
363
544
  o.name = "UpdateJob"
364
545
  o.http_method = "POST"
@@ -368,6 +549,8 @@ module Aws
368
549
  o.errors << Shapes::ShapeRef.new(shape: InvalidResourceException)
369
550
  o.errors << Shapes::ShapeRef.new(shape: InvalidJobStateException)
370
551
  o.errors << Shapes::ShapeRef.new(shape: KMSRequestFailedException)
552
+ o.errors << Shapes::ShapeRef.new(shape: InvalidInputCombinationException)
553
+ o.errors << Shapes::ShapeRef.new(shape: ClusterLimitExceededException)
371
554
  end)
372
555
  end
373
556
 
@@ -70,13 +70,12 @@ module Aws
70
70
  # @return [String]
71
71
  #
72
72
  # @!attribute [rw] prefecture_or_district
73
- # The prefecture or district in an address that a Snowball is to be
74
- # delivered to.
73
+ # The prefecture or district that the appliance will be shipped to.
75
74
  # @return [String]
76
75
  #
77
76
  # @!attribute [rw] landmark
78
- # A landmark listed in an address that a Snowball is to be delivered
79
- # to.
77
+ # The landmark identifying the address that the appliance will be
78
+ # shipped to.
80
79
  # @return [String]
81
80
  #
82
81
  # @!attribute [rw] country
@@ -108,6 +107,23 @@ module Aws
108
107
  include Aws::Structure
109
108
  end
110
109
 
110
+ # @note When making an API call, pass CancelClusterRequest
111
+ # data as a hash:
112
+ #
113
+ # {
114
+ # cluster_id: "ClusterId", # required
115
+ # }
116
+ # @!attribute [rw] cluster_id
117
+ # The 39-character ID for the cluster that you want to cancel, for
118
+ # example `CID123e4567-e89b-12d3-a456-426655440000`.
119
+ # @return [String]
120
+ class CancelClusterRequest < Struct.new(
121
+ :cluster_id)
122
+ include Aws::Structure
123
+ end
124
+
125
+ class CancelClusterResult < Aws::EmptyStructure; end
126
+
111
127
  # @note When making an API call, pass CancelJobRequest
112
128
  # data as a hash:
113
129
  #
@@ -115,7 +131,7 @@ module Aws
115
131
  # job_id: "JobId", # required
116
132
  # }
117
133
  # @!attribute [rw] job_id
118
- # The 39 character job ID for the job that you want to cancel, for
134
+ # The 39-character job ID for the job that you want to cancel, for
119
135
  # example `JID123e4567-e89b-12d3-a456-426655440000`.
120
136
  # @return [String]
121
137
  class CancelJobRequest < Struct.new(
@@ -125,6 +141,132 @@ module Aws
125
141
 
126
142
  class CancelJobResult < Aws::EmptyStructure; end
127
143
 
144
+ # Contains a cluster's state, a cluster's ID, and other important
145
+ # information.
146
+ # @!attribute [rw] cluster_id
147
+ # The 39-character ID for the cluster that you want to list, for
148
+ # example `CID123e4567-e89b-12d3-a456-426655440000`.
149
+ # @return [String]
150
+ #
151
+ # @!attribute [rw] cluster_state
152
+ # The current state of this cluster. For information about the state
153
+ # of a specific node, see JobListEntry$JobState.
154
+ # @return [String]
155
+ #
156
+ # @!attribute [rw] creation_date
157
+ # The creation date for this cluster.
158
+ # @return [Time]
159
+ #
160
+ # @!attribute [rw] description
161
+ # Defines an optional description of the cluster, for example
162
+ # `Environmental Data Cluster-01`.
163
+ # @return [String]
164
+ class ClusterListEntry < Struct.new(
165
+ :cluster_id,
166
+ :cluster_state,
167
+ :creation_date,
168
+ :description)
169
+ include Aws::Structure
170
+ end
171
+
172
+ # Contains metadata about a specific cluster.
173
+ # @!attribute [rw] cluster_id
174
+ # The automatically generated ID for a cluster.
175
+ # @return [String]
176
+ #
177
+ # @!attribute [rw] description
178
+ # The optional description of the cluster.
179
+ # @return [String]
180
+ #
181
+ # @!attribute [rw] kms_key_arn
182
+ # The `KmsKeyARN` Amazon Resource Name (ARN) associated with this
183
+ # cluster. This ARN was created using the [CreateKey][1] API action in
184
+ # AWS Key Management Service (AWS KMS).
185
+ #
186
+ #
187
+ #
188
+ # [1]: http://docs.aws.amazon.com/kms/latest/APIReference/API_CreateKey.html
189
+ # @return [String]
190
+ #
191
+ # @!attribute [rw] role_arn
192
+ # The role ARN associated with this cluster. This ARN was created
193
+ # using the [CreateRole][1] API action in AWS Identity and Access
194
+ # Management (IAM).
195
+ #
196
+ #
197
+ #
198
+ # [1]: http://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateRole.html
199
+ # @return [String]
200
+ #
201
+ # @!attribute [rw] cluster_state
202
+ # The current status of the cluster.
203
+ # @return [String]
204
+ #
205
+ # @!attribute [rw] job_type
206
+ # The type of job for this cluster. Currently, the only job type
207
+ # supported for clusters is `LOCAL_USE`.
208
+ # @return [String]
209
+ #
210
+ # @!attribute [rw] snowball_type
211
+ # The type of AWS Snowball appliance to use for this cluster.
212
+ # Currently, the only supported appliance type for cluster jobs is
213
+ # `EDGE`.
214
+ # @return [String]
215
+ #
216
+ # @!attribute [rw] creation_date
217
+ # The creation date for this cluster.
218
+ # @return [Time]
219
+ #
220
+ # @!attribute [rw] resources
221
+ # The arrays of JobResource objects that can include updated
222
+ # S3Resource objects or LambdaResource objects.
223
+ # @return [Types::JobResource]
224
+ #
225
+ # @!attribute [rw] address_id
226
+ # The automatically generated ID for a specific address.
227
+ # @return [String]
228
+ #
229
+ # @!attribute [rw] shipping_option
230
+ # The shipping speed for each node in this cluster. This speed
231
+ # doesn't dictate how soon you'll get each Snowball Edge appliance,
232
+ # rather it represents how quickly each appliance moves to its
233
+ # destination while in transit. Regional shipping speeds are as
234
+ # follows:
235
+ #
236
+ # * In Australia, you have access to express shipping. Typically,
237
+ # appliances shipped express are delivered in about a day.
238
+ #
239
+ # * In the European Union (EU), you have access to express shipping.
240
+ # Typically, Snowball Edges shipped express are delivered in about a
241
+ # day. In addition, most countries in the EU have access to standard
242
+ # shipping, which typically takes less than a week, one way.
243
+ #
244
+ # * In India, Snowball Edges are delivered in one to seven days.
245
+ #
246
+ # * In the US, you have access to one-day shipping and two-day
247
+ # shipping.
248
+ # @return [String]
249
+ #
250
+ # @!attribute [rw] notification
251
+ # The Amazon Simple Notification Service (Amazon SNS) notification
252
+ # settings for this cluster.
253
+ # @return [Types::Notification]
254
+ class ClusterMetadata < Struct.new(
255
+ :cluster_id,
256
+ :description,
257
+ :kms_key_arn,
258
+ :role_arn,
259
+ :cluster_state,
260
+ :job_type,
261
+ :snowball_type,
262
+ :creation_date,
263
+ :resources,
264
+ :address_id,
265
+ :shipping_option,
266
+ :notification)
267
+ include Aws::Structure
268
+ end
269
+
128
270
  # @note When making an API call, pass CreateAddressRequest
129
271
  # data as a hash:
130
272
  #
@@ -163,11 +305,11 @@ module Aws
163
305
  include Aws::Structure
164
306
  end
165
307
 
166
- # @note When making an API call, pass CreateJobRequest
308
+ # @note When making an API call, pass CreateClusterRequest
167
309
  # data as a hash:
168
310
  #
169
311
  # {
170
- # job_type: "IMPORT", # required, accepts IMPORT, EXPORT
312
+ # job_type: "IMPORT", # required, accepts IMPORT, EXPORT, LOCAL_USE
171
313
  # resources: { # required
172
314
  # s3_resources: [
173
315
  # {
@@ -178,12 +320,22 @@ module Aws
178
320
  # },
179
321
  # },
180
322
  # ],
323
+ # lambda_resources: [
324
+ # {
325
+ # lambda_arn: "ResourceARN",
326
+ # event_triggers: [
327
+ # {
328
+ # event_resource_arn: "ResourceARN",
329
+ # },
330
+ # ],
331
+ # },
332
+ # ],
181
333
  # },
182
334
  # description: "String",
183
335
  # address_id: "AddressId", # required
184
336
  # kms_key_arn: "KmsKeyARN",
185
337
  # role_arn: "RoleARN", # required
186
- # snowball_capacity_preference: "T50", # accepts T50, T80, NoPreference
338
+ # snowball_type: "STANDARD", # accepts STANDARD, EDGE
187
339
  # shipping_option: "SECOND_DAY", # required, accepts SECOND_DAY, NEXT_DAY, EXPRESS, STANDARD
188
340
  # notification: {
189
341
  # sns_topic_arn: "SnsTopicARN",
@@ -192,6 +344,138 @@ module Aws
192
344
  # },
193
345
  # }
194
346
  # @!attribute [rw] job_type
347
+ # The type of job for this cluster. Currently, the only job type
348
+ # supported for clusters is `LOCAL_USE`.
349
+ # @return [String]
350
+ #
351
+ # @!attribute [rw] resources
352
+ # The resources associated with the cluster job. These resources
353
+ # include Amazon S3 buckets and optional AWS Lambda functions written
354
+ # in the Python language.
355
+ # @return [Types::JobResource]
356
+ #
357
+ # @!attribute [rw] description
358
+ # An optional description of this specific cluster, for example
359
+ # `Environmental Data Cluster-01`.
360
+ # @return [String]
361
+ #
362
+ # @!attribute [rw] address_id
363
+ # The ID for the address that you want the cluster shipped to.&gt;
364
+ # @return [String]
365
+ #
366
+ # @!attribute [rw] kms_key_arn
367
+ # The `KmsKeyARN` value that you want to associate with this cluster.
368
+ # `KmsKeyARN` values are created by using the [CreateKey][1] API
369
+ # action in AWS Key Management Service (AWS KMS).
370
+ #
371
+ #
372
+ #
373
+ # [1]: http://docs.aws.amazon.com/kms/latest/APIReference/API_CreateKey.html
374
+ # @return [String]
375
+ #
376
+ # @!attribute [rw] role_arn
377
+ # The `RoleARN` that you want to associate with this cluster.
378
+ # `RoleArn` values are created by using the [CreateRole][1] API action
379
+ # in AWS Identity and Access Management (IAM).
380
+ #
381
+ #
382
+ #
383
+ # [1]: http://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateRole.html
384
+ # @return [String]
385
+ #
386
+ # @!attribute [rw] snowball_type
387
+ # The type of AWS Snowball appliance to use for this cluster.
388
+ # Currently, the only supported appliance type for cluster jobs is
389
+ # `EDGE`.
390
+ # @return [String]
391
+ #
392
+ # @!attribute [rw] shipping_option
393
+ # The shipping speed for each node in this cluster. This speed
394
+ # doesn't dictate how soon you'll get each Snowball Edge appliance,
395
+ # rather it represents how quickly each appliance moves to its
396
+ # destination while in transit. Regional shipping speeds are as
397
+ # follows:
398
+ #
399
+ # * In Australia, you have access to express shipping. Typically,
400
+ # appliances shipped express are delivered in about a day.
401
+ #
402
+ # * In the European Union (EU), you have access to express shipping.
403
+ # Typically, Snowball Edges shipped express are delivered in about a
404
+ # day. In addition, most countries in the EU have access to standard
405
+ # shipping, which typically takes less than a week, one way.
406
+ #
407
+ # * In India, Snowball Edges are delivered in one to seven days.
408
+ #
409
+ # * In the US, you have access to one-day shipping and two-day
410
+ # shipping.
411
+ # @return [String]
412
+ #
413
+ # @!attribute [rw] notification
414
+ # The Amazon Simple Notification Service (Amazon SNS) notification
415
+ # settings for this cluster.
416
+ # @return [Types::Notification]
417
+ class CreateClusterRequest < Struct.new(
418
+ :job_type,
419
+ :resources,
420
+ :description,
421
+ :address_id,
422
+ :kms_key_arn,
423
+ :role_arn,
424
+ :snowball_type,
425
+ :shipping_option,
426
+ :notification)
427
+ include Aws::Structure
428
+ end
429
+
430
+ # @!attribute [rw] cluster_id
431
+ # The automatically generated ID for a cluster.
432
+ # @return [String]
433
+ class CreateClusterResult < Struct.new(
434
+ :cluster_id)
435
+ include Aws::Structure
436
+ end
437
+
438
+ # @note When making an API call, pass CreateJobRequest
439
+ # data as a hash:
440
+ #
441
+ # {
442
+ # job_type: "IMPORT", # accepts IMPORT, EXPORT, LOCAL_USE
443
+ # resources: {
444
+ # s3_resources: [
445
+ # {
446
+ # bucket_arn: "ResourceARN",
447
+ # key_range: {
448
+ # begin_marker: "String",
449
+ # end_marker: "String",
450
+ # },
451
+ # },
452
+ # ],
453
+ # lambda_resources: [
454
+ # {
455
+ # lambda_arn: "ResourceARN",
456
+ # event_triggers: [
457
+ # {
458
+ # event_resource_arn: "ResourceARN",
459
+ # },
460
+ # ],
461
+ # },
462
+ # ],
463
+ # },
464
+ # description: "String",
465
+ # address_id: "AddressId",
466
+ # kms_key_arn: "KmsKeyARN",
467
+ # role_arn: "RoleARN",
468
+ # snowball_capacity_preference: "T50", # accepts T50, T80, T100, NoPreference
469
+ # shipping_option: "SECOND_DAY", # accepts SECOND_DAY, NEXT_DAY, EXPRESS, STANDARD
470
+ # notification: {
471
+ # sns_topic_arn: "SnsTopicARN",
472
+ # job_states_to_notify: ["New"], # accepts New, PreparingAppliance, PreparingShipment, InTransitToCustomer, WithCustomer, InTransitToAWS, WithAWS, InProgress, Complete, Cancelled, Listing, Pending
473
+ # notify_all: false,
474
+ # },
475
+ # cluster_id: "ClusterId",
476
+ # snowball_type: "STANDARD", # accepts STANDARD, EDGE
477
+ # }
478
+ # @!attribute [rw] job_type
195
479
  # Defines the type of job that you're creating.
196
480
  # @return [String]
197
481
  #
@@ -245,10 +529,10 @@ module Aws
245
529
  # @return [String]
246
530
  #
247
531
  # @!attribute [rw] shipping_option
248
- # The shipping speed for this job. Note that this speed does not
249
- # dictate how soon you'll get the Snowball, rather it represents how
250
- # quickly the Snowball moves to its destination while in transit.
251
- # Regional shipping speeds are as follows:
532
+ # The shipping speed for this job. This speed doesn't dictate how
533
+ # soon you'll get the Snowball, rather it represents how quickly the
534
+ # Snowball moves to its destination while in transit. Regional
535
+ # shipping speeds are as follows:
252
536
  #
253
537
  # * In Australia, you have access to express shipping. Typically,
254
538
  # Snowballs shipped express are delivered in about a day.
@@ -268,6 +552,17 @@ module Aws
268
552
  # Defines the Amazon Simple Notification Service (Amazon SNS)
269
553
  # notification settings for this job.
270
554
  # @return [Types::Notification]
555
+ #
556
+ # @!attribute [rw] cluster_id
557
+ # The ID of a cluster. If you're creating a job for a node in a
558
+ # cluster, you need to provide only this `clusterId` value. The other
559
+ # job attributes are inherited from the cluster.
560
+ # @return [String]
561
+ #
562
+ # @!attribute [rw] snowball_type
563
+ # The type of AWS Snowball appliance to use for this job. Currently,
564
+ # the only supported appliance type for cluster jobs is `EDGE`.
565
+ # @return [String]
271
566
  class CreateJobRequest < Struct.new(
272
567
  :job_type,
273
568
  :resources,
@@ -277,7 +572,9 @@ module Aws
277
572
  :role_arn,
278
573
  :snowball_capacity_preference,
279
574
  :shipping_option,
280
- :notification)
575
+ :notification,
576
+ :cluster_id,
577
+ :snowball_type)
281
578
  include Aws::Structure
282
579
  end
283
580
 
@@ -291,9 +588,8 @@ module Aws
291
588
  end
292
589
 
293
590
  # Defines the real-time status of a Snowball's data transfer while the
294
- # appliance is at AWS. Note that this data is only available while a job
295
- # has a `JobState` value of `InProgress`, for both import and export
296
- # jobs.
591
+ # appliance is at AWS. This data is only available while a job has a
592
+ # `JobState` value of `InProgress`, for both import and export jobs.
297
593
  # @!attribute [rw] bytes_transferred
298
594
  # The number of bytes transferred between a Snowball and Amazon S3.
299
595
  # @return [Integer]
@@ -382,6 +678,29 @@ module Aws
382
678
  include Aws::Structure
383
679
  end
384
680
 
681
+ # @note When making an API call, pass DescribeClusterRequest
682
+ # data as a hash:
683
+ #
684
+ # {
685
+ # cluster_id: "ClusterId", # required
686
+ # }
687
+ # @!attribute [rw] cluster_id
688
+ # The automatically generated ID for a cluster.
689
+ # @return [String]
690
+ class DescribeClusterRequest < Struct.new(
691
+ :cluster_id)
692
+ include Aws::Structure
693
+ end
694
+
695
+ # @!attribute [rw] cluster_metadata
696
+ # Information about a specific cluster, including shipping
697
+ # information, cluster status, and other important metadata.
698
+ # @return [Types::ClusterMetadata]
699
+ class DescribeClusterResult < Struct.new(
700
+ :cluster_metadata)
701
+ include Aws::Structure
702
+ end
703
+
385
704
  # @note When making an API call, pass DescribeJobRequest
386
705
  # data as a hash:
387
706
  #
@@ -413,6 +732,22 @@ module Aws
413
732
  include Aws::Structure
414
733
  end
415
734
 
735
+ # The container for the EventTriggerDefinition$EventResourceARN.
736
+ # @note When making an API call, pass EventTriggerDefinition
737
+ # data as a hash:
738
+ #
739
+ # {
740
+ # event_resource_arn: "ResourceARN",
741
+ # }
742
+ # @!attribute [rw] event_resource_arn
743
+ # The Amazon Resource Name (ARN) for any local Amazon S3 resource that
744
+ # is an AWS Lambda function's event trigger associated with this job.
745
+ # @return [String]
746
+ class EventTriggerDefinition < Struct.new(
747
+ :event_resource_arn)
748
+ include Aws::Structure
749
+ end
750
+
416
751
  # @note When making an API call, pass GetJobManifestRequest
417
752
  # data as a hash:
418
753
  #
@@ -499,10 +834,31 @@ module Aws
499
834
  # with a particular master job are listed, because they are created
500
835
  # after the master job is created.
501
836
  # @return [Boolean]
837
+ #
838
+ # @!attribute [rw] job_type
839
+ # The type of job.
840
+ # @return [String]
841
+ #
842
+ # @!attribute [rw] snowball_type
843
+ # The type of appliance used with this job.
844
+ # @return [String]
845
+ #
846
+ # @!attribute [rw] creation_date
847
+ # The creation date for this job.
848
+ # @return [Time]
849
+ #
850
+ # @!attribute [rw] description
851
+ # The optional description of this specific job, for example
852
+ # `Important Photos 2016-08-11`.
853
+ # @return [String]
502
854
  class JobListEntry < Struct.new(
503
855
  :job_id,
504
856
  :job_state,
505
- :is_master)
857
+ :is_master,
858
+ :job_type,
859
+ :snowball_type,
860
+ :creation_date,
861
+ :description)
506
862
  include Aws::Structure
507
863
  end
508
864
 
@@ -559,13 +915,17 @@ module Aws
559
915
  # @return [String]
560
916
  #
561
917
  # @!attribute [rw] job_state
562
- # The current state of the jobs.
918
+ # The current status of the jobs.
563
919
  # @return [String]
564
920
  #
565
921
  # @!attribute [rw] job_type
566
922
  # The type of job.
567
923
  # @return [String]
568
924
  #
925
+ # @!attribute [rw] snowball_type
926
+ # The type of appliance used with this job.
927
+ # @return [String]
928
+ #
569
929
  # @!attribute [rw] creation_date
570
930
  # The creation date for this job.
571
931
  # @return [Time]
@@ -616,9 +976,9 @@ module Aws
616
976
  #
617
977
  # @!attribute [rw] data_transfer_progress
618
978
  # A value that defines the real-time status of a Snowball's data
619
- # transfer while the appliance is at AWS. Note that this data is only
620
- # available while a job has a `JobState` value of `InProgress`, for
621
- # both import and export jobs.
979
+ # transfer while the appliance is at AWS. This data is only available
980
+ # while a job has a `JobState` value of `InProgress`, for both import
981
+ # and export jobs.
622
982
  # @return [Types::DataTransfer]
623
983
  #
624
984
  # @!attribute [rw] job_log_info
@@ -628,10 +988,16 @@ module Aws
628
988
  # available while the Snowball for your job part is being delivered to
629
989
  # you.
630
990
  # @return [Types::JobLogs]
991
+ #
992
+ # @!attribute [rw] cluster_id
993
+ # The 39-character ID for the cluster, for example
994
+ # `CID123e4567-e89b-12d3-a456-426655440000`.
995
+ # @return [String]
631
996
  class JobMetadata < Struct.new(
632
997
  :job_id,
633
998
  :job_state,
634
999
  :job_type,
1000
+ :snowball_type,
635
1001
  :creation_date,
636
1002
  :resources,
637
1003
  :description,
@@ -642,7 +1008,8 @@ module Aws
642
1008
  :snowball_capacity_preference,
643
1009
  :notification,
644
1010
  :data_transfer_progress,
645
- :job_log_info)
1011
+ :job_log_info,
1012
+ :cluster_id)
646
1013
  include Aws::Structure
647
1014
  end
648
1015
 
@@ -662,12 +1029,27 @@ module Aws
662
1029
  # },
663
1030
  # },
664
1031
  # ],
1032
+ # lambda_resources: [
1033
+ # {
1034
+ # lambda_arn: "ResourceARN",
1035
+ # event_triggers: [
1036
+ # {
1037
+ # event_resource_arn: "ResourceARN",
1038
+ # },
1039
+ # ],
1040
+ # },
1041
+ # ],
665
1042
  # }
666
1043
  # @!attribute [rw] s3_resources
667
1044
  # An array of `S3Resource` objects.
668
1045
  # @return [Array<Types::S3Resource>]
1046
+ #
1047
+ # @!attribute [rw] lambda_resources
1048
+ # The Python-language Lambda functions for this job.
1049
+ # @return [Array<Types::LambdaResource>]
669
1050
  class JobResource < Struct.new(
670
- :s3_resources)
1051
+ :s3_resources,
1052
+ :lambda_resources)
671
1053
  include Aws::Structure
672
1054
  end
673
1055
 
@@ -697,6 +1079,118 @@ module Aws
697
1079
  include Aws::Structure
698
1080
  end
699
1081
 
1082
+ # Identifies
1083
+ # @note When making an API call, pass LambdaResource
1084
+ # data as a hash:
1085
+ #
1086
+ # {
1087
+ # lambda_arn: "ResourceARN",
1088
+ # event_triggers: [
1089
+ # {
1090
+ # event_resource_arn: "ResourceARN",
1091
+ # },
1092
+ # ],
1093
+ # }
1094
+ # @!attribute [rw] lambda_arn
1095
+ # An Amazon Resource Name (ARN) that represents an AWS Lambda function
1096
+ # to be triggered by PUT object actions on the associated local Amazon
1097
+ # S3 resource.
1098
+ # @return [String]
1099
+ #
1100
+ # @!attribute [rw] event_triggers
1101
+ # The array of ARNs for S3Resource objects to trigger the
1102
+ # LambdaResource objects associated with this job.
1103
+ # @return [Array<Types::EventTriggerDefinition>]
1104
+ class LambdaResource < Struct.new(
1105
+ :lambda_arn,
1106
+ :event_triggers)
1107
+ include Aws::Structure
1108
+ end
1109
+
1110
+ # @note When making an API call, pass ListClusterJobsRequest
1111
+ # data as a hash:
1112
+ #
1113
+ # {
1114
+ # cluster_id: "ClusterId", # required
1115
+ # max_results: 1,
1116
+ # next_token: "String",
1117
+ # }
1118
+ # @!attribute [rw] cluster_id
1119
+ # The 39-character ID for the cluster that you want to list, for
1120
+ # example `CID123e4567-e89b-12d3-a456-426655440000`.
1121
+ # @return [String]
1122
+ #
1123
+ # @!attribute [rw] max_results
1124
+ # The number of `JobListEntry` objects to return.
1125
+ # @return [Integer]
1126
+ #
1127
+ # @!attribute [rw] next_token
1128
+ # HTTP requests are stateless. To identify what object comes "next"
1129
+ # in the list of `JobListEntry` objects, you have the option of
1130
+ # specifying `NextToken` as the starting point for your returned list.
1131
+ # @return [String]
1132
+ class ListClusterJobsRequest < Struct.new(
1133
+ :cluster_id,
1134
+ :max_results,
1135
+ :next_token)
1136
+ include Aws::Structure
1137
+ end
1138
+
1139
+ # @!attribute [rw] job_list_entries
1140
+ # Each `JobListEntry` object contains a job's state, a job's ID, and
1141
+ # a value that indicates whether the job is a job part, in the case of
1142
+ # export jobs.
1143
+ # @return [Array<Types::JobListEntry>]
1144
+ #
1145
+ # @!attribute [rw] next_token
1146
+ # HTTP requests are stateless. If you use the automatically generated
1147
+ # `NextToken` value in your next `ListClusterJobsResult` call, your
1148
+ # list of returned jobs will start from this point in the array.
1149
+ # @return [String]
1150
+ class ListClusterJobsResult < Struct.new(
1151
+ :job_list_entries,
1152
+ :next_token)
1153
+ include Aws::Structure
1154
+ end
1155
+
1156
+ # @note When making an API call, pass ListClustersRequest
1157
+ # data as a hash:
1158
+ #
1159
+ # {
1160
+ # max_results: 1,
1161
+ # next_token: "String",
1162
+ # }
1163
+ # @!attribute [rw] max_results
1164
+ # The number of `ClusterListEntry` objects to return.
1165
+ # @return [Integer]
1166
+ #
1167
+ # @!attribute [rw] next_token
1168
+ # HTTP requests are stateless. To identify what object comes "next"
1169
+ # in the list of `ClusterListEntry` objects, you have the option of
1170
+ # specifying `NextToken` as the starting point for your returned list.
1171
+ # @return [String]
1172
+ class ListClustersRequest < Struct.new(
1173
+ :max_results,
1174
+ :next_token)
1175
+ include Aws::Structure
1176
+ end
1177
+
1178
+ # @!attribute [rw] cluster_list_entries
1179
+ # Each `ClusterListEntry` object contains a cluster's state, a
1180
+ # cluster's ID, and other important status information.
1181
+ # @return [Array<Types::ClusterListEntry>]
1182
+ #
1183
+ # @!attribute [rw] next_token
1184
+ # HTTP requests are stateless. If you use the automatically generated
1185
+ # `NextToken` value in your next `ClusterListEntry` call, your list of
1186
+ # returned clusters will start from this point in the array.
1187
+ # @return [String]
1188
+ class ListClustersResult < Struct.new(
1189
+ :cluster_list_entries,
1190
+ :next_token)
1191
+ include Aws::Structure
1192
+ end
1193
+
700
1194
  # @note When making an API call, pass ListJobsRequest
701
1195
  # data as a hash:
702
1196
  #
@@ -759,9 +1253,9 @@ module Aws
759
1253
  # can create Amazon Resource Names (ARNs) for topics by using the
760
1254
  # [CreateTopic][1] Amazon SNS API action.
761
1255
  #
762
- # Note that you can subscribe email addresses to an Amazon SNS topic
763
- # through the AWS Management Console, or by using the [Subscribe][2]
764
- # AWS Simple Notification Service (SNS) API action.
1256
+ # You can subscribe email addresses to an Amazon SNS topic through the
1257
+ # AWS Management Console, or by using the [Subscribe][2] AWS Simple
1258
+ # Notification Service (SNS) API action.
765
1259
  #
766
1260
  #
767
1261
  #
@@ -840,11 +1334,10 @@ module Aws
840
1334
  # A job's shipping information, including inbound and outbound tracking
841
1335
  # numbers and shipping speed options.
842
1336
  # @!attribute [rw] shipping_option
843
- # The shipping speed for a particular job. Note that this speed does
844
- # not dictate how soon you'll get the Snowball from the job's
845
- # creation date. This speed represents how quickly it moves to its
846
- # destination while in transit. Regional shipping speeds are as
847
- # follows:
1337
+ # The shipping speed for a particular job. This speed doesn't dictate
1338
+ # how soon you'll get the Snowball from the job's creation date.
1339
+ # This speed represents how quickly it moves to its destination while
1340
+ # in transit. Regional shipping speeds are as follows:
848
1341
  #
849
1342
  # * In Australia, you have access to express shipping. Typically,
850
1343
  # Snowballs shipped express are delivered in about a day.
@@ -876,6 +1369,91 @@ module Aws
876
1369
  include Aws::Structure
877
1370
  end
878
1371
 
1372
+ # @note When making an API call, pass UpdateClusterRequest
1373
+ # data as a hash:
1374
+ #
1375
+ # {
1376
+ # cluster_id: "ClusterId", # required
1377
+ # role_arn: "RoleARN",
1378
+ # description: "String",
1379
+ # resources: {
1380
+ # s3_resources: [
1381
+ # {
1382
+ # bucket_arn: "ResourceARN",
1383
+ # key_range: {
1384
+ # begin_marker: "String",
1385
+ # end_marker: "String",
1386
+ # },
1387
+ # },
1388
+ # ],
1389
+ # lambda_resources: [
1390
+ # {
1391
+ # lambda_arn: "ResourceARN",
1392
+ # event_triggers: [
1393
+ # {
1394
+ # event_resource_arn: "ResourceARN",
1395
+ # },
1396
+ # ],
1397
+ # },
1398
+ # ],
1399
+ # },
1400
+ # address_id: "AddressId",
1401
+ # shipping_option: "SECOND_DAY", # accepts SECOND_DAY, NEXT_DAY, EXPRESS, STANDARD
1402
+ # notification: {
1403
+ # sns_topic_arn: "SnsTopicARN",
1404
+ # job_states_to_notify: ["New"], # accepts New, PreparingAppliance, PreparingShipment, InTransitToCustomer, WithCustomer, InTransitToAWS, WithAWS, InProgress, Complete, Cancelled, Listing, Pending
1405
+ # notify_all: false,
1406
+ # },
1407
+ # }
1408
+ # @!attribute [rw] cluster_id
1409
+ # The cluster ID of the cluster that you want to update, for example
1410
+ # `CID123e4567-e89b-12d3-a456-426655440000`.
1411
+ # @return [String]
1412
+ #
1413
+ # @!attribute [rw] role_arn
1414
+ # The new role Amazon Resource Name (ARN) that you want to associate
1415
+ # with this cluster. To create a role ARN, use the [CreateRole][1] API
1416
+ # action in AWS Identity and Access Management (IAM).
1417
+ #
1418
+ #
1419
+ #
1420
+ # [1]: http://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateRole.html
1421
+ # @return [String]
1422
+ #
1423
+ # @!attribute [rw] description
1424
+ # The updated description of this cluster.
1425
+ # @return [String]
1426
+ #
1427
+ # @!attribute [rw] resources
1428
+ # The updated arrays of JobResource objects that can include updated
1429
+ # S3Resource objects or LambdaResource objects.
1430
+ # @return [Types::JobResource]
1431
+ #
1432
+ # @!attribute [rw] address_id
1433
+ # The ID of the updated Address object.
1434
+ # @return [String]
1435
+ #
1436
+ # @!attribute [rw] shipping_option
1437
+ # The updated shipping option value of this cluster's ShippingDetails
1438
+ # object.
1439
+ # @return [String]
1440
+ #
1441
+ # @!attribute [rw] notification
1442
+ # The new or updated Notification object.
1443
+ # @return [Types::Notification]
1444
+ class UpdateClusterRequest < Struct.new(
1445
+ :cluster_id,
1446
+ :role_arn,
1447
+ :description,
1448
+ :resources,
1449
+ :address_id,
1450
+ :shipping_option,
1451
+ :notification)
1452
+ include Aws::Structure
1453
+ end
1454
+
1455
+ class UpdateClusterResult < Aws::EmptyStructure; end
1456
+
879
1457
  # @note When making an API call, pass UpdateJobRequest
880
1458
  # data as a hash:
881
1459
  #
@@ -897,11 +1475,21 @@ module Aws
897
1475
  # },
898
1476
  # },
899
1477
  # ],
1478
+ # lambda_resources: [
1479
+ # {
1480
+ # lambda_arn: "ResourceARN",
1481
+ # event_triggers: [
1482
+ # {
1483
+ # event_resource_arn: "ResourceARN",
1484
+ # },
1485
+ # ],
1486
+ # },
1487
+ # ],
900
1488
  # },
901
1489
  # address_id: "AddressId",
902
1490
  # shipping_option: "SECOND_DAY", # accepts SECOND_DAY, NEXT_DAY, EXPRESS, STANDARD
903
1491
  # description: "String",
904
- # snowball_capacity_preference: "T50", # accepts T50, T80, NoPreference
1492
+ # snowball_capacity_preference: "T50", # accepts T50, T80, T100, NoPreference
905
1493
  # }
906
1494
  # @!attribute [rw] job_id
907
1495
  # The job ID of the job that you want to update, for example
@@ -943,8 +1531,7 @@ module Aws
943
1531
  #
944
1532
  # @!attribute [rw] snowball_capacity_preference
945
1533
  # The updated `SnowballCapacityPreference` of this job's JobMetadata
946
- # object. Note that the 50 TB Snowballs are only available in the US
947
- # regions.
1534
+ # object. The 50 TB Snowballs are only available in the US regions.
948
1535
  # @return [String]
949
1536
  class UpdateJobRequest < Struct.new(
950
1537
  :job_id,