capo-ebs 0.2.0__tar.gz → 0.4.0__tar.gz

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.
Files changed (104) hide show
  1. {capo_ebs-0.2.0/src/capo_ebs.egg-info → capo_ebs-0.4.0}/PKG-INFO +1 -1
  2. {capo_ebs-0.2.0 → capo_ebs-0.4.0}/pyproject.toml +1 -1
  3. {capo_ebs-0.2.0 → capo_ebs-0.4.0}/src/capo_ebs/_operations/ebs/complete_snapshot.py +5 -1
  4. {capo_ebs-0.2.0 → capo_ebs-0.4.0}/src/capo_ebs/_operations/ebs/get_snapshot_block.py +5 -1
  5. {capo_ebs-0.2.0 → capo_ebs-0.4.0}/src/capo_ebs/_operations/ebs/list_changed_blocks.py +5 -1
  6. {capo_ebs-0.2.0 → capo_ebs-0.4.0}/src/capo_ebs/_operations/ebs/list_snapshot_blocks.py +5 -1
  7. {capo_ebs-0.2.0 → capo_ebs-0.4.0}/src/capo_ebs/_operations/ebs/put_snapshot_block.py +10 -2
  8. {capo_ebs-0.2.0 → capo_ebs-0.4.0}/src/capo_ebs/_operations/ebs/start_snapshot.py +5 -1
  9. {capo_ebs-0.2.0 → capo_ebs-0.4.0}/src/capo_ebs/_services/_pipeline.py +2 -0
  10. {capo_ebs-0.2.0 → capo_ebs-0.4.0}/src/capo_ebs/_services/async_ebs.py +31 -26
  11. {capo_ebs-0.2.0 → capo_ebs-0.4.0}/src/capo_ebs/_services/ebs.py +31 -26
  12. {capo_ebs-0.2.0 → capo_ebs-0.4.0}/src/capo_ebs/types/get_snapshot_block_request.py +1 -1
  13. {capo_ebs-0.2.0 → capo_ebs-0.4.0}/src/capo_ebs/types/put_snapshot_block_request.py +2 -2
  14. capo_ebs-0.4.0/src/capo_ebs/types/start_snapshot_request.py +84 -0
  15. {capo_ebs-0.2.0 → capo_ebs-0.4.0}/src/capo_ebs/types/start_snapshot_response.py +1 -1
  16. {capo_ebs-0.2.0 → capo_ebs-0.4.0/src/capo_ebs.egg-info}/PKG-INFO +1 -1
  17. capo_ebs-0.2.0/src/capo_ebs/types/start_snapshot_request.py +0 -84
  18. {capo_ebs-0.2.0 → capo_ebs-0.4.0}/LICENSE +0 -0
  19. {capo_ebs-0.2.0 → capo_ebs-0.4.0}/README.md +0 -0
  20. {capo_ebs-0.2.0 → capo_ebs-0.4.0}/setup.cfg +0 -0
  21. {capo_ebs-0.2.0 → capo_ebs-0.4.0}/src/capo_ebs/__init__.py +0 -0
  22. {capo_ebs-0.2.0 → capo_ebs-0.4.0}/src/capo_ebs/_async.py +0 -0
  23. {capo_ebs-0.2.0 → capo_ebs-0.4.0}/src/capo_ebs/_auth/_identity.py +0 -0
  24. {capo_ebs-0.2.0 → capo_ebs-0.4.0}/src/capo_ebs/_auth/_providers.py +0 -0
  25. {capo_ebs-0.2.0 → capo_ebs-0.4.0}/src/capo_ebs/_auth/_signers.py +0 -0
  26. {capo_ebs-0.2.0 → capo_ebs-0.4.0}/src/capo_ebs/_auth/_sigv4.py +0 -0
  27. {capo_ebs-0.2.0 → capo_ebs-0.4.0}/src/capo_ebs/_auth/_zapros_handler.py +0 -0
  28. {capo_ebs-0.2.0 → capo_ebs-0.4.0}/src/capo_ebs/_body.py +0 -0
  29. {capo_ebs-0.2.0 → capo_ebs-0.4.0}/src/capo_ebs/_iter.py +0 -0
  30. {capo_ebs-0.2.0 → capo_ebs-0.4.0}/src/capo_ebs/_pagination.py +0 -0
  31. {capo_ebs-0.2.0 → capo_ebs-0.4.0}/src/capo_ebs/_protocol/__init__.py +0 -0
  32. {capo_ebs-0.2.0 → capo_ebs-0.4.0}/src/capo_ebs/_protocol/errors.py +0 -0
  33. {capo_ebs-0.2.0 → capo_ebs-0.4.0}/src/capo_ebs/_protocol/eventstream.py +0 -0
  34. {capo_ebs-0.2.0 → capo_ebs-0.4.0}/src/capo_ebs/_protocol/serialize.py +0 -0
  35. {capo_ebs-0.2.0 → capo_ebs-0.4.0}/src/capo_ebs/_protocol/xml.py +0 -0
  36. {capo_ebs-0.2.0 → capo_ebs-0.4.0}/src/capo_ebs/_rule_engine/__init__.py +0 -0
  37. {capo_ebs-0.2.0 → capo_ebs-0.4.0}/src/capo_ebs/_rule_engine/_aws_partition.py +0 -0
  38. {capo_ebs-0.2.0 → capo_ebs-0.4.0}/src/capo_ebs/_rule_engine/_endpoint_rule_set.py +0 -0
  39. {capo_ebs-0.2.0 → capo_ebs-0.4.0}/src/capo_ebs/_rule_engine/_endpoint_runtime.py +0 -0
  40. {capo_ebs-0.2.0 → capo_ebs-0.4.0}/src/capo_ebs/_services/_aws_config.py +0 -0
  41. {capo_ebs-0.2.0 → capo_ebs-0.4.0}/src/capo_ebs/errors/__init__.py +0 -0
  42. {capo_ebs-0.2.0 → capo_ebs-0.4.0}/src/capo_ebs/errors/_base.py +0 -0
  43. {capo_ebs-0.2.0 → capo_ebs-0.4.0}/src/capo_ebs/errors/access_denied_exception.py +0 -0
  44. {capo_ebs-0.2.0 → capo_ebs-0.4.0}/src/capo_ebs/errors/concurrent_limit_exceeded_exception.py +0 -0
  45. {capo_ebs-0.2.0 → capo_ebs-0.4.0}/src/capo_ebs/errors/conflict_exception.py +0 -0
  46. {capo_ebs-0.2.0 → capo_ebs-0.4.0}/src/capo_ebs/errors/internal_server_exception.py +0 -0
  47. {capo_ebs-0.2.0 → capo_ebs-0.4.0}/src/capo_ebs/errors/request_throttled_exception.py +0 -0
  48. {capo_ebs-0.2.0 → capo_ebs-0.4.0}/src/capo_ebs/errors/resource_not_found_exception.py +0 -0
  49. {capo_ebs-0.2.0 → capo_ebs-0.4.0}/src/capo_ebs/errors/service_quota_exceeded_exception.py +0 -0
  50. {capo_ebs-0.2.0 → capo_ebs-0.4.0}/src/capo_ebs/errors/validation_exception.py +0 -0
  51. {capo_ebs-0.2.0 → capo_ebs-0.4.0}/src/capo_ebs/py.typed +0 -0
  52. {capo_ebs-0.2.0 → capo_ebs-0.4.0}/src/capo_ebs/types/_prelude/blob.py +0 -0
  53. {capo_ebs-0.2.0 → capo_ebs-0.4.0}/src/capo_ebs/types/_prelude/timestamp.py +0 -0
  54. {capo_ebs-0.2.0 → capo_ebs-0.4.0}/src/capo_ebs/types/access_denied_exception_reason.py +0 -0
  55. {capo_ebs-0.2.0 → capo_ebs-0.4.0}/src/capo_ebs/types/block.py +0 -0
  56. {capo_ebs-0.2.0 → capo_ebs-0.4.0}/src/capo_ebs/types/block_data.py +0 -0
  57. {capo_ebs-0.2.0 → capo_ebs-0.4.0}/src/capo_ebs/types/block_index.py +0 -0
  58. {capo_ebs-0.2.0 → capo_ebs-0.4.0}/src/capo_ebs/types/block_size.py +0 -0
  59. {capo_ebs-0.2.0 → capo_ebs-0.4.0}/src/capo_ebs/types/block_token.py +0 -0
  60. {capo_ebs-0.2.0 → capo_ebs-0.4.0}/src/capo_ebs/types/blocks.py +0 -0
  61. {capo_ebs-0.2.0 → capo_ebs-0.4.0}/src/capo_ebs/types/boolean.py +0 -0
  62. {capo_ebs-0.2.0 → capo_ebs-0.4.0}/src/capo_ebs/types/changed_block.py +0 -0
  63. {capo_ebs-0.2.0 → capo_ebs-0.4.0}/src/capo_ebs/types/changed_blocks.py +0 -0
  64. {capo_ebs-0.2.0 → capo_ebs-0.4.0}/src/capo_ebs/types/changed_blocks_count.py +0 -0
  65. {capo_ebs-0.2.0 → capo_ebs-0.4.0}/src/capo_ebs/types/checksum.py +0 -0
  66. {capo_ebs-0.2.0 → capo_ebs-0.4.0}/src/capo_ebs/types/checksum_aggregation_method.py +0 -0
  67. {capo_ebs-0.2.0 → capo_ebs-0.4.0}/src/capo_ebs/types/checksum_algorithm.py +0 -0
  68. {capo_ebs-0.2.0 → capo_ebs-0.4.0}/src/capo_ebs/types/complete_snapshot_request.py +0 -0
  69. {capo_ebs-0.2.0 → capo_ebs-0.4.0}/src/capo_ebs/types/complete_snapshot_response.py +0 -0
  70. {capo_ebs-0.2.0 → capo_ebs-0.4.0}/src/capo_ebs/types/data_length.py +0 -0
  71. {capo_ebs-0.2.0 → capo_ebs-0.4.0}/src/capo_ebs/types/description.py +0 -0
  72. {capo_ebs-0.2.0 → capo_ebs-0.4.0}/src/capo_ebs/types/error_message.py +0 -0
  73. {capo_ebs-0.2.0 → capo_ebs-0.4.0}/src/capo_ebs/types/get_snapshot_block_response.py +0 -0
  74. {capo_ebs-0.2.0 → capo_ebs-0.4.0}/src/capo_ebs/types/idempotency_token.py +0 -0
  75. {capo_ebs-0.2.0 → capo_ebs-0.4.0}/src/capo_ebs/types/kms_key_arn.py +0 -0
  76. {capo_ebs-0.2.0 → capo_ebs-0.4.0}/src/capo_ebs/types/list_changed_blocks_request.py +0 -0
  77. {capo_ebs-0.2.0 → capo_ebs-0.4.0}/src/capo_ebs/types/list_changed_blocks_response.py +0 -0
  78. {capo_ebs-0.2.0 → capo_ebs-0.4.0}/src/capo_ebs/types/list_snapshot_blocks_request.py +0 -0
  79. {capo_ebs-0.2.0 → capo_ebs-0.4.0}/src/capo_ebs/types/list_snapshot_blocks_response.py +0 -0
  80. {capo_ebs-0.2.0 → capo_ebs-0.4.0}/src/capo_ebs/types/max_results.py +0 -0
  81. {capo_ebs-0.2.0 → capo_ebs-0.4.0}/src/capo_ebs/types/owner_id.py +0 -0
  82. {capo_ebs-0.2.0 → capo_ebs-0.4.0}/src/capo_ebs/types/page_token.py +0 -0
  83. {capo_ebs-0.2.0 → capo_ebs-0.4.0}/src/capo_ebs/types/progress.py +0 -0
  84. {capo_ebs-0.2.0 → capo_ebs-0.4.0}/src/capo_ebs/types/put_snapshot_block_response.py +0 -0
  85. {capo_ebs-0.2.0 → capo_ebs-0.4.0}/src/capo_ebs/types/request_throttled_exception_reason.py +0 -0
  86. {capo_ebs-0.2.0 → capo_ebs-0.4.0}/src/capo_ebs/types/resource_not_found_exception_reason.py +0 -0
  87. {capo_ebs-0.2.0 → capo_ebs-0.4.0}/src/capo_ebs/types/service_quota_exceeded_exception_reason.py +0 -0
  88. {capo_ebs-0.2.0 → capo_ebs-0.4.0}/src/capo_ebs/types/snapshot_id.py +0 -0
  89. {capo_ebs-0.2.0 → capo_ebs-0.4.0}/src/capo_ebs/types/sse_type.py +0 -0
  90. {capo_ebs-0.2.0 → capo_ebs-0.4.0}/src/capo_ebs/types/status.py +0 -0
  91. {capo_ebs-0.2.0 → capo_ebs-0.4.0}/src/capo_ebs/types/tag.py +0 -0
  92. {capo_ebs-0.2.0 → capo_ebs-0.4.0}/src/capo_ebs/types/tag_key.py +0 -0
  93. {capo_ebs-0.2.0 → capo_ebs-0.4.0}/src/capo_ebs/types/tag_value.py +0 -0
  94. {capo_ebs-0.2.0 → capo_ebs-0.4.0}/src/capo_ebs/types/tags.py +0 -0
  95. {capo_ebs-0.2.0 → capo_ebs-0.4.0}/src/capo_ebs/types/time_stamp.py +0 -0
  96. {capo_ebs-0.2.0 → capo_ebs-0.4.0}/src/capo_ebs/types/timeout.py +0 -0
  97. {capo_ebs-0.2.0 → capo_ebs-0.4.0}/src/capo_ebs/types/validation_exception_reason.py +0 -0
  98. {capo_ebs-0.2.0 → capo_ebs-0.4.0}/src/capo_ebs/types/volume_size.py +0 -0
  99. {capo_ebs-0.2.0 → capo_ebs-0.4.0}/src/capo_ebs.egg-info/SOURCES.txt +0 -0
  100. {capo_ebs-0.2.0 → capo_ebs-0.4.0}/src/capo_ebs.egg-info/dependency_links.txt +0 -0
  101. {capo_ebs-0.2.0 → capo_ebs-0.4.0}/src/capo_ebs.egg-info/requires.txt +0 -0
  102. {capo_ebs-0.2.0 → capo_ebs-0.4.0}/src/capo_ebs.egg-info/top_level.txt +0 -0
  103. {capo_ebs-0.2.0 → capo_ebs-0.4.0}/tests/test_body.py +0 -0
  104. {capo_ebs-0.2.0 → capo_ebs-0.4.0}/tests/test_sigv4.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: capo-ebs
