aws-sdk-ebs 1.4.0 → 1.9.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/aws-sdk-ebs.rb +5 -3
- data/lib/aws-sdk-ebs/client.rb +327 -14
- data/lib/aws-sdk-ebs/client_api.rb +164 -0
- data/lib/aws-sdk-ebs/errors.rb +118 -0
- data/lib/aws-sdk-ebs/resource.rb +2 -0
- data/lib/aws-sdk-ebs/types.rb +507 -1
- metadata +4 -4
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
# WARNING ABOUT GENERATED CODE
|
2
4
|
#
|
3
5
|
# This file is generated. See the contributing guide for more information:
|
@@ -11,33 +13,67 @@ module Aws::EBS
|
|
11
13
|
|
12
14
|
include Seahorse::Model
|
13
15
|
|
16
|
+
AccessDeniedException = Shapes::StructureShape.new(name: 'AccessDeniedException')
|
17
|
+
AccessDeniedExceptionReason = Shapes::StringShape.new(name: 'AccessDeniedExceptionReason')
|
14
18
|
Block = Shapes::StructureShape.new(name: 'Block')
|
15
19
|
BlockData = Shapes::BlobShape.new(name: 'BlockData', streaming: true)
|
16
20
|
BlockIndex = Shapes::IntegerShape.new(name: 'BlockIndex')
|
17
21
|
BlockSize = Shapes::IntegerShape.new(name: 'BlockSize')
|
18
22
|
BlockToken = Shapes::StringShape.new(name: 'BlockToken')
|
19
23
|
Blocks = Shapes::ListShape.new(name: 'Blocks')
|
24
|
+
Boolean = Shapes::BooleanShape.new(name: 'Boolean')
|
20
25
|
ChangedBlock = Shapes::StructureShape.new(name: 'ChangedBlock')
|
21
26
|
ChangedBlocks = Shapes::ListShape.new(name: 'ChangedBlocks')
|
27
|
+
ChangedBlocksCount = Shapes::IntegerShape.new(name: 'ChangedBlocksCount')
|
22
28
|
Checksum = Shapes::StringShape.new(name: 'Checksum')
|
29
|
+
ChecksumAggregationMethod = Shapes::StringShape.new(name: 'ChecksumAggregationMethod')
|
23
30
|
ChecksumAlgorithm = Shapes::StringShape.new(name: 'ChecksumAlgorithm')
|
31
|
+
CompleteSnapshotRequest = Shapes::StructureShape.new(name: 'CompleteSnapshotRequest')
|
32
|
+
CompleteSnapshotResponse = Shapes::StructureShape.new(name: 'CompleteSnapshotResponse')
|
33
|
+
ConcurrentLimitExceededException = Shapes::StructureShape.new(name: 'ConcurrentLimitExceededException')
|
34
|
+
ConflictException = Shapes::StructureShape.new(name: 'ConflictException')
|
24
35
|
DataLength = Shapes::IntegerShape.new(name: 'DataLength')
|
36
|
+
Description = Shapes::StringShape.new(name: 'Description')
|
25
37
|
ErrorMessage = Shapes::StringShape.new(name: 'ErrorMessage')
|
26
38
|
GetSnapshotBlockRequest = Shapes::StructureShape.new(name: 'GetSnapshotBlockRequest')
|
27
39
|
GetSnapshotBlockResponse = Shapes::StructureShape.new(name: 'GetSnapshotBlockResponse')
|
40
|
+
IdempotencyToken = Shapes::StringShape.new(name: 'IdempotencyToken')
|
41
|
+
InternalServerException = Shapes::StructureShape.new(name: 'InternalServerException')
|
42
|
+
KmsKeyArn = Shapes::StringShape.new(name: 'KmsKeyArn')
|
28
43
|
ListChangedBlocksRequest = Shapes::StructureShape.new(name: 'ListChangedBlocksRequest')
|
29
44
|
ListChangedBlocksResponse = Shapes::StructureShape.new(name: 'ListChangedBlocksResponse')
|
30
45
|
ListSnapshotBlocksRequest = Shapes::StructureShape.new(name: 'ListSnapshotBlocksRequest')
|
31
46
|
ListSnapshotBlocksResponse = Shapes::StructureShape.new(name: 'ListSnapshotBlocksResponse')
|
32
47
|
MaxResults = Shapes::IntegerShape.new(name: 'MaxResults')
|
48
|
+
OwnerId = Shapes::StringShape.new(name: 'OwnerId')
|
33
49
|
PageToken = Shapes::StringShape.new(name: 'PageToken')
|
50
|
+
Progress = Shapes::IntegerShape.new(name: 'Progress')
|
51
|
+
PutSnapshotBlockRequest = Shapes::StructureShape.new(name: 'PutSnapshotBlockRequest')
|
52
|
+
PutSnapshotBlockResponse = Shapes::StructureShape.new(name: 'PutSnapshotBlockResponse')
|
53
|
+
RequestThrottledException = Shapes::StructureShape.new(name: 'RequestThrottledException')
|
54
|
+
RequestThrottledExceptionReason = Shapes::StringShape.new(name: 'RequestThrottledExceptionReason')
|
34
55
|
ResourceNotFoundException = Shapes::StructureShape.new(name: 'ResourceNotFoundException')
|
56
|
+
ResourceNotFoundExceptionReason = Shapes::StringShape.new(name: 'ResourceNotFoundExceptionReason')
|
57
|
+
ServiceQuotaExceededException = Shapes::StructureShape.new(name: 'ServiceQuotaExceededException')
|
58
|
+
ServiceQuotaExceededExceptionReason = Shapes::StringShape.new(name: 'ServiceQuotaExceededExceptionReason')
|
35
59
|
SnapshotId = Shapes::StringShape.new(name: 'SnapshotId')
|
60
|
+
StartSnapshotRequest = Shapes::StructureShape.new(name: 'StartSnapshotRequest')
|
61
|
+
StartSnapshotResponse = Shapes::StructureShape.new(name: 'StartSnapshotResponse')
|
62
|
+
Status = Shapes::StringShape.new(name: 'Status')
|
63
|
+
Tag = Shapes::StructureShape.new(name: 'Tag')
|
64
|
+
TagKey = Shapes::StringShape.new(name: 'TagKey')
|
65
|
+
TagValue = Shapes::StringShape.new(name: 'TagValue')
|
66
|
+
Tags = Shapes::ListShape.new(name: 'Tags')
|
36
67
|
TimeStamp = Shapes::TimestampShape.new(name: 'TimeStamp')
|
68
|
+
Timeout = Shapes::IntegerShape.new(name: 'Timeout')
|
37
69
|
ValidationException = Shapes::StructureShape.new(name: 'ValidationException')
|
38
70
|
ValidationExceptionReason = Shapes::StringShape.new(name: 'ValidationExceptionReason')
|
39
71
|
VolumeSize = Shapes::IntegerShape.new(name: 'VolumeSize')
|
40
72
|
|
73
|
+
AccessDeniedException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
|
74
|
+
AccessDeniedException.add_member(:reason, Shapes::ShapeRef.new(shape: AccessDeniedExceptionReason, required: true, location_name: "Reason"))
|
75
|
+
AccessDeniedException.struct_class = Types::AccessDeniedException
|
76
|
+
|
41
77
|
Block.add_member(:block_index, Shapes::ShapeRef.new(shape: BlockIndex, location_name: "BlockIndex"))
|
42
78
|
Block.add_member(:block_token, Shapes::ShapeRef.new(shape: BlockToken, location_name: "BlockToken"))
|
43
79
|
Block.struct_class = Types::Block
|
@@ -51,6 +87,22 @@ module Aws::EBS
|
|
51
87
|
|
52
88
|
ChangedBlocks.member = Shapes::ShapeRef.new(shape: ChangedBlock)
|
53
89
|
|
90
|
+
CompleteSnapshotRequest.add_member(:snapshot_id, Shapes::ShapeRef.new(shape: SnapshotId, required: true, location: "uri", location_name: "snapshotId"))
|
91
|
+
CompleteSnapshotRequest.add_member(:changed_blocks_count, Shapes::ShapeRef.new(shape: ChangedBlocksCount, required: true, location: "header", location_name: "x-amz-ChangedBlocksCount"))
|
92
|
+
CompleteSnapshotRequest.add_member(:checksum, Shapes::ShapeRef.new(shape: Checksum, location: "header", location_name: "x-amz-Checksum"))
|
93
|
+
CompleteSnapshotRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-Checksum-Algorithm"))
|
94
|
+
CompleteSnapshotRequest.add_member(:checksum_aggregation_method, Shapes::ShapeRef.new(shape: ChecksumAggregationMethod, location: "header", location_name: "x-amz-Checksum-Aggregation-Method"))
|
95
|
+
CompleteSnapshotRequest.struct_class = Types::CompleteSnapshotRequest
|
96
|
+
|
97
|
+
CompleteSnapshotResponse.add_member(:status, Shapes::ShapeRef.new(shape: Status, location_name: "Status"))
|
98
|
+
CompleteSnapshotResponse.struct_class = Types::CompleteSnapshotResponse
|
99
|
+
|
100
|
+
ConcurrentLimitExceededException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
|
101
|
+
ConcurrentLimitExceededException.struct_class = Types::ConcurrentLimitExceededException
|
102
|
+
|
103
|
+
ConflictException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
|
104
|
+
ConflictException.struct_class = Types::ConflictException
|
105
|
+
|
54
106
|
GetSnapshotBlockRequest.add_member(:snapshot_id, Shapes::ShapeRef.new(shape: SnapshotId, required: true, location: "uri", location_name: "snapshotId"))
|
55
107
|
GetSnapshotBlockRequest.add_member(:block_index, Shapes::ShapeRef.new(shape: BlockIndex, required: true, location: "uri", location_name: "blockIndex"))
|
56
108
|
GetSnapshotBlockRequest.add_member(:block_token, Shapes::ShapeRef.new(shape: BlockToken, required: true, location: "querystring", location_name: "blockToken"))
|
@@ -64,6 +116,9 @@ module Aws::EBS
|
|
64
116
|
GetSnapshotBlockResponse[:payload] = :block_data
|
65
117
|
GetSnapshotBlockResponse[:payload_member] = GetSnapshotBlockResponse.member(:block_data)
|
66
118
|
|
119
|
+
InternalServerException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
|
120
|
+
InternalServerException.struct_class = Types::InternalServerException
|
121
|
+
|
67
122
|
ListChangedBlocksRequest.add_member(:first_snapshot_id, Shapes::ShapeRef.new(shape: SnapshotId, location: "querystring", location_name: "firstSnapshotId"))
|
68
123
|
ListChangedBlocksRequest.add_member(:second_snapshot_id, Shapes::ShapeRef.new(shape: SnapshotId, required: true, location: "uri", location_name: "secondSnapshotId"))
|
69
124
|
ListChangedBlocksRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: PageToken, location: "querystring", location_name: "pageToken"))
|
@@ -91,9 +146,61 @@ module Aws::EBS
|
|
91
146
|
ListSnapshotBlocksResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: PageToken, location_name: "NextToken"))
|
92
147
|
ListSnapshotBlocksResponse.struct_class = Types::ListSnapshotBlocksResponse
|
93
148
|
|
149
|
+
PutSnapshotBlockRequest.add_member(:snapshot_id, Shapes::ShapeRef.new(shape: SnapshotId, required: true, location: "uri", location_name: "snapshotId"))
|
150
|
+
PutSnapshotBlockRequest.add_member(:block_index, Shapes::ShapeRef.new(shape: BlockIndex, required: true, location: "uri", location_name: "blockIndex"))
|
151
|
+
PutSnapshotBlockRequest.add_member(:block_data, Shapes::ShapeRef.new(shape: BlockData, required: true, location_name: "BlockData"))
|
152
|
+
PutSnapshotBlockRequest.add_member(:data_length, Shapes::ShapeRef.new(shape: DataLength, required: true, location: "header", location_name: "x-amz-Data-Length"))
|
153
|
+
PutSnapshotBlockRequest.add_member(:progress, Shapes::ShapeRef.new(shape: Progress, location: "header", location_name: "x-amz-Progress"))
|
154
|
+
PutSnapshotBlockRequest.add_member(:checksum, Shapes::ShapeRef.new(shape: Checksum, required: true, location: "header", location_name: "x-amz-Checksum"))
|
155
|
+
PutSnapshotBlockRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, required: true, location: "header", location_name: "x-amz-Checksum-Algorithm"))
|
156
|
+
PutSnapshotBlockRequest.struct_class = Types::PutSnapshotBlockRequest
|
157
|
+
PutSnapshotBlockRequest[:payload] = :block_data
|
158
|
+
PutSnapshotBlockRequest[:payload_member] = PutSnapshotBlockRequest.member(:block_data)
|
159
|
+
|
160
|
+
PutSnapshotBlockResponse.add_member(:checksum, Shapes::ShapeRef.new(shape: Checksum, location: "header", location_name: "x-amz-Checksum"))
|
161
|
+
PutSnapshotBlockResponse.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-Checksum-Algorithm"))
|
162
|
+
PutSnapshotBlockResponse.struct_class = Types::PutSnapshotBlockResponse
|
163
|
+
|
164
|
+
RequestThrottledException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
|
165
|
+
RequestThrottledException.add_member(:reason, Shapes::ShapeRef.new(shape: RequestThrottledExceptionReason, location_name: "Reason"))
|
166
|
+
RequestThrottledException.struct_class = Types::RequestThrottledException
|
167
|
+
|
94
168
|
ResourceNotFoundException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
|
169
|
+
ResourceNotFoundException.add_member(:reason, Shapes::ShapeRef.new(shape: ResourceNotFoundExceptionReason, location_name: "Reason"))
|
95
170
|
ResourceNotFoundException.struct_class = Types::ResourceNotFoundException
|
96
171
|
|
172
|
+
ServiceQuotaExceededException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
|
173
|
+
ServiceQuotaExceededException.add_member(:reason, Shapes::ShapeRef.new(shape: ServiceQuotaExceededExceptionReason, location_name: "Reason"))
|
174
|
+
ServiceQuotaExceededException.struct_class = Types::ServiceQuotaExceededException
|
175
|
+
|
176
|
+
StartSnapshotRequest.add_member(:volume_size, Shapes::ShapeRef.new(shape: VolumeSize, required: true, location_name: "VolumeSize"))
|
177
|
+
StartSnapshotRequest.add_member(:parent_snapshot_id, Shapes::ShapeRef.new(shape: SnapshotId, location_name: "ParentSnapshotId"))
|
178
|
+
StartSnapshotRequest.add_member(:tags, Shapes::ShapeRef.new(shape: Tags, location_name: "Tags"))
|
179
|
+
StartSnapshotRequest.add_member(:description, Shapes::ShapeRef.new(shape: Description, location_name: "Description"))
|
180
|
+
StartSnapshotRequest.add_member(:client_token, Shapes::ShapeRef.new(shape: IdempotencyToken, location_name: "ClientToken", metadata: {"idempotencyToken"=>true}))
|
181
|
+
StartSnapshotRequest.add_member(:encrypted, Shapes::ShapeRef.new(shape: Boolean, location_name: "Encrypted"))
|
182
|
+
StartSnapshotRequest.add_member(:kms_key_arn, Shapes::ShapeRef.new(shape: KmsKeyArn, location_name: "KmsKeyArn"))
|
183
|
+
StartSnapshotRequest.add_member(:timeout, Shapes::ShapeRef.new(shape: Timeout, location_name: "Timeout"))
|
184
|
+
StartSnapshotRequest.struct_class = Types::StartSnapshotRequest
|
185
|
+
|
186
|
+
StartSnapshotResponse.add_member(:description, Shapes::ShapeRef.new(shape: Description, location_name: "Description"))
|
187
|
+
StartSnapshotResponse.add_member(:snapshot_id, Shapes::ShapeRef.new(shape: SnapshotId, location_name: "SnapshotId"))
|
188
|
+
StartSnapshotResponse.add_member(:owner_id, Shapes::ShapeRef.new(shape: OwnerId, location_name: "OwnerId"))
|
189
|
+
StartSnapshotResponse.add_member(:status, Shapes::ShapeRef.new(shape: Status, location_name: "Status"))
|
190
|
+
StartSnapshotResponse.add_member(:start_time, Shapes::ShapeRef.new(shape: TimeStamp, location_name: "StartTime"))
|
191
|
+
StartSnapshotResponse.add_member(:volume_size, Shapes::ShapeRef.new(shape: VolumeSize, location_name: "VolumeSize"))
|
192
|
+
StartSnapshotResponse.add_member(:block_size, Shapes::ShapeRef.new(shape: BlockSize, location_name: "BlockSize"))
|
193
|
+
StartSnapshotResponse.add_member(:tags, Shapes::ShapeRef.new(shape: Tags, location_name: "Tags"))
|
194
|
+
StartSnapshotResponse.add_member(:parent_snapshot_id, Shapes::ShapeRef.new(shape: SnapshotId, location_name: "ParentSnapshotId"))
|
195
|
+
StartSnapshotResponse.add_member(:kms_key_arn, Shapes::ShapeRef.new(shape: KmsKeyArn, location_name: "KmsKeyArn"))
|
196
|
+
StartSnapshotResponse.struct_class = Types::StartSnapshotResponse
|
197
|
+
|
198
|
+
Tag.add_member(:key, Shapes::ShapeRef.new(shape: TagKey, location_name: "Key"))
|
199
|
+
Tag.add_member(:value, Shapes::ShapeRef.new(shape: TagValue, location_name: "Value"))
|
200
|
+
Tag.struct_class = Types::Tag
|
201
|
+
|
202
|
+
Tags.member = Shapes::ShapeRef.new(shape: Tag)
|
203
|
+
|
97
204
|
ValidationException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
|
98
205
|
ValidationException.add_member(:reason, Shapes::ShapeRef.new(shape: ValidationExceptionReason, location_name: "Reason"))
|
99
206
|
ValidationException.struct_class = Types::ValidationException
|
@@ -116,14 +223,32 @@ module Aws::EBS
|
|
116
223
|
"uid" => "ebs-2019-11-02",
|
117
224
|
}
|
118
225
|
|
226
|
+
api.add_operation(:complete_snapshot, Seahorse::Model::Operation.new.tap do |o|
|
227
|
+
o.name = "CompleteSnapshot"
|
228
|
+
o.http_method = "POST"
|
229
|
+
o.http_request_uri = "/snapshots/completion/{snapshotId}"
|
230
|
+
o.input = Shapes::ShapeRef.new(shape: CompleteSnapshotRequest)
|
231
|
+
o.output = Shapes::ShapeRef.new(shape: CompleteSnapshotResponse)
|
232
|
+
o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
|
233
|
+
o.errors << Shapes::ShapeRef.new(shape: ValidationException)
|
234
|
+
o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
|
235
|
+
o.errors << Shapes::ShapeRef.new(shape: RequestThrottledException)
|
236
|
+
o.errors << Shapes::ShapeRef.new(shape: ServiceQuotaExceededException)
|
237
|
+
o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
|
238
|
+
end)
|
239
|
+
|
119
240
|
api.add_operation(:get_snapshot_block, Seahorse::Model::Operation.new.tap do |o|
|
120
241
|
o.name = "GetSnapshotBlock"
|
121
242
|
o.http_method = "GET"
|
122
243
|
o.http_request_uri = "/snapshots/{snapshotId}/blocks/{blockIndex}"
|
123
244
|
o.input = Shapes::ShapeRef.new(shape: GetSnapshotBlockRequest)
|
124
245
|
o.output = Shapes::ShapeRef.new(shape: GetSnapshotBlockResponse)
|
246
|
+
o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
|
125
247
|
o.errors << Shapes::ShapeRef.new(shape: ValidationException)
|
126
248
|
o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
|
249
|
+
o.errors << Shapes::ShapeRef.new(shape: RequestThrottledException)
|
250
|
+
o.errors << Shapes::ShapeRef.new(shape: ServiceQuotaExceededException)
|
251
|
+
o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
|
127
252
|
end)
|
128
253
|
|
129
254
|
api.add_operation(:list_changed_blocks, Seahorse::Model::Operation.new.tap do |o|
|
@@ -132,8 +257,12 @@ module Aws::EBS
|
|
132
257
|
o.http_request_uri = "/snapshots/{secondSnapshotId}/changedblocks"
|
133
258
|
o.input = Shapes::ShapeRef.new(shape: ListChangedBlocksRequest)
|
134
259
|
o.output = Shapes::ShapeRef.new(shape: ListChangedBlocksResponse)
|
260
|
+
o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
|
135
261
|
o.errors << Shapes::ShapeRef.new(shape: ValidationException)
|
136
262
|
o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
|
263
|
+
o.errors << Shapes::ShapeRef.new(shape: RequestThrottledException)
|
264
|
+
o.errors << Shapes::ShapeRef.new(shape: ServiceQuotaExceededException)
|
265
|
+
o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
|
137
266
|
o[:pager] = Aws::Pager.new(
|
138
267
|
limit_key: "max_results",
|
139
268
|
tokens: {
|
@@ -148,8 +277,12 @@ module Aws::EBS
|
|
148
277
|
o.http_request_uri = "/snapshots/{snapshotId}/blocks"
|
149
278
|
o.input = Shapes::ShapeRef.new(shape: ListSnapshotBlocksRequest)
|
150
279
|
o.output = Shapes::ShapeRef.new(shape: ListSnapshotBlocksResponse)
|
280
|
+
o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
|
151
281
|
o.errors << Shapes::ShapeRef.new(shape: ValidationException)
|
152
282
|
o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
|
283
|
+
o.errors << Shapes::ShapeRef.new(shape: RequestThrottledException)
|
284
|
+
o.errors << Shapes::ShapeRef.new(shape: ServiceQuotaExceededException)
|
285
|
+
o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
|
153
286
|
o[:pager] = Aws::Pager.new(
|
154
287
|
limit_key: "max_results",
|
155
288
|
tokens: {
|
@@ -157,6 +290,37 @@ module Aws::EBS
|
|
157
290
|
}
|
158
291
|
)
|
159
292
|
end)
|
293
|
+
|
294
|
+
api.add_operation(:put_snapshot_block, Seahorse::Model::Operation.new.tap do |o|
|
295
|
+
o.name = "PutSnapshotBlock"
|
296
|
+
o.http_method = "PUT"
|
297
|
+
o.http_request_uri = "/snapshots/{snapshotId}/blocks/{blockIndex}"
|
298
|
+
o['authtype'] = "v4-unsigned-body"
|
299
|
+
o.input = Shapes::ShapeRef.new(shape: PutSnapshotBlockRequest)
|
300
|
+
o.output = Shapes::ShapeRef.new(shape: PutSnapshotBlockResponse)
|
301
|
+
o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
|
302
|
+
o.errors << Shapes::ShapeRef.new(shape: ValidationException)
|
303
|
+
o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
|
304
|
+
o.errors << Shapes::ShapeRef.new(shape: RequestThrottledException)
|
305
|
+
o.errors << Shapes::ShapeRef.new(shape: ServiceQuotaExceededException)
|
306
|
+
o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
|
307
|
+
end)
|
308
|
+
|
309
|
+
api.add_operation(:start_snapshot, Seahorse::Model::Operation.new.tap do |o|
|
310
|
+
o.name = "StartSnapshot"
|
311
|
+
o.http_method = "POST"
|
312
|
+
o.http_request_uri = "/snapshots"
|
313
|
+
o.input = Shapes::ShapeRef.new(shape: StartSnapshotRequest)
|
314
|
+
o.output = Shapes::ShapeRef.new(shape: StartSnapshotResponse)
|
315
|
+
o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
|
316
|
+
o.errors << Shapes::ShapeRef.new(shape: ValidationException)
|
317
|
+
o.errors << Shapes::ShapeRef.new(shape: RequestThrottledException)
|
318
|
+
o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
|
319
|
+
o.errors << Shapes::ShapeRef.new(shape: ServiceQuotaExceededException)
|
320
|
+
o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
|
321
|
+
o.errors << Shapes::ShapeRef.new(shape: ConcurrentLimitExceededException)
|
322
|
+
o.errors << Shapes::ShapeRef.new(shape: ConflictException)
|
323
|
+
end)
|
160
324
|
end
|
161
325
|
|
162
326
|
end
|
data/lib/aws-sdk-ebs/errors.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
# WARNING ABOUT GENERATED CODE
|
2
4
|
#
|
3
5
|
# This file is generated. See the contributing guide for more information:
|
@@ -25,7 +27,13 @@ module Aws::EBS
|
|
25
27
|
# See {Seahorse::Client::RequestContext} for more information.
|
26
28
|
#
|
27
29
|
# ## Error Classes
|
30
|
+
# * {AccessDeniedException}
|
31
|
+
# * {ConcurrentLimitExceededException}
|
32
|
+
# * {ConflictException}
|
33
|
+
# * {InternalServerException}
|
34
|
+
# * {RequestThrottledException}
|
28
35
|
# * {ResourceNotFoundException}
|
36
|
+
# * {ServiceQuotaExceededException}
|
29
37
|
# * {ValidationException}
|
30
38
|
#
|
31
39
|
# Additionally, error classes are dynamically generated for service errors based on the error code
|
@@ -34,6 +42,91 @@ module Aws::EBS
|
|
34
42
|
|
35
43
|
extend Aws::Errors::DynamicErrors
|
36
44
|
|
45
|
+
class AccessDeniedException < ServiceError
|
46
|
+
|
47
|
+
# @param [Seahorse::Client::RequestContext] context
|
48
|
+
# @param [String] message
|
49
|
+
# @param [Aws::EBS::Types::AccessDeniedException] data
|
50
|
+
def initialize(context, message, data = Aws::EmptyStructure.new)
|
51
|
+
super(context, message, data)
|
52
|
+
end
|
53
|
+
|
54
|
+
# @return [String]
|
55
|
+
def message
|
56
|
+
@message || @data[:message]
|
57
|
+
end
|
58
|
+
|
59
|
+
# @return [String]
|
60
|
+
def reason
|
61
|
+
@data[:reason]
|
62
|
+
end
|
63
|
+
end
|
64
|
+
|
65
|
+
class ConcurrentLimitExceededException < ServiceError
|
66
|
+
|
67
|
+
# @param [Seahorse::Client::RequestContext] context
|
68
|
+
# @param [String] message
|
69
|
+
# @param [Aws::EBS::Types::ConcurrentLimitExceededException] data
|
70
|
+
def initialize(context, message, data = Aws::EmptyStructure.new)
|
71
|
+
super(context, message, data)
|
72
|
+
end
|
73
|
+
|
74
|
+
# @return [String]
|
75
|
+
def message
|
76
|
+
@message || @data[:message]
|
77
|
+
end
|
78
|
+
end
|
79
|
+
|
80
|
+
class ConflictException < ServiceError
|
81
|
+
|
82
|
+
# @param [Seahorse::Client::RequestContext] context
|
83
|
+
# @param [String] message
|
84
|
+
# @param [Aws::EBS::Types::ConflictException] data
|
85
|
+
def initialize(context, message, data = Aws::EmptyStructure.new)
|
86
|
+
super(context, message, data)
|
87
|
+
end
|
88
|
+
|
89
|
+
# @return [String]
|
90
|
+
def message
|
91
|
+
@message || @data[:message]
|
92
|
+
end
|
93
|
+
end
|
94
|
+
|
95
|
+
class InternalServerException < ServiceError
|
96
|
+
|
97
|
+
# @param [Seahorse::Client::RequestContext] context
|
98
|
+
# @param [String] message
|
99
|
+
# @param [Aws::EBS::Types::InternalServerException] data
|
100
|
+
def initialize(context, message, data = Aws::EmptyStructure.new)
|
101
|
+
super(context, message, data)
|
102
|
+
end
|
103
|
+
|
104
|
+
# @return [String]
|
105
|
+
def message
|
106
|
+
@message || @data[:message]
|
107
|
+
end
|
108
|
+
end
|
109
|
+
|
110
|
+
class RequestThrottledException < ServiceError
|
111
|
+
|
112
|
+
# @param [Seahorse::Client::RequestContext] context
|
113
|
+
# @param [String] message
|
114
|
+
# @param [Aws::EBS::Types::RequestThrottledException] data
|
115
|
+
def initialize(context, message, data = Aws::EmptyStructure.new)
|
116
|
+
super(context, message, data)
|
117
|
+
end
|
118
|
+
|
119
|
+
# @return [String]
|
120
|
+
def message
|
121
|
+
@message || @data[:message]
|
122
|
+
end
|
123
|
+
|
124
|
+
# @return [String]
|
125
|
+
def reason
|
126
|
+
@data[:reason]
|
127
|
+
end
|
128
|
+
end
|
129
|
+
|
37
130
|
class ResourceNotFoundException < ServiceError
|
38
131
|
|
39
132
|
# @param [Seahorse::Client::RequestContext] context
|
@@ -47,6 +140,31 @@ module Aws::EBS
|
|
47
140
|
def message
|
48
141
|
@message || @data[:message]
|
49
142
|
end
|
143
|
+
|
144
|
+
# @return [String]
|
145
|
+
def reason
|
146
|
+
@data[:reason]
|
147
|
+
end
|
148
|
+
end
|
149
|
+
|
150
|
+
class ServiceQuotaExceededException < ServiceError
|
151
|
+
|
152
|
+
# @param [Seahorse::Client::RequestContext] context
|
153
|
+
# @param [String] message
|
154
|
+
# @param [Aws::EBS::Types::ServiceQuotaExceededException] data
|
155
|
+
def initialize(context, message, data = Aws::EmptyStructure.new)
|
156
|
+
super(context, message, data)
|
157
|
+
end
|
158
|
+
|
159
|
+
# @return [String]
|
160
|
+
def message
|
161
|
+
@message || @data[:message]
|
162
|
+
end
|
163
|
+
|
164
|
+
# @return [String]
|
165
|
+
def reason
|
166
|
+
@data[:reason]
|
167
|
+
end
|
50
168
|
end
|
51
169
|
|
52
170
|
class ValidationException < ServiceError
|
data/lib/aws-sdk-ebs/resource.rb
CHANGED
data/lib/aws-sdk-ebs/types.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
# WARNING ABOUT GENERATED CODE
|
2
4
|
#
|
3
5
|
# This file is generated. See the contributing guide for more information:
|
@@ -8,6 +10,24 @@
|
|
8
10
|
module Aws::EBS
|
9
11
|
module Types
|
10
12
|
|
13
|
+
# You do not have sufficient access to perform this action.
|
14
|
+
#
|
15
|
+
# @!attribute [rw] message
|
16
|
+
# @return [String]
|
17
|
+
#
|
18
|
+
# @!attribute [rw] reason
|
19
|
+
# The reason for the exception.
|
20
|
+
# @return [String]
|
21
|
+
#
|
22
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/ebs-2019-11-02/AccessDeniedException AWS API Documentation
|
23
|
+
#
|
24
|
+
class AccessDeniedException < Struct.new(
|
25
|
+
:message,
|
26
|
+
:reason)
|
27
|
+
SENSITIVE = []
|
28
|
+
include Aws::Structure
|
29
|
+
end
|
30
|
+
|
11
31
|
# A block of data in an Amazon Elastic Block Store snapshot.
|
12
32
|
#
|
13
33
|
# @!attribute [rw] block_index
|
@@ -23,6 +43,7 @@ module Aws::EBS
|
|
23
43
|
class Block < Struct.new(
|
24
44
|
:block_index,
|
25
45
|
:block_token)
|
46
|
+
SENSITIVE = []
|
26
47
|
include Aws::Structure
|
27
48
|
end
|
28
49
|
|
@@ -51,6 +72,104 @@ module Aws::EBS
|
|
51
72
|
:block_index,
|
52
73
|
:first_block_token,
|
53
74
|
:second_block_token)
|
75
|
+
SENSITIVE = []
|
76
|
+
include Aws::Structure
|
77
|
+
end
|
78
|
+
|
79
|
+
# @note When making an API call, you may pass CompleteSnapshotRequest
|
80
|
+
# data as a hash:
|
81
|
+
#
|
82
|
+
# {
|
83
|
+
# snapshot_id: "SnapshotId", # required
|
84
|
+
# changed_blocks_count: 1, # required
|
85
|
+
# checksum: "Checksum",
|
86
|
+
# checksum_algorithm: "SHA256", # accepts SHA256
|
87
|
+
# checksum_aggregation_method: "LINEAR", # accepts LINEAR
|
88
|
+
# }
|
89
|
+
#
|
90
|
+
# @!attribute [rw] snapshot_id
|
91
|
+
# The ID of the snapshot.
|
92
|
+
# @return [String]
|
93
|
+
#
|
94
|
+
# @!attribute [rw] changed_blocks_count
|
95
|
+
# The number of blocks that were written to the snapshot.
|
96
|
+
# @return [Integer]
|
97
|
+
#
|
98
|
+
# @!attribute [rw] checksum
|
99
|
+
# An aggregated Base-64 SHA256 checksum based on the checksums of each
|
100
|
+
# written block.
|
101
|
+
#
|
102
|
+
# To generate the aggregated checksum using the linear aggregation
|
103
|
+
# method, arrange the checksums for each written block in ascending
|
104
|
+
# order of their block index, concatenate them to form a single
|
105
|
+
# string, and then generate the checksum on the entire string using
|
106
|
+
# the SHA256 algorithm.
|
107
|
+
# @return [String]
|
108
|
+
#
|
109
|
+
# @!attribute [rw] checksum_algorithm
|
110
|
+
# The algorithm used to generate the checksum. Currently, the only
|
111
|
+
# supported algorithm is `SHA256`.
|
112
|
+
# @return [String]
|
113
|
+
#
|
114
|
+
# @!attribute [rw] checksum_aggregation_method
|
115
|
+
# The aggregation method used to generate the checksum. Currently, the
|
116
|
+
# only supported aggregation method is `LINEAR`.
|
117
|
+
# @return [String]
|
118
|
+
#
|
119
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/ebs-2019-11-02/CompleteSnapshotRequest AWS API Documentation
|
120
|
+
#
|
121
|
+
class CompleteSnapshotRequest < Struct.new(
|
122
|
+
:snapshot_id,
|
123
|
+
:changed_blocks_count,
|
124
|
+
:checksum,
|
125
|
+
:checksum_algorithm,
|
126
|
+
:checksum_aggregation_method)
|
127
|
+
SENSITIVE = []
|
128
|
+
include Aws::Structure
|
129
|
+
end
|
130
|
+
|
131
|
+
# @!attribute [rw] status
|
132
|
+
# The status of the snapshot.
|
133
|
+
# @return [String]
|
134
|
+
#
|
135
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/ebs-2019-11-02/CompleteSnapshotResponse AWS API Documentation
|
136
|
+
#
|
137
|
+
class CompleteSnapshotResponse < Struct.new(
|
138
|
+
:status)
|
139
|
+
SENSITIVE = []
|
140
|
+
include Aws::Structure
|
141
|
+
end
|
142
|
+
|
143
|
+
# You have reached the limit for concurrent API requests. For more
|
144
|
+
# information, see [Optimizing performance of the EBS direct APIs][1] in
|
145
|
+
# the *Amazon Elastic Compute Cloud User Guide*.
|
146
|
+
#
|
147
|
+
#
|
148
|
+
#
|
149
|
+
# [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-accessing-snapshot.html#ebsapi-performance
|
150
|
+
#
|
151
|
+
# @!attribute [rw] message
|
152
|
+
# @return [String]
|
153
|
+
#
|
154
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/ebs-2019-11-02/ConcurrentLimitExceededException AWS API Documentation
|
155
|
+
#
|
156
|
+
class ConcurrentLimitExceededException < Struct.new(
|
157
|
+
:message)
|
158
|
+
SENSITIVE = []
|
159
|
+
include Aws::Structure
|
160
|
+
end
|
161
|
+
|
162
|
+
# The request uses the same client token as a previous, but
|
163
|
+
# non-identical request.
|
164
|
+
#
|
165
|
+
# @!attribute [rw] message
|
166
|
+
# @return [String]
|
167
|
+
#
|
168
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/ebs-2019-11-02/ConflictException AWS API Documentation
|
169
|
+
#
|
170
|
+
class ConflictException < Struct.new(
|
171
|
+
:message)
|
172
|
+
SENSITIVE = []
|
54
173
|
include Aws::Structure
|
55
174
|
end
|
56
175
|
|
@@ -87,6 +206,7 @@ module Aws::EBS
|
|
87
206
|
:snapshot_id,
|
88
207
|
:block_index,
|
89
208
|
:block_token)
|
209
|
+
SENSITIVE = []
|
90
210
|
include Aws::Structure
|
91
211
|
end
|
92
212
|
|
@@ -114,6 +234,20 @@ module Aws::EBS
|
|
114
234
|
:block_data,
|
115
235
|
:checksum,
|
116
236
|
:checksum_algorithm)
|
237
|
+
SENSITIVE = [:block_data]
|
238
|
+
include Aws::Structure
|
239
|
+
end
|
240
|
+
|
241
|
+
# An internal error has occurred.
|
242
|
+
#
|
243
|
+
# @!attribute [rw] message
|
244
|
+
# @return [String]
|
245
|
+
#
|
246
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/ebs-2019-11-02/InternalServerException AWS API Documentation
|
247
|
+
#
|
248
|
+
class InternalServerException < Struct.new(
|
249
|
+
:message)
|
250
|
+
SENSITIVE = []
|
117
251
|
include Aws::Structure
|
118
252
|
end
|
119
253
|
|
@@ -165,6 +299,7 @@ module Aws::EBS
|
|
165
299
|
:next_token,
|
166
300
|
:max_results,
|
167
301
|
:starting_block_index)
|
302
|
+
SENSITIVE = []
|
168
303
|
include Aws::Structure
|
169
304
|
end
|
170
305
|
|
@@ -197,6 +332,7 @@ module Aws::EBS
|
|
197
332
|
:volume_size,
|
198
333
|
:block_size,
|
199
334
|
:next_token)
|
335
|
+
SENSITIVE = []
|
200
336
|
include Aws::Structure
|
201
337
|
end
|
202
338
|
|
@@ -236,6 +372,7 @@ module Aws::EBS
|
|
236
372
|
:next_token,
|
237
373
|
:max_results,
|
238
374
|
:starting_block_index)
|
375
|
+
SENSITIVE = []
|
239
376
|
include Aws::Structure
|
240
377
|
end
|
241
378
|
|
@@ -268,6 +405,123 @@ module Aws::EBS
|
|
268
405
|
:volume_size,
|
269
406
|
:block_size,
|
270
407
|
:next_token)
|
408
|
+
SENSITIVE = [:blocks]
|
409
|
+
include Aws::Structure
|
410
|
+
end
|
411
|
+
|
412
|
+
# @note When making an API call, you may pass PutSnapshotBlockRequest
|
413
|
+
# data as a hash:
|
414
|
+
#
|
415
|
+
# {
|
416
|
+
# snapshot_id: "SnapshotId", # required
|
417
|
+
# block_index: 1, # required
|
418
|
+
# block_data: "data", # required
|
419
|
+
# data_length: 1, # required
|
420
|
+
# progress: 1,
|
421
|
+
# checksum: "Checksum", # required
|
422
|
+
# checksum_algorithm: "SHA256", # required, accepts SHA256
|
423
|
+
# }
|
424
|
+
#
|
425
|
+
# @!attribute [rw] snapshot_id
|
426
|
+
# The ID of the snapshot.
|
427
|
+
# @return [String]
|
428
|
+
#
|
429
|
+
# @!attribute [rw] block_index
|
430
|
+
# The block index of the block in which to write the data. A block
|
431
|
+
# index is a logical index in units of `512` KiB blocks. To identify
|
432
|
+
# the block index, divide the logical offset of the data in the
|
433
|
+
# logical volume by the block size (logical offset of data/`524288`).
|
434
|
+
# The logical offset of the data must be `512` KiB aligned.
|
435
|
+
# @return [Integer]
|
436
|
+
#
|
437
|
+
# @!attribute [rw] block_data
|
438
|
+
# The data to write to the block.
|
439
|
+
#
|
440
|
+
# The block data is not signed as part of the Signature Version 4
|
441
|
+
# signing process. As a result, you must generate and provide a
|
442
|
+
# Base64-encoded SHA256 checksum for the block data using the
|
443
|
+
# **x-amz-Checksum** header. Also, you must specify the checksum
|
444
|
+
# algorithm using the **x-amz-Checksum-Algorithm** header. The
|
445
|
+
# checksum that you provide is part of the Signature Version 4 signing
|
446
|
+
# process. It is validated against a checksum generated by Amazon EBS
|
447
|
+
# to ensure the validity and authenticity of the data. If the
|
448
|
+
# checksums do not correspond, the request fails. For more
|
449
|
+
# information, see [ Using checksums with the EBS direct APIs][1] in
|
450
|
+
# the *Amazon Elastic Compute Cloud User Guide*.
|
451
|
+
#
|
452
|
+
#
|
453
|
+
#
|
454
|
+
# [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-accessing-snapshot.html#ebsapis-using-checksums
|
455
|
+
# @return [IO]
|
456
|
+
#
|
457
|
+
# @!attribute [rw] data_length
|
458
|
+
# The size of the data to write to the block, in bytes. Currently, the
|
459
|
+
# only supported size is `524288`.
|
460
|
+
#
|
461
|
+
# Valid values: `524288`
|
462
|
+
# @return [Integer]
|
463
|
+
#
|
464
|
+
# @!attribute [rw] progress
|
465
|
+
# The progress of the write process, as a percentage.
|
466
|
+
# @return [Integer]
|
467
|
+
#
|
468
|
+
# @!attribute [rw] checksum
|
469
|
+
# A Base64-encoded SHA256 checksum of the data. Only SHA256 checksums
|
470
|
+
# are supported.
|
471
|
+
# @return [String]
|
472
|
+
#
|
473
|
+
# @!attribute [rw] checksum_algorithm
|
474
|
+
# The algorithm used to generate the checksum. Currently, the only
|
475
|
+
# supported algorithm is `SHA256`.
|
476
|
+
# @return [String]
|
477
|
+
#
|
478
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/ebs-2019-11-02/PutSnapshotBlockRequest AWS API Documentation
|
479
|
+
#
|
480
|
+
class PutSnapshotBlockRequest < Struct.new(
|
481
|
+
:snapshot_id,
|
482
|
+
:block_index,
|
483
|
+
:block_data,
|
484
|
+
:data_length,
|
485
|
+
:progress,
|
486
|
+
:checksum,
|
487
|
+
:checksum_algorithm)
|
488
|
+
SENSITIVE = [:block_data]
|
489
|
+
include Aws::Structure
|
490
|
+
end
|
491
|
+
|
492
|
+
# @!attribute [rw] checksum
|
493
|
+
# The SHA256 checksum generated for the block data by Amazon EBS.
|
494
|
+
# @return [String]
|
495
|
+
#
|
496
|
+
# @!attribute [rw] checksum_algorithm
|
497
|
+
# The algorithm used by Amazon EBS to generate the checksum.
|
498
|
+
# @return [String]
|
499
|
+
#
|
500
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/ebs-2019-11-02/PutSnapshotBlockResponse AWS API Documentation
|
501
|
+
#
|
502
|
+
class PutSnapshotBlockResponse < Struct.new(
|
503
|
+
:checksum,
|
504
|
+
:checksum_algorithm)
|
505
|
+
SENSITIVE = []
|
506
|
+
include Aws::Structure
|
507
|
+
end
|
508
|
+
|
509
|
+
# The number of API requests has exceed the maximum allowed API request
|
510
|
+
# throttling limit.
|
511
|
+
#
|
512
|
+
# @!attribute [rw] message
|
513
|
+
# @return [String]
|
514
|
+
#
|
515
|
+
# @!attribute [rw] reason
|
516
|
+
# The reason for the exception.
|
517
|
+
# @return [String]
|
518
|
+
#
|
519
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/ebs-2019-11-02/RequestThrottledException AWS API Documentation
|
520
|
+
#
|
521
|
+
class RequestThrottledException < Struct.new(
|
522
|
+
:message,
|
523
|
+
:reason)
|
524
|
+
SENSITIVE = []
|
271
525
|
include Aws::Structure
|
272
526
|
end
|
273
527
|
|
@@ -276,10 +530,261 @@ module Aws::EBS
|
|
276
530
|
# @!attribute [rw] message
|
277
531
|
# @return [String]
|
278
532
|
#
|
533
|
+
# @!attribute [rw] reason
|
534
|
+
# The reason for the exception.
|
535
|
+
# @return [String]
|
536
|
+
#
|
279
537
|
# @see http://docs.aws.amazon.com/goto/WebAPI/ebs-2019-11-02/ResourceNotFoundException AWS API Documentation
|
280
538
|
#
|
281
539
|
class ResourceNotFoundException < Struct.new(
|
282
|
-
:message
|
540
|
+
:message,
|
541
|
+
:reason)
|
542
|
+
SENSITIVE = []
|
543
|
+
include Aws::Structure
|
544
|
+
end
|
545
|
+
|
546
|
+
# Your current service quotas do not allow you to perform this action.
|
547
|
+
#
|
548
|
+
# @!attribute [rw] message
|
549
|
+
# @return [String]
|
550
|
+
#
|
551
|
+
# @!attribute [rw] reason
|
552
|
+
# The reason for the exception.
|
553
|
+
# @return [String]
|
554
|
+
#
|
555
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/ebs-2019-11-02/ServiceQuotaExceededException AWS API Documentation
|
556
|
+
#
|
557
|
+
class ServiceQuotaExceededException < Struct.new(
|
558
|
+
:message,
|
559
|
+
:reason)
|
560
|
+
SENSITIVE = []
|
561
|
+
include Aws::Structure
|
562
|
+
end
|
563
|
+
|
564
|
+
# @note When making an API call, you may pass StartSnapshotRequest
|
565
|
+
# data as a hash:
|
566
|
+
#
|
567
|
+
# {
|
568
|
+
# volume_size: 1, # required
|
569
|
+
# parent_snapshot_id: "SnapshotId",
|
570
|
+
# tags: [
|
571
|
+
# {
|
572
|
+
# key: "TagKey",
|
573
|
+
# value: "TagValue",
|
574
|
+
# },
|
575
|
+
# ],
|
576
|
+
# description: "Description",
|
577
|
+
# client_token: "IdempotencyToken",
|
578
|
+
# encrypted: false,
|
579
|
+
# kms_key_arn: "KmsKeyArn",
|
580
|
+
# timeout: 1,
|
581
|
+
# }
|
582
|
+
#
|
583
|
+
# @!attribute [rw] volume_size
|
584
|
+
# The size of the volume, in GiB. The maximum size is `16384` GiB (16
|
585
|
+
# TiB).
|
586
|
+
# @return [Integer]
|
587
|
+
#
|
588
|
+
# @!attribute [rw] parent_snapshot_id
|
589
|
+
# The ID of the parent snapshot. If there is no parent snapshot, or if
|
590
|
+
# you are creating the first snapshot for an on-premises volume, omit
|
591
|
+
# this parameter.
|
592
|
+
#
|
593
|
+
# If your account is enabled for encryption by default, you cannot use
|
594
|
+
# an unencrypted snapshot as a parent snapshot. You must first create
|
595
|
+
# an encrypted copy of the parent snapshot using [CopySnapshot][1].
|
596
|
+
#
|
597
|
+
#
|
598
|
+
#
|
599
|
+
# [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CopySnapshot.html
|
600
|
+
# @return [String]
|
601
|
+
#
|
602
|
+
# @!attribute [rw] tags
|
603
|
+
# The tags to apply to the snapshot.
|
604
|
+
# @return [Array<Types::Tag>]
|
605
|
+
#
|
606
|
+
# @!attribute [rw] description
|
607
|
+
# A description for the snapshot.
|
608
|
+
# @return [String]
|
609
|
+
#
|
610
|
+
# @!attribute [rw] client_token
|
611
|
+
# A unique, case-sensitive identifier that you provide to ensure the
|
612
|
+
# idempotency of the request. Idempotency ensures that an API request
|
613
|
+
# completes only once. With an idempotent request, if the original
|
614
|
+
# request completes successfully. The subsequent retries with the same
|
615
|
+
# client token return the result from the original successful request
|
616
|
+
# and they have no additional effect.
|
617
|
+
#
|
618
|
+
# If you do not specify a client token, one is automatically generated
|
619
|
+
# by the AWS SDK.
|
620
|
+
#
|
621
|
+
# For more information, see [ Idempotency for StartSnapshot API][1] in
|
622
|
+
# the *Amazon Elastic Compute Cloud User Guide*.
|
623
|
+
#
|
624
|
+
# **A suitable default value is auto-generated.** You should normally
|
625
|
+
# not need to pass this option.
|
626
|
+
#
|
627
|
+
#
|
628
|
+
#
|
629
|
+
# [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-direct-api-idempotency.html
|
630
|
+
# @return [String]
|
631
|
+
#
|
632
|
+
# @!attribute [rw] encrypted
|
633
|
+
# Indicates whether to encrypt the snapshot. To create an encrypted
|
634
|
+
# snapshot, specify `true`. To create an unencrypted snapshot, omit
|
635
|
+
# this parameter.
|
636
|
+
#
|
637
|
+
# If you specify a value for **ParentSnapshotId**, omit this
|
638
|
+
# parameter.
|
639
|
+
#
|
640
|
+
# If you specify `true`, the snapshot is encrypted using the CMK
|
641
|
+
# specified using the **KmsKeyArn** parameter. If no value is
|
642
|
+
# specified for **KmsKeyArn**, the default CMK for your account is
|
643
|
+
# used. If no default CMK has been specified for your account, the AWS
|
644
|
+
# managed CMK is used. To set a default CMK for your account, use [
|
645
|
+
# ModifyEbsDefaultKmsKeyId][1].
|
646
|
+
#
|
647
|
+
# If your account is enabled for encryption by default, you cannot set
|
648
|
+
# this parameter to `false`. In this case, you can omit this
|
649
|
+
# parameter.
|
650
|
+
#
|
651
|
+
# For more information, see [ Using encryption][2] in the *Amazon
|
652
|
+
# Elastic Compute Cloud User Guide*.
|
653
|
+
#
|
654
|
+
#
|
655
|
+
#
|
656
|
+
# [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyEbsDefaultKmsKeyId.html
|
657
|
+
# [2]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-accessing-snapshot.html#ebsapis-using-encryption
|
658
|
+
# @return [Boolean]
|
659
|
+
#
|
660
|
+
# @!attribute [rw] kms_key_arn
|
661
|
+
# The Amazon Resource Name (ARN) of the AWS Key Management Service
|
662
|
+
# (AWS KMS) customer master key (CMK) to be used to encrypt the
|
663
|
+
# snapshot. If you do not specify a CMK, the default AWS managed CMK
|
664
|
+
# is used.
|
665
|
+
#
|
666
|
+
# If you specify a **ParentSnapshotId**, omit this parameter; the
|
667
|
+
# snapshot will be encrypted using the same CMK that was used to
|
668
|
+
# encrypt the parent snapshot.
|
669
|
+
#
|
670
|
+
# If **Encrypted** is set to `true`, you must specify a CMK ARN.
|
671
|
+
# @return [String]
|
672
|
+
#
|
673
|
+
# @!attribute [rw] timeout
|
674
|
+
# The amount of time (in minutes) after which the snapshot is
|
675
|
+
# automatically cancelled if:
|
676
|
+
#
|
677
|
+
# * No blocks are written to the snapshot.
|
678
|
+
#
|
679
|
+
# * The snapshot is not completed after writing the last block of
|
680
|
+
# data.
|
681
|
+
#
|
682
|
+
# If no value is specified, the timeout defaults to `60` minutes.
|
683
|
+
# @return [Integer]
|
684
|
+
#
|
685
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/ebs-2019-11-02/StartSnapshotRequest AWS API Documentation
|
686
|
+
#
|
687
|
+
class StartSnapshotRequest < Struct.new(
|
688
|
+
:volume_size,
|
689
|
+
:parent_snapshot_id,
|
690
|
+
:tags,
|
691
|
+
:description,
|
692
|
+
:client_token,
|
693
|
+
:encrypted,
|
694
|
+
:kms_key_arn,
|
695
|
+
:timeout)
|
696
|
+
SENSITIVE = [:kms_key_arn]
|
697
|
+
include Aws::Structure
|
698
|
+
end
|
699
|
+
|
700
|
+
# @!attribute [rw] description
|
701
|
+
# The description of the snapshot.
|
702
|
+
# @return [String]
|
703
|
+
#
|
704
|
+
# @!attribute [rw] snapshot_id
|
705
|
+
# The ID of the snapshot.
|
706
|
+
# @return [String]
|
707
|
+
#
|
708
|
+
# @!attribute [rw] owner_id
|
709
|
+
# The AWS account ID of the snapshot owner.
|
710
|
+
# @return [String]
|
711
|
+
#
|
712
|
+
# @!attribute [rw] status
|
713
|
+
# The status of the snapshot.
|
714
|
+
# @return [String]
|
715
|
+
#
|
716
|
+
# @!attribute [rw] start_time
|
717
|
+
# The timestamp when the snapshot was created.
|
718
|
+
# @return [Time]
|
719
|
+
#
|
720
|
+
# @!attribute [rw] volume_size
|
721
|
+
# The size of the volume, in GiB.
|
722
|
+
# @return [Integer]
|
723
|
+
#
|
724
|
+
# @!attribute [rw] block_size
|
725
|
+
# The size of the blocks in the snapshot, in bytes.
|
726
|
+
# @return [Integer]
|
727
|
+
#
|
728
|
+
# @!attribute [rw] tags
|
729
|
+
# The tags applied to the snapshot. You can specify up to 50 tags per
|
730
|
+
# snapshot. For more information, see [ Tagging your Amazon EC2
|
731
|
+
# resources][1] in the *Amazon Elastic Compute Cloud User Guide*.
|
732
|
+
#
|
733
|
+
#
|
734
|
+
#
|
735
|
+
# [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html
|
736
|
+
# @return [Array<Types::Tag>]
|
737
|
+
#
|
738
|
+
# @!attribute [rw] parent_snapshot_id
|
739
|
+
# The ID of the parent snapshot.
|
740
|
+
# @return [String]
|
741
|
+
#
|
742
|
+
# @!attribute [rw] kms_key_arn
|
743
|
+
# The Amazon Resource Name (ARN) of the AWS Key Management Service
|
744
|
+
# (AWS KMS) customer master key (CMK) used to encrypt the snapshot.
|
745
|
+
# @return [String]
|
746
|
+
#
|
747
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/ebs-2019-11-02/StartSnapshotResponse AWS API Documentation
|
748
|
+
#
|
749
|
+
class StartSnapshotResponse < Struct.new(
|
750
|
+
:description,
|
751
|
+
:snapshot_id,
|
752
|
+
:owner_id,
|
753
|
+
:status,
|
754
|
+
:start_time,
|
755
|
+
:volume_size,
|
756
|
+
:block_size,
|
757
|
+
:tags,
|
758
|
+
:parent_snapshot_id,
|
759
|
+
:kms_key_arn)
|
760
|
+
SENSITIVE = [:kms_key_arn]
|
761
|
+
include Aws::Structure
|
762
|
+
end
|
763
|
+
|
764
|
+
# Describes a tag.
|
765
|
+
#
|
766
|
+
# @note When making an API call, you may pass Tag
|
767
|
+
# data as a hash:
|
768
|
+
#
|
769
|
+
# {
|
770
|
+
# key: "TagKey",
|
771
|
+
# value: "TagValue",
|
772
|
+
# }
|
773
|
+
#
|
774
|
+
# @!attribute [rw] key
|
775
|
+
# The key of the tag.
|
776
|
+
# @return [String]
|
777
|
+
#
|
778
|
+
# @!attribute [rw] value
|
779
|
+
# The value of the tag.
|
780
|
+
# @return [String]
|
781
|
+
#
|
782
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/ebs-2019-11-02/Tag AWS API Documentation
|
783
|
+
#
|
784
|
+
class Tag < Struct.new(
|
785
|
+
:key,
|
786
|
+
:value)
|
787
|
+
SENSITIVE = []
|
283
788
|
include Aws::Structure
|
284
789
|
end
|
285
790
|
|
@@ -297,6 +802,7 @@ module Aws::EBS
|
|
297
802
|
class ValidationException < Struct.new(
|
298
803
|
:message,
|
299
804
|
:reason)
|
805
|
+
SENSITIVE = []
|
300
806
|
include Aws::Structure
|
301
807
|
end
|
302
808
|
|