104 104 | snapshot_id: str
|
105 105 | """
|
106 106 | <p>The ID of the snapshot from which to get block indexes and block tokens.</p>
|
107 107 | """
|
108 108 |
|
109 109 | starting_block_index: typing.Optional[int]
|
110 110 | """
|
111 111 | <p>The block index from which the list should start. The list in the response will start from this block index or the next valid block index in the snapshot.</p>
|
112 112 | """
|
113 113 |
|
114 - | def __init__(self, max_results: typing.Optional[int] = ..., starting_block_index: typing.Optional[int] = ..., next_token: typing.Optional[str] = ..., snapshot_id: str) -> None:
|
114 + | def __init__(self, snapshot_id: str, max_results: typing.Optional[int] = ..., starting_block_index: typing.Optional[int] = ..., next_token: typing.Optional[str] = ...) -> None:
|
115 115 | ...
|
116 116 |
|
117 117 |
|
118 118 | class PutSnapshotBlockInput:
|
119 119 | block_data: ebs.types.ByteStream
|
120 120 | """
|
121 121 | <p>The data to write to the block.</p>
|
122 122 | <p>The block data is not signed as part of the Signature Version 4 signing process. As a result, you must generate and provide a Base64-encoded SHA256 checksum for the block data using the <b>x-amz-Checksum</b> header. Also, you must specify the checksum algorithm using the <b>x-amz-Checksum-Algorithm</b> header. The checksum that you provide is part of the Signature Version 4 signing process. It is validated against a checksum generated by Amazon EBS to ensure the validity and authenticity of the data. If the checksums do not correspond, the request fails. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-accessing-snapshot.html#ebsapis-using-checksums"> Using checksums with the EBS direct APIs</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p>
|
123 123 | """
|
124 124 |
|
125 125 | block_index: int
|
126 126 | """
|
127 127 | <p>The block index of the block in which to write the data. A block index is a logical index in units of <code>512</code> KiB blocks. To identify the block index, divide the logical offset of the data in the logical volume by the block size (logical offset of data/<code>524288</code>). The logical offset of the data must be <code>512</code> KiB aligned.</p>
|
128 128 | """
|
129 129 |
|
130 130 | checksum: str
|
131 131 | """
|
132 132 | <p>A Base64-encoded SHA256 checksum of the data. Only SHA256 checksums are supported.</p>
|
133 133 | """
|
134 134 |
|
135 135 | checksum_algorithm: ebs.model.ChecksumAlgorithm
|
136 136 | """
|
137 137 | <p>The algorithm used to generate the checksum. Currently, the only supported algorithm is <code>SHA256</code>.</p>
|
138 138 | """
|
139 139 |
|
140 140 | data_length: int
|
141 141 | """
|
142 142 | <p>The size of the data to write to the block, in bytes. Currently, the only supported size is <code>524288</code>.</p>
|
143 143 | <p>Valid values: <code>524288</code></p>
|
144 144 | """
|
145 145 |
|
146 146 | progress: typing.Optional[int]
|
147 147 | """
|
148 148 | <p>The progress of the write process, as a percentage.</p>
|
149 149 | """
|
150 150 |
|
151 151 | snapshot_id: str
|
152 152 | """
|
153 153 | <p>The ID of the snapshot.</p>
|
154 154 | """
|
155 155 |
|
156 - | def __init__(self, snapshot_id: str, block_index: int, checksum: str, progress: typing.Optional[int] = ..., block_data: ebs.types.ByteStream, data_length: int, checksum_algorithm: ebs.model.ChecksumAlgorithm) -> None:
|
156 + | def __init__(self, snapshot_id: str, block_index: int, checksum: str, block_data: ebs.types.ByteStream, data_length: int, checksum_algorithm: ebs.model.ChecksumAlgorithm, progress: typing.Optional[int] = ...) -> None:
|
157 157 | ...
|
158 158 |
|
159 159 |
|
160 160 | class StartSnapshotInput:
|
161 161 | client_token: typing.Optional[str]
|
162 162 | """
|
163 163 | <p>A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Idempotency ensures that an API request completes only once. With an idempotent request, if the original request completes successfully. The subsequent retries with the same client token return the result from the original successful request and they have no additional effect.</p>
|
164 164 | <p>If you do not specify a client token, one is automatically generated by the AWS SDK.</p>
|
165 165 | <p>For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-direct-api-idempotency.html"> Idempotency for StartSnapshot API</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p>
|
166 166 | """
|
167 167 |
|
168 168 | description: typing.Optional[str]
|
169 169 | """
|
170 170 | <p>A description for the snapshot.</p>
|
171 171 | """
|
172 172 |
|
173 173 | encrypted: typing.Optional[bool]
|
174 174 | """
|
175 175 | <p>Indicates whether to encrypt the snapshot. To create an encrypted snapshot, specify <code>true</code>. To create an unencrypted snapshot, omit this parameter.</p>
|
176 176 | <p>If you specify a value for <b>ParentSnapshotId</b>, omit this parameter.</p>
|
177 177 | <p>If you specify <code>true</code>, the snapshot is encrypted using the CMK specified using the <b>KmsKeyArn</b> parameter. If no value is specified for <b>KmsKeyArn</b>, the default CMK for your account is used. If no default CMK has been specified for your account, the AWS managed CMK is used. To set a default CMK for your account, use <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyEbsDefaultKmsKeyId.html"> ModifyEbsDefaultKmsKeyId</a>.</p>
|
178 178 | <p>If your account is enabled for encryption by default, you cannot set this parameter to <code>false</code>. In this case, you can omit this parameter.</p>
|
179 179 | <p>For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-accessing-snapshot.html#ebsapis-using-encryption"> Using encryption</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p>
|
180 180 | """
|
181 181 |
|
182 182 | kms_key_arn: typing.Optional[str]
|
183 183 | """
|
184 184 | <p>The Amazon Resource Name (ARN) of the AWS Key Management Service (AWS KMS) customer master key (CMK) to be used to encrypt the snapshot. If you do not specify a CMK, the default AWS managed CMK is used.</p>
|
185 185 | <p>If you specify a <b>ParentSnapshotId</b>, omit this parameter; the snapshot will be encrypted using the same CMK that was used to encrypt the parent snapshot.</p>
|
186 186 | <p>If <b>Encrypted</b> is set to <code>true</code>, you must specify a CMK ARN.</p>
|
187 187 | """
|
188 188 |
|
189 189 | parent_snapshot_id: typing.Optional[str]
|
190 190 | """
|
191 191 | <p>The ID of the parent snapshot. If there is no parent snapshot, or if you are creating the first snapshot for an on-premises volume, omit this parameter.</p>
|
192 192 | <p>If your account is enabled for encryption by default, you cannot use an unencrypted snapshot as a parent snapshot. You must first create an encrypted copy of the parent snapshot using <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CopySnapshot.html">CopySnapshot</a>.</p>
|
193 193 | """
|
194 194 |
|
195 195 | tags: typing.Optional[typing.List[ebs.model.Tag]]
|
196 196 | """
|
197 197 | <p>The tags to apply to the snapshot.</p>
|
198 198 | """
|
199 199 |
|
200 200 | timeout: typing.Optional[int]
|
201 201 | """
|
202 202 | <p>The amount of time (in minutes) after which the snapshot is automatically cancelled if:</p>
|
203 203 | <ul>
|
204 204 | <li>
|
205 205 | <p>No blocks are written to the snapshot.</p></li>
|
206 206 | <li>
|
207 207 | <p>The snapshot is not completed after writing the last block of data.</p></li>
|
208 208 | </ul>
|
209 209 | <p>If no value is specified, the timeout defaults to <code>60</code> minutes.</p>
|
210 210 | """
|
211 211 |
|
212 212 | volume_size: int
|
213 213 | """
|
214 214 | <p>The size of the volume, in GiB. The maximum size is <code>16384</code> GiB (16 TiB).</p>
|
215 215 | """
|
216 216 |
|
217 - | def __init__(self, timeout: typing.Optional[int] = ..., client_token: typing.Optional[str] = ..., volume_size: int, tags: typing.Optional[typing.List[ebs.model.Tag]] = ..., encrypted: typing.Optional[bool] = ..., kms_key_arn: typing.Optional[str] = ..., parent_snapshot_id: typing.Optional[str] = ..., description: typing.Optional[str] = ...) -> None:
|
217 + | def __init__(self, volume_size: int, timeout: typing.Optional[int] = ..., client_token: typing.Optional[str] = ..., tags: typing.Optional[typing.List[ebs.model.Tag]] = ..., encrypted: typing.Optional[bool] = ..., kms_key_arn: typing.Optional[str] = ..., parent_snapshot_id: typing.Optional[str] = ..., description: typing.Optional[str] = ...) -> None:
|
218 218 | ...
|
219 219 |
|