3
- Version: 0.2.0
3
+ Version: 0.4.0
4
4
  Summary: Python SDK for AWS EBS.
5
5
  Classifier: Development Status :: 4 - Beta
6
6
  Classifier: Intended Audience :: Developers
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "capo-ebs"
3
- version = "0.2.0"
3
+ version = "0.4.0"
4
4
  description = "Python SDK for AWS EBS."
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.10"
@@ -151,7 +151,11 @@ def build_request(
151
151
  )
152
152
  )
153
153
  body: bytes | None = b""
154
- signer = get_signer(options, auth_schemes=endpoint.properties.get("authSchemes"))
154
+ signer = (
155
+ None
156
+ if options.anonymous
157
+ else get_signer(options, auth_schemes=endpoint.properties.get("authSchemes"))
158
+ )
155
159
  normalized_url = zapros.URL(url)
156
160
  for k, v in params:
157
161
  normalized_url.search_params.append(k, v)
@@ -148,7 +148,11 @@ def build_request(
148
148
  params.append(("blockToken", input_["block_token"]))
149
149
  headers: dict[str, str] = {k: ", ".join(v) for k, v in endpoint.headers.items()}
150
150
  body: bytes | None = b""
151
- signer = get_signer(options, auth_schemes=endpoint.properties.get("authSchemes"))
151
+ signer = (
152
+ None
153
+ if options.anonymous
154
+ else get_signer(options, auth_schemes=endpoint.properties.get("authSchemes"))
155
+ )
152
156
  normalized_url = zapros.URL(url)
153
157
  for k, v in params:
154
158
  normalized_url.search_params.append(k, v)
@@ -141,7 +141,11 @@ def build_request(
141
141
  params.append(("startingBlockIndex", str(input_["starting_block_index"])))
142
142
  headers: dict[str, str] = {k: ", ".join(v) for k, v in endpoint.headers.items()}
143
143
  body: bytes | None = b""
144
- signer = get_signer(options, auth_schemes=endpoint.properties.get("authSchemes"))
144
+ signer = (
145
+ None
146
+ if options.anonymous
147
+ else get_signer(options, auth_schemes=endpoint.properties.get("authSchemes"))
148
+ )
145
149
  normalized_url = zapros.URL(url)
146
150
  for k, v in params:
147
151
  normalized_url.search_params.append(k, v)
@@ -137,7 +137,11 @@ def build_request(
137
137
  params.append(("startingBlockIndex", str(input_["starting_block_index"])))
138
138
  headers: dict[str, str] = {k: ", ".join(v) for k, v in endpoint.headers.items()}
139
139
  body: bytes | None = b""
140
- signer = get_signer(options, auth_schemes=endpoint.properties.get("authSchemes"))
140
+ signer = (
141
+ None
142
+ if options.anonymous
143
+ else get_signer(options, auth_schemes=endpoint.properties.get("authSchemes"))
144
+ )
141
145
  normalized_url = zapros.URL(url)
142
146
  for k, v in params:
143
147
  normalized_url.search_params.append(k, v)
@@ -171,7 +171,11 @@ def build_request(
171
171
  header.lower() for header in headers
172
172
  ]:
173
173
  raise ValueError("Content-Length is required for streaming input")
174
- signer = get_signer(options, auth_schemes=endpoint.properties.get("authSchemes"))
174
+ signer = (
175
+ None
176
+ if options.anonymous
177
+ else get_signer(options, auth_schemes=endpoint.properties.get("authSchemes"))
178
+ )
175
179
  normalized_url = zapros.URL(url)
176
180
  for k, v in params:
177
181
  normalized_url.search_params.append(k, v)
@@ -229,7 +233,11 @@ async def async_build_request(
229
233
  header.lower() for header in headers
230
234
  ]:
231
235
  raise ValueError("Content-Length is required for streaming input")
232
- signer = get_signer(options, auth_schemes=endpoint.properties.get("authSchemes"))
236
+ signer = (
237
+ None
238
+ if options.anonymous
239
+ else get_signer(options, auth_schemes=endpoint.properties.get("authSchemes"))
240
+ )
233
241
  normalized_url = zapros.URL(url)
234
242
  for k, v in params:
235
243
  normalized_url.search_params.append(k, v)
@@ -144,7 +144,11 @@ def build_request(
144
144
  capo_ebs.types.start_snapshot_request.serialize_json(input_), allow_nan=False
145
145
  ).encode()
146
146
  headers["content-type"] = "application/json"
147
- signer = get_signer(options, auth_schemes=endpoint.properties.get("authSchemes"))
147
+ signer = (
148
+ None
149
+ if options.anonymous
150
+ else get_signer(options, auth_schemes=endpoint.properties.get("authSchemes"))
151
+ )
148
152
  normalized_url = zapros.URL(url)
149
153
  for k, v in params:
150
154
  normalized_url.search_params.append(k, v)
@@ -40,6 +40,7 @@ class OperationOptions:
40
40
  endpoint: str | None = None
41
41
  retry_max_attempts: int | None = None
42
42
  credentials_provider: IdentityProvider[Credentials] | None = None
43
+ anonymous: bool | None = None
43
44
 
44
45
 
45
46
  @dataclass
@@ -51,6 +52,7 @@ class AsyncOperationOptions:
51
52
  endpoint: str | None = None
52
53
  retry_max_attempts: int | None = None
53
54
  credentials_provider: IdentityProvider[Credentials] | None = None
55
+ anonymous: bool | None = None
54
56
 
55
57
 
56
58
  @dataclass
@@ -74,6 +74,7 @@ class AsyncEBSClientConfig(TypedDict, total=False, closed=True):
74
74
  use_fips: bool | None
75
75
  endpoint: str | None
76
76
  credentials_provider: IdentityProvider[Credentials] | None
77
+ anonymous: bool | None
77
78
 
78
79
 
79
80
  class AsyncEBSClient:
@@ -89,6 +90,7 @@ class AsyncEBSClient:
89
90
  endpoint: The value of the ``SDK::Endpoint`` endpoint parameter.
90
91
  credentials: AWS credentials for request signing.
91
92
  credentials_provider: Provider that resolves AWS credentials. Takes precedence over ``credentials``.
93
+ anonymous: Send requests unsigned, without resolving credentials, even for operations that require authentication.
92
94
  """
93
95
 
94
96
  def __init__(
@@ -102,6 +104,7 @@ class AsyncEBSClient:
102
104
  endpoint: str | None = None,
103
105
  credentials: Credentials | None = None,
104
106
  credentials_provider: CredentialsProvider | None = None,
107
+ anonymous: bool | None = None,
105
108
  ):
106
109
  self._client = AsyncClient(http_handler).wrap_with_middleware(
107
110
  lambda next: AuthMiddleware(next)
@@ -128,6 +131,7 @@ class AsyncEBSClient:
128
131
  "use_fips": use_fips,
129
132
  "endpoint": endpoint,
130
133
  "credentials_provider": resolved_credentials_provider,
134
+ "anonymous": anonymous,
131
135
  }
132
136
  )
133
137
 
@@ -156,6 +160,7 @@ class AsyncEBSClient:
156
160
  credentials_provider=overrides.get(
157
161
  "credentials_provider", self._config.get("credentials_provider")
158
162
  ),
163
+ anonymous=overrides.get("anonymous", self._config.get("anonymous")),
159
164
  )
160
165
  return interceptors_, options_
161
166
 
@@ -173,7 +178,7 @@ class AsyncEBSClient:
173
178
  "capo_ebs.types.checksum_aggregation_method.ChecksumAggregationMethod"
174
179
  ] = None,
175
180
  ) -> "capo_ebs.types.complete_snapshot_response.CompleteSnapshotResponse":
176
- r"""<p>Seals and completes the snapshot after all of the required blocks of data have been written to it. Completing the snapshot changes the status to <code>completed</code>. You cannot write new blocks to a snapshot after it has been completed.</p> <note> <p>You should always retry requests that receive server (<code>5xx</code>) error responses, and <code>ThrottlingException</code> and <code>RequestThrottledException</code> client error responses. For more information see <a href=\"https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/error-retries.html\">Error retries</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p> </note>
181
+ """<p>Seals and completes the snapshot after all of the required blocks of data have been written to it. Completing the snapshot changes the status to <code>completed</code>. You cannot write new blocks to a snapshot after it has been completed.</p> <note> <p>You should always retry requests that receive server (<code>5xx</code>) error responses, and <code>ThrottlingException</code> and <code>RequestThrottledException</code> client error responses. For more information see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/error-retries.html">Error retries</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p> </note>
177
182
 
178
183
  Args:
179
184
  snapshot_id: <p>The ID of the snapshot.</p>
@@ -184,8 +189,8 @@ class AsyncEBSClient:
184
189
 
185
190
  Raises:
186
191
  capo_ebs.errors.access_denied_exception.AccessDeniedException: <p>You do not have sufficient access to perform this action.</p>
187
- capo_ebs.errors.internal_server_exception.InternalServerException: <p>An internal error has occurred. For more information see <a href=\"https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/error-retries.html\">Error retries</a>.</p>
188
- capo_ebs.errors.request_throttled_exception.RequestThrottledException: <p>The number of API requests has exceeded the maximum allowed API request throttling limit for the snapshot. For more information see <a href=\"https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/error-retries.html\">Error retries</a>.</p>
192
+ capo_ebs.errors.internal_server_exception.InternalServerException: <p>An internal error has occurred. For more information see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/error-retries.html">Error retries</a>.</p>
193
+ capo_ebs.errors.request_throttled_exception.RequestThrottledException: <p>The number of API requests has exceeded the maximum allowed API request throttling limit for the snapshot. For more information see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/error-retries.html">Error retries</a>.</p>
189
194
  capo_ebs.errors.resource_not_found_exception.ResourceNotFoundException: <p>The specified resource does not exist.</p>
190
195
  capo_ebs.errors.service_quota_exceeded_exception.ServiceQuotaExceededException: <p>Your current service quotas do not allow you to perform this action.</p>
191
196
  capo_ebs.errors.validation_exception.ValidationException: <p>The input fails to satisfy the constraints of the EBS direct APIs.</p>
@@ -236,17 +241,17 @@ class AsyncEBSClient:
236
241
  *,
237
242
  config_overrides: Optional[AsyncEBSClientConfig] = None,
238
243
  ) -> "AsyncGenerator[capo_ebs.types.get_snapshot_block_response.GetSnapshotBlockResponse]":
239
- r"""<p>Returns the data in a block in an Amazon Elastic Block Store snapshot.</p> <note> <p>You should always retry requests that receive server (<code>5xx</code>) error responses, and <code>ThrottlingException</code> and <code>RequestThrottledException</code> client error responses. For more information see <a href=\"https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/error-retries.html\">Error retries</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p> </note>
244
+ """<p>Returns the data in a block in an Amazon Elastic Block Store snapshot.</p> <note> <p>You should always retry requests that receive server (<code>5xx</code>) error responses, and <code>ThrottlingException</code> and <code>RequestThrottledException</code> client error responses. For more information see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/error-retries.html">Error retries</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p> </note>
240
245
 
241
246
  Args:
242
- snapshot_id: <p>The ID of the snapshot containing the block from which to get data.</p> <important> <p>If the specified snapshot is encrypted, you must have permission to use the KMS key that was used to encrypt the snapshot. For more information, see <a href=\"https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebsapis-using-encryption.html\"> Using encryption</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p> </important>
247
+ snapshot_id: <p>The ID of the snapshot containing the block from which to get data.</p> <important> <p>If the specified snapshot is encrypted, you must have permission to use the KMS key that was used to encrypt the snapshot. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebsapis-using-encryption.html"> Using encryption</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p> </important>
243
248
  block_index: <p>The block index of the block in which to read 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>
244
249
  block_token: <p>The block token of the block from which to get data. You can obtain the <code>BlockToken</code> by running the <code>ListChangedBlocks</code> or <code>ListSnapshotBlocks</code> operations.</p>
245
250
 
246
251
  Raises:
247
252
  capo_ebs.errors.access_denied_exception.AccessDeniedException: <p>You do not have sufficient access to perform this action.</p>
248
- capo_ebs.errors.internal_server_exception.InternalServerException: <p>An internal error has occurred. For more information see <a href=\"https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/error-retries.html\">Error retries</a>.</p>
249
- capo_ebs.errors.request_throttled_exception.RequestThrottledException: <p>The number of API requests has exceeded the maximum allowed API request throttling limit for the snapshot. For more information see <a href=\"https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/error-retries.html\">Error retries</a>.</p>
253
+ capo_ebs.errors.internal_server_exception.InternalServerException: <p>An internal error has occurred. For more information see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/error-retries.html">Error retries</a>.</p>
254
+ capo_ebs.errors.request_throttled_exception.RequestThrottledException: <p>The number of API requests has exceeded the maximum allowed API request throttling limit for the snapshot. For more information see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/error-retries.html">Error retries</a>.</p>
250
255
  capo_ebs.errors.resource_not_found_exception.ResourceNotFoundException: <p>The specified resource does not exist.</p>
251
256
  capo_ebs.errors.service_quota_exceeded_exception.ServiceQuotaExceededException: <p>Your current service quotas do not allow you to perform this action.</p>
252
257
  capo_ebs.errors.validation_exception.ValidationException: <p>The input fails to satisfy the constraints of the EBS direct APIs.</p>
@@ -295,7 +300,7 @@ class AsyncEBSClient:
295
300
  max_results: Optional["capo_ebs.types.max_results.MaxResults"] = None,
296
301
  starting_block_index: Optional["capo_ebs.types.block_index.BlockIndex"] = None,
297
302
  ) -> "capo_ebs.types.list_changed_blocks_response.ListChangedBlocksResponse":
298
- r"""<p>Returns information about the blocks that are different between two Amazon Elastic Block Store snapshots of the same volume/snapshot lineage.</p> <note> <p>You should always retry requests that receive server (<code>5xx</code>) error responses, and <code>ThrottlingException</code> and <code>RequestThrottledException</code> client error responses. For more information see <a href=\"https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/error-retries.html\">Error retries</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p> </note>
303
+ """<p>Returns information about the blocks that are different between two Amazon Elastic Block Store snapshots of the same volume/snapshot lineage.</p> <note> <p>You should always retry requests that receive server (<code>5xx</code>) error responses, and <code>ThrottlingException</code> and <code>RequestThrottledException</code> client error responses. For more information see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/error-retries.html">Error retries</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p> </note>
299
304
 
300
305
  Args:
301
306
  first_snapshot_id: <p>The ID of the first snapshot to use for the comparison.</p> <important> <p>The <code>FirstSnapshotID</code> parameter must be specified with a <code>SecondSnapshotId</code> parameter; otherwise, an error occurs.</p> </important>
@@ -306,8 +311,8 @@ class AsyncEBSClient:
306
311
 
307
312
  Raises:
308
313
  capo_ebs.errors.access_denied_exception.AccessDeniedException: <p>You do not have sufficient access to perform this action.</p>
309
- capo_ebs.errors.internal_server_exception.InternalServerException: <p>An internal error has occurred. For more information see <a href=\"https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/error-retries.html\">Error retries</a>.</p>
310
- capo_ebs.errors.request_throttled_exception.RequestThrottledException: <p>The number of API requests has exceeded the maximum allowed API request throttling limit for the snapshot. For more information see <a href=\"https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/error-retries.html\">Error retries</a>.</p>
314
+ capo_ebs.errors.internal_server_exception.InternalServerException: <p>An internal error has occurred. For more information see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/error-retries.html">Error retries</a>.</p>
315
+ capo_ebs.errors.request_throttled_exception.RequestThrottledException: <p>The number of API requests has exceeded the maximum allowed API request throttling limit for the snapshot. For more information see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/error-retries.html">Error retries</a>.</p>
311
316
  capo_ebs.errors.resource_not_found_exception.ResourceNotFoundException: <p>The specified resource does not exist.</p>
312
317
  capo_ebs.errors.service_quota_exceeded_exception.ServiceQuotaExceededException: <p>Your current service quotas do not allow you to perform this action.</p>
313
318
  capo_ebs.errors.validation_exception.ValidationException: <p>The input fails to satisfy the constraints of the EBS direct APIs.</p>
@@ -384,7 +389,7 @@ class AsyncEBSClient:
384
389
  max_results: Optional["capo_ebs.types.max_results.MaxResults"] = None,
385
390
  starting_block_index: Optional["capo_ebs.types.block_index.BlockIndex"] = None,
386
391
  ) -> "capo_ebs.types.list_snapshot_blocks_response.ListSnapshotBlocksResponse":
387
- r"""<p>Returns information about the blocks in an Amazon Elastic Block Store snapshot.</p> <note> <p>You should always retry requests that receive server (<code>5xx</code>) error responses, and <code>ThrottlingException</code> and <code>RequestThrottledException</code> client error responses. For more information see <a href=\"https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/error-retries.html\">Error retries</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p> </note>
392
+ """<p>Returns information about the blocks in an Amazon Elastic Block Store snapshot.</p> <note> <p>You should always retry requests that receive server (<code>5xx</code>) error responses, and <code>ThrottlingException</code> and <code>RequestThrottledException</code> client error responses. For more information see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/error-retries.html">Error retries</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p> </note>
388
393
 
389
394
  Args:
390
395
  snapshot_id: <p>The ID of the snapshot from which to get block indexes and block tokens.</p>
@@ -394,8 +399,8 @@ class AsyncEBSClient:
394
399
 
395
400
  Raises:
396
401
  capo_ebs.errors.access_denied_exception.AccessDeniedException: <p>You do not have sufficient access to perform this action.</p>
397
- capo_ebs.errors.internal_server_exception.InternalServerException: <p>An internal error has occurred. For more information see <a href=\"https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/error-retries.html\">Error retries</a>.</p>
398
- capo_ebs.errors.request_throttled_exception.RequestThrottledException: <p>The number of API requests has exceeded the maximum allowed API request throttling limit for the snapshot. For more information see <a href=\"https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/error-retries.html\">Error retries</a>.</p>
402
+ capo_ebs.errors.internal_server_exception.InternalServerException: <p>An internal error has occurred. For more information see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/error-retries.html">Error retries</a>.</p>
403
+ capo_ebs.errors.request_throttled_exception.RequestThrottledException: <p>The number of API requests has exceeded the maximum allowed API request throttling limit for the snapshot. For more information see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/error-retries.html">Error retries</a>.</p>
399
404
  capo_ebs.errors.resource_not_found_exception.ResourceNotFoundException: <p>The specified resource does not exist.</p>
400
405
  capo_ebs.errors.service_quota_exceeded_exception.ServiceQuotaExceededException: <p>Your current service quotas do not allow you to perform this action.</p>
401
406
  capo_ebs.errors.validation_exception.ValidationException: <p>The input fails to satisfy the constraints of the EBS direct APIs.</p>
@@ -471,12 +476,12 @@ class AsyncEBSClient:
471
476
  config_overrides: Optional[AsyncEBSClientConfig] = None,
472
477
  progress: Optional["capo_ebs.types.progress.Progress"] = None,
473
478
  ) -> "capo_ebs.types.put_snapshot_block_response.PutSnapshotBlockResponse":
474
- r"""<p>Writes a block of data to a snapshot. If the specified block contains data, the existing data is overwritten. The target snapshot must be in the <code>pending</code> state.</p> <p>Data written to a snapshot must be aligned with 512-KiB sectors.</p> <note> <p>You should always retry requests that receive server (<code>5xx</code>) error responses, and <code>ThrottlingException</code> and <code>RequestThrottledException</code> client error responses. For more information see <a href=\"https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/error-retries.html\">Error retries</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p> </note>
479
+ """<p>Writes a block of data to a snapshot. If the specified block contains data, the existing data is overwritten. The target snapshot must be in the <code>pending</code> state.</p> <p>Data written to a snapshot must be aligned with 512-KiB sectors.</p> <note> <p>You should always retry requests that receive server (<code>5xx</code>) error responses, and <code>ThrottlingException</code> and <code>RequestThrottledException</code> client error responses. For more information see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/error-retries.html">Error retries</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p> </note>
475
480
 
476
481
  Args:
477
- snapshot_id: <p>The ID of the snapshot.</p> <important> <p>If the specified snapshot is encrypted, you must have permission to use the KMS key that was used to encrypt the snapshot. For more information, see <a href=\"https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebsapis-using-encryption.html\"> Using encryption</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>..</p> </important>
482
+ snapshot_id: <p>The ID of the snapshot.</p> <important> <p>If the specified snapshot is encrypted, you must have permission to use the KMS key that was used to encrypt the snapshot. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebsapis-using-encryption.html"> Using encryption</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>..</p> </important>
478
483
  block_index: <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>
479
- block_data: <p>The data to write to the block.</p> <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>
484
+ block_data: <p>The data to write to the block.</p> <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>
480
485
  data_length: <p>The size of the data to write to the block, in bytes. Currently, the only supported size is <code>524288</code> bytes.</p> <p>Valid values: <code>524288</code> </p>
481
486
  progress: <p>The progress of the write process, as a percentage.</p>
482
487
  checksum: <p>A Base64-encoded SHA256 checksum of the data. Only SHA256 checksums are supported.</p>
@@ -484,8 +489,8 @@ class AsyncEBSClient:
484
489
 
485
490
  Raises:
486
491
  capo_ebs.errors.access_denied_exception.AccessDeniedException: <p>You do not have sufficient access to perform this action.</p>
487
- capo_ebs.errors.internal_server_exception.InternalServerException: <p>An internal error has occurred. For more information see <a href=\"https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/error-retries.html\">Error retries</a>.</p>
488
- capo_ebs.errors.request_throttled_exception.RequestThrottledException: <p>The number of API requests has exceeded the maximum allowed API request throttling limit for the snapshot. For more information see <a href=\"https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/error-retries.html\">Error retries</a>.</p>
492
+ capo_ebs.errors.internal_server_exception.InternalServerException: <p>An internal error has occurred. For more information see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/error-retries.html">Error retries</a>.</p>
493
+ capo_ebs.errors.request_throttled_exception.RequestThrottledException: <p>The number of API requests has exceeded the maximum allowed API request throttling limit for the snapshot. For more information see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/error-retries.html">Error retries</a>.</p>
489
494
  capo_ebs.errors.resource_not_found_exception.ResourceNotFoundException: <p>The specified resource does not exist.</p>
490
495
  capo_ebs.errors.service_quota_exceeded_exception.ServiceQuotaExceededException: <p>Your current service quotas do not allow you to perform this action.</p>
491
496
  capo_ebs.errors.validation_exception.ValidationException: <p>The input fails to satisfy the constraints of the EBS direct APIs.</p>
@@ -543,24 +548,24 @@ class AsyncEBSClient:
543
548
  kms_key_arn: Optional["capo_ebs.types.kms_key_arn.KmsKeyArn"] = None,
544
549
  timeout: Optional["capo_ebs.types.timeout.Timeout"] = None,
545
550
  ) -> "capo_ebs.types.start_snapshot_response.StartSnapshotResponse":
546
- r"""<p>Creates a new Amazon EBS snapshot. The new snapshot enters the <code>pending</code> state after the request completes. </p> <p>After creating the snapshot, use <a href=\"https://docs.aws.amazon.com/ebs/latest/APIReference/API_PutSnapshotBlock.html\"> PutSnapshotBlock</a> to write blocks of data to the snapshot.</p> <note> <p>You should always retry requests that receive server (<code>5xx</code>) error responses, and <code>ThrottlingException</code> and <code>RequestThrottledException</code> client error responses. For more information see <a href=\"https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/error-retries.html\">Error retries</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p> </note>
551
+ """<p>Creates a new Amazon EBS snapshot. The new snapshot enters the <code>pending</code> state after the request completes. </p> <p>After creating the snapshot, use <a href="https://docs.aws.amazon.com/ebs/latest/APIReference/API_PutSnapshotBlock.html"> PutSnapshotBlock</a> to write blocks of data to the snapshot.</p> <note> <p>You should always retry requests that receive server (<code>5xx</code>) error responses, and <code>ThrottlingException</code> and <code>RequestThrottledException</code> client error responses. For more information see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/error-retries.html">Error retries</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p> </note>
547
552
 
548
553
  Args:
549
554
  volume_size: <p>The size of the volume, in GiB. The maximum size is <code>65536</code> GiB (64 TiB).</p>
550
- parent_snapshot_id: <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> <p>You can't specify <b>ParentSnapshotId</b> and <b>Encrypted</b> in the same request. If you specify both parameters, the request fails with <code>ValidationException</code>.</p> <p>The encryption status of the snapshot depends on the values that you specify for <b>Encrypted</b>, <b>KmsKeyArn</b>, and <b>ParentSnapshotId</b>, and whether your Amazon Web Services account is enabled for <a href=\"https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#encryption-by-default\"> encryption by default</a>. For more information, see <a href=\"https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebsapis-using-encryption.html\"> Using encryption</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p> <important> <p>If you specify an encrypted parent snapshot, you must have permission to use the KMS key that was used to encrypt the parent snapshot. For more information, see <a href=\"https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebsapi-permissions.html#ebsapi-kms-permissions\"> Permissions to use Key Management Service keys</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p> </important>
555
+ parent_snapshot_id: <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> <p>You can't specify <b>ParentSnapshotId</b> and <b>Encrypted</b> in the same request. If you specify both parameters, the request fails with <code>ValidationException</code>.</p> <p>The encryption status of the snapshot depends on the values that you specify for <b>Encrypted</b>, <b>KmsKeyArn</b>, and <b>ParentSnapshotId</b>, and whether your Amazon Web Services account is enabled for <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#encryption-by-default"> encryption by default</a>. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebsapis-using-encryption.html"> Using encryption</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p> <important> <p>If you specify an encrypted parent snapshot, you must have permission to use the KMS key that was used to encrypt the parent snapshot. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebsapi-permissions.html#ebsapi-kms-permissions"> Permissions to use Key Management Service keys</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p> </important>
551
556
  tags: <p>The tags to apply to the snapshot.</p>
552
557
  description: <p>A description for the snapshot.</p>
553
- client_token: <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> <p>If you do not specify a client token, one is automatically generated by the Amazon Web Services SDK.</p> <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>
554
- encrypted: <p>Indicates whether to encrypt the snapshot.</p> <p>You can't specify <b>Encrypted</b> and <b> ParentSnapshotId</b> in the same request. If you specify both parameters, the request fails with <code>ValidationException</code>.</p> <p>The encryption status of the snapshot depends on the values that you specify for <b>Encrypted</b>, <b>KmsKeyArn</b>, and <b>ParentSnapshotId</b>, and whether your Amazon Web Services account is enabled for <a href=\"https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#encryption-by-default\"> encryption by default</a>. For more information, see <a href=\"https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebsapis-using-encryption.html\"> Using encryption</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p> <important> <p>To create an encrypted snapshot, you must have permission to use the KMS key. For more information, see <a href=\"https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebsapi-permissions.html#ebsapi-kms-permissions\"> Permissions to use Key Management Service keys</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p> </important>
555
- kms_key_arn: <p>The Amazon Resource Name (ARN) of the Key Management Service (KMS) key to be used to encrypt the snapshot.</p> <p>The encryption status of the snapshot depends on the values that you specify for <b>Encrypted</b>, <b>KmsKeyArn</b>, and <b>ParentSnapshotId</b>, and whether your Amazon Web Services account is enabled for <a href=\"https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#encryption-by-default\"> encryption by default</a>. For more information, see <a href=\"https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebsapis-using-encryption.html\"> Using encryption</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p> <important> <p>To create an encrypted snapshot, you must have permission to use the KMS key. For more information, see <a href=\"https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebsapi-permissions.html#ebsapi-kms-permissions\"> Permissions to use Key Management Service keys</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p> </important>
558
+ client_token: <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> <p>If you do not specify a client token, one is automatically generated by the Amazon Web Services SDK.</p> <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>
559
+ encrypted: <p>Indicates whether to encrypt the snapshot.</p> <p>You can't specify <b>Encrypted</b> and <b> ParentSnapshotId</b> in the same request. If you specify both parameters, the request fails with <code>ValidationException</code>.</p> <p>The encryption status of the snapshot depends on the values that you specify for <b>Encrypted</b>, <b>KmsKeyArn</b>, and <b>ParentSnapshotId</b>, and whether your Amazon Web Services account is enabled for <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#encryption-by-default"> encryption by default</a>. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebsapis-using-encryption.html"> Using encryption</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p> <important> <p>To create an encrypted snapshot, you must have permission to use the KMS key. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebsapi-permissions.html#ebsapi-kms-permissions"> Permissions to use Key Management Service keys</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p> </important>
560
+ kms_key_arn: <p>The Amazon Resource Name (ARN) of the Key Management Service (KMS) key to be used to encrypt the snapshot.</p> <p>The encryption status of the snapshot depends on the values that you specify for <b>Encrypted</b>, <b>KmsKeyArn</b>, and <b>ParentSnapshotId</b>, and whether your Amazon Web Services account is enabled for <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#encryption-by-default"> encryption by default</a>. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebsapis-using-encryption.html"> Using encryption</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p> <important> <p>To create an encrypted snapshot, you must have permission to use the KMS key. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebsapi-permissions.html#ebsapi-kms-permissions"> Permissions to use Key Management Service keys</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p> </important>
556
561
  timeout: <p>The amount of time (in minutes) after which the snapshot is automatically cancelled if:</p> <ul> <li> <p>No blocks are written to the snapshot.</p> </li> <li> <p>The snapshot is not completed after writing the last block of data.</p> </li> </ul> <p>If no value is specified, the timeout defaults to <code>60</code> minutes.</p>
557
562
 
558
563
  Raises:
559
564
  capo_ebs.errors.access_denied_exception.AccessDeniedException: <p>You do not have sufficient access to perform this action.</p>
560
- capo_ebs.errors.concurrent_limit_exceeded_exception.ConcurrentLimitExceededException: <p>You have reached the limit for concurrent API requests. For more information, see <a href=\"https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-accessing-snapshot.html#ebsapi-performance\">Optimizing performance of the EBS direct APIs</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p>
565
+ capo_ebs.errors.concurrent_limit_exceeded_exception.ConcurrentLimitExceededException: <p>You have reached the limit for concurrent API requests. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-accessing-snapshot.html#ebsapi-performance">Optimizing performance of the EBS direct APIs</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p>
561
566
  capo_ebs.errors.conflict_exception.ConflictException: <p>The request uses the same client token as a previous, but non-identical request.</p>
562
- capo_ebs.errors.internal_server_exception.InternalServerException: <p>An internal error has occurred. For more information see <a href=\"https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/error-retries.html\">Error retries</a>.</p>
563
- capo_ebs.errors.request_throttled_exception.RequestThrottledException: <p>The number of API requests has exceeded the maximum allowed API request throttling limit for the snapshot. For more information see <a href=\"https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/error-retries.html\">Error retries</a>.</p>
567
+ capo_ebs.errors.internal_server_exception.InternalServerException: <p>An internal error has occurred. For more information see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/error-retries.html">Error retries</a>.</p>
568
+ capo_ebs.errors.request_throttled_exception.RequestThrottledException: <p>The number of API requests has exceeded the maximum allowed API request throttling limit for the snapshot. For more information see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/error-retries.html">Error retries</a>.</p>
564
569
  capo_ebs.errors.resource_not_found_exception.ResourceNotFoundException: <p>The specified resource does not exist.</p>
565
570
  capo_ebs.errors.service_quota_exceeded_exception.ServiceQuotaExceededException: <p>Your current service quotas do not allow you to perform this action.</p>
566
571
  capo_ebs.errors.validation_exception.ValidationException: <p>The input fails to satisfy the constraints of the EBS direct APIs.</p>