aws-sdk-ebs 1.6.0 → 1.11.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 -3
- data/lib/aws-sdk-ebs/client.rb +322 -13
- data/lib/aws-sdk-ebs/client_api.rb +162 -0
- data/lib/aws-sdk-ebs/errors.rb +116 -0
- data/lib/aws-sdk-ebs/types.rb +495 -1
- metadata +4 -4
data/lib/aws-sdk-ebs/errors.rb
CHANGED
@@ -27,7 +27,13 @@ module Aws::EBS
|
|
27
27
|
# See {Seahorse::Client::RequestContext} for more information.
|
28
28
|
#
|
29
29
|
# ## Error Classes
|
30
|
+
# * {AccessDeniedException}
|
31
|
+
# * {ConcurrentLimitExceededException}
|
32
|
+
# * {ConflictException}
|
33
|
+
# * {InternalServerException}
|
34
|
+
# * {RequestThrottledException}
|
30
35
|
# * {ResourceNotFoundException}
|
36
|
+
# * {ServiceQuotaExceededException}
|
31
37
|
# * {ValidationException}
|
32
38
|
#
|
33
39
|
# Additionally, error classes are dynamically generated for service errors based on the error code
|
@@ -36,6 +42,91 @@ module Aws::EBS
|
|
36
42
|
|
37
43
|
extend Aws::Errors::DynamicErrors
|
38
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
|
+
|
39
130
|
class ResourceNotFoundException < ServiceError
|
40
131
|
|
41
132
|
# @param [Seahorse::Client::RequestContext] context
|
@@ -49,6 +140,31 @@ module Aws::EBS
|
|
49
140
|
def message
|
50
141
|
@message || @data[:message]
|
51
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
|
52
168
|
end
|
53
169
|
|
54
170
|
class ValidationException < ServiceError
|
data/lib/aws-sdk-ebs/types.rb
CHANGED
@@ -10,6 +10,24 @@
|
|
10
10
|
module Aws::EBS
|
11
11
|
module Types
|
12
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
|
+
|
13
31
|
# A block of data in an Amazon Elastic Block Store snapshot.
|
14
32
|
#
|
15
33
|
# @!attribute [rw] block_index
|
@@ -58,6 +76,103 @@ module Aws::EBS
|
|
58
76
|
include Aws::Structure
|
59
77
|
end
|
60
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 = []
|
173
|
+
include Aws::Structure
|
174
|
+
end
|
175
|
+
|
61
176
|
# @note When making an API call, you may pass GetSnapshotBlockRequest
|
62
177
|
# data as a hash:
|
63
178
|
#
|
@@ -123,6 +238,19 @@ module Aws::EBS
|
|
123
238
|
include Aws::Structure
|
124
239
|
end
|
125
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 = []
|
251
|
+
include Aws::Structure
|
252
|
+
end
|
253
|
+
|
126
254
|
# @note When making an API call, you may pass ListChangedBlocksRequest
|
127
255
|
# data as a hash:
|
128
256
|
#
|
@@ -281,15 +409,381 @@ module Aws::EBS
|
|
281
409
|
include Aws::Structure
|
282
410
|
end
|
283
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 = []
|
525
|
+
include Aws::Structure
|
526
|
+
end
|
527
|
+
|
284
528
|
# The specified resource does not exist.
|
285
529
|
#
|
286
530
|
# @!attribute [rw] message
|
287
531
|
# @return [String]
|
288
532
|
#
|
533
|
+
# @!attribute [rw] reason
|
534
|
+
# The reason for the exception.
|
535
|
+
# @return [String]
|
536
|
+
#
|
289
537
|
# @see http://docs.aws.amazon.com/goto/WebAPI/ebs-2019-11-02/ResourceNotFoundException AWS API Documentation
|
290
538
|
#
|
291
539
|
class ResourceNotFoundException < Struct.new(
|
292
|
-
: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)
|
293
787
|
SENSITIVE = []
|
294
788
|
include Aws::Structure
|
295
789
|
end
|