aws-sdk-ebs 1.2.0 → 1.7.0
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.
- 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
|
|