aws-sdk-ebs 1.2.0 → 1.7.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 +4 -2
- data/lib/aws-sdk-ebs/client.rb +308 -7
- 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 +3 -7
- data/lib/aws-sdk-ebs/types.rb +507 -1
- metadata +6 -5
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
@@ -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:
|
@@ -6,13 +8,7 @@
|
|
6
8
|
# WARNING ABOUT GENERATED CODE
|
7
9
|
|
8
10
|
module Aws::EBS
|
9
|
-
|
10
|
-
# To create a resource object:
|
11
|
-
# resource = Aws::EBS::Resource.new(region: 'us-west-2')
|
12
|
-
# You can supply a client object with custom configuration that will be used for all resource operations.
|
13
|
-
# If you do not pass +:client+, a default client will be constructed.
|
14
|
-
# client = Aws::EBS::Client.new(region: 'us-west-2')
|
15
|
-
# resource = Aws::EBS::Resource.new(client: client)
|
11
|
+
|
16
12
|
class Resource
|
17
13
|
|
18
14
|
# @param options ({})
|
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 the offset position of a block within a snapshot, and it is
|
432
|
+
# used to identify the block. To identify the logical offset of the
|
433
|
+
# data in the logical volume, multiply the block index with the block
|
434
|
+
# size (Block index * 512 bytes).
|
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
|
|