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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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,