capo-networkmonitor 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 (112) hide show
  1. {capo_networkmonitor-0.2.0/src/capo_networkmonitor.egg-info → capo_networkmonitor-0.4.0}/PKG-INFO +1 -1
  2. {capo_networkmonitor-0.2.0 → capo_networkmonitor-0.4.0}/pyproject.toml +1 -1
  3. {capo_networkmonitor-0.2.0 → capo_networkmonitor-0.4.0}/src/capo_networkmonitor/_operations/network_monitor/create_monitor.py +8 -3
  4. {capo_networkmonitor-0.2.0 → capo_networkmonitor-0.4.0}/src/capo_networkmonitor/_operations/network_monitor/create_probe.py +8 -3
  5. {capo_networkmonitor-0.2.0 → capo_networkmonitor-0.4.0}/src/capo_networkmonitor/_operations/network_monitor/delete_monitor.py +8 -3
  6. {capo_networkmonitor-0.2.0 → capo_networkmonitor-0.4.0}/src/capo_networkmonitor/_operations/network_monitor/delete_probe.py +8 -3
  7. {capo_networkmonitor-0.2.0 → capo_networkmonitor-0.4.0}/src/capo_networkmonitor/_operations/network_monitor/get_monitor.py +8 -3
  8. {capo_networkmonitor-0.2.0 → capo_networkmonitor-0.4.0}/src/capo_networkmonitor/_operations/network_monitor/get_probe.py +8 -3
  9. {capo_networkmonitor-0.2.0 → capo_networkmonitor-0.4.0}/src/capo_networkmonitor/_operations/network_monitor/list_monitors.py +8 -3
  10. {capo_networkmonitor-0.2.0 → capo_networkmonitor-0.4.0}/src/capo_networkmonitor/_operations/network_monitor/list_tags_for_resource.py +8 -3
  11. {capo_networkmonitor-0.2.0 → capo_networkmonitor-0.4.0}/src/capo_networkmonitor/_operations/network_monitor/tag_resource.py +8 -3
  12. {capo_networkmonitor-0.2.0 → capo_networkmonitor-0.4.0}/src/capo_networkmonitor/_operations/network_monitor/untag_resource.py +8 -3
  13. {capo_networkmonitor-0.2.0 → capo_networkmonitor-0.4.0}/src/capo_networkmonitor/_operations/network_monitor/update_monitor.py +8 -3
  14. {capo_networkmonitor-0.2.0 → capo_networkmonitor-0.4.0}/src/capo_networkmonitor/_operations/network_monitor/update_probe.py +8 -3
  15. {capo_networkmonitor-0.2.0 → capo_networkmonitor-0.4.0}/src/capo_networkmonitor/_services/_pipeline.py +19 -0
  16. {capo_networkmonitor-0.2.0 → capo_networkmonitor-0.4.0}/src/capo_networkmonitor/_services/async_network_monitor.py +5 -0
  17. {capo_networkmonitor-0.2.0 → capo_networkmonitor-0.4.0}/src/capo_networkmonitor/_services/network_monitor.py +5 -0
  18. {capo_networkmonitor-0.2.0 → capo_networkmonitor-0.4.0/src/capo_networkmonitor.egg-info}/PKG-INFO +1 -1
  19. {capo_networkmonitor-0.2.0 → capo_networkmonitor-0.4.0}/LICENSE +0 -0
  20. {capo_networkmonitor-0.2.0 → capo_networkmonitor-0.4.0}/README.md +0 -0
  21. {capo_networkmonitor-0.2.0 → capo_networkmonitor-0.4.0}/setup.cfg +0 -0
  22. {capo_networkmonitor-0.2.0 → capo_networkmonitor-0.4.0}/src/capo_networkmonitor/__init__.py +0 -0
  23. {capo_networkmonitor-0.2.0 → capo_networkmonitor-0.4.0}/src/capo_networkmonitor/_async.py +0 -0
  24. {capo_networkmonitor-0.2.0 → capo_networkmonitor-0.4.0}/src/capo_networkmonitor/_auth/_identity.py +0 -0
  25. {capo_networkmonitor-0.2.0 → capo_networkmonitor-0.4.0}/src/capo_networkmonitor/_auth/_providers.py +0 -0
  26. {capo_networkmonitor-0.2.0 → capo_networkmonitor-0.4.0}/src/capo_networkmonitor/_auth/_signers.py +0 -0
  27. {capo_networkmonitor-0.2.0 → capo_networkmonitor-0.4.0}/src/capo_networkmonitor/_auth/_sigv4.py +0 -0
  28. {capo_networkmonitor-0.2.0 → capo_networkmonitor-0.4.0}/src/capo_networkmonitor/_auth/_zapros_handler.py +0 -0
  29. {capo_networkmonitor-0.2.0 → capo_networkmonitor-0.4.0}/src/capo_networkmonitor/_body.py +0 -0
  30. {capo_networkmonitor-0.2.0 → capo_networkmonitor-0.4.0}/src/capo_networkmonitor/_iter.py +0 -0
  31. {capo_networkmonitor-0.2.0 → capo_networkmonitor-0.4.0}/src/capo_networkmonitor/_pagination.py +0 -0
  32. {capo_networkmonitor-0.2.0 → capo_networkmonitor-0.4.0}/src/capo_networkmonitor/_protocol/__init__.py +0 -0
  33. {capo_networkmonitor-0.2.0 → capo_networkmonitor-0.4.0}/src/capo_networkmonitor/_protocol/errors.py +0 -0
  34. {capo_networkmonitor-0.2.0 → capo_networkmonitor-0.4.0}/src/capo_networkmonitor/_protocol/eventstream.py +0 -0
  35. {capo_networkmonitor-0.2.0 → capo_networkmonitor-0.4.0}/src/capo_networkmonitor/_protocol/serialize.py +0 -0
  36. {capo_networkmonitor-0.2.0 → capo_networkmonitor-0.4.0}/src/capo_networkmonitor/_protocol/xml.py +0 -0
  37. {capo_networkmonitor-0.2.0 → capo_networkmonitor-0.4.0}/src/capo_networkmonitor/_resources/network_monitor/monitor_resource.py +0 -0
  38. {capo_networkmonitor-0.2.0 → capo_networkmonitor-0.4.0}/src/capo_networkmonitor/_resources/network_monitor/probe_resource.py +0 -0
  39. {capo_networkmonitor-0.2.0 → capo_networkmonitor-0.4.0}/src/capo_networkmonitor/_rule_engine/__init__.py +0 -0
  40. {capo_networkmonitor-0.2.0 → capo_networkmonitor-0.4.0}/src/capo_networkmonitor/_rule_engine/_aws_partition.py +0 -0
  41. {capo_networkmonitor-0.2.0 → capo_networkmonitor-0.4.0}/src/capo_networkmonitor/_rule_engine/_endpoint_rule_set.py +0 -0
  42. {capo_networkmonitor-0.2.0 → capo_networkmonitor-0.4.0}/src/capo_networkmonitor/_rule_engine/_endpoint_runtime.py +0 -0
  43. {capo_networkmonitor-0.2.0 → capo_networkmonitor-0.4.0}/src/capo_networkmonitor/_services/_aws_config.py +0 -0
  44. {capo_networkmonitor-0.2.0 → capo_networkmonitor-0.4.0}/src/capo_networkmonitor/errors/__init__.py +0 -0
  45. {capo_networkmonitor-0.2.0 → capo_networkmonitor-0.4.0}/src/capo_networkmonitor/errors/_base.py +0 -0
  46. {capo_networkmonitor-0.2.0 → capo_networkmonitor-0.4.0}/src/capo_networkmonitor/errors/access_denied_exception.py +0 -0
  47. {capo_networkmonitor-0.2.0 → capo_networkmonitor-0.4.0}/src/capo_networkmonitor/errors/conflict_exception.py +0 -0
  48. {capo_networkmonitor-0.2.0 → capo_networkmonitor-0.4.0}/src/capo_networkmonitor/errors/internal_server_exception.py +0 -0
  49. {capo_networkmonitor-0.2.0 → capo_networkmonitor-0.4.0}/src/capo_networkmonitor/errors/resource_not_found_exception.py +0 -0
  50. {capo_networkmonitor-0.2.0 → capo_networkmonitor-0.4.0}/src/capo_networkmonitor/errors/service_quota_exceeded_exception.py +0 -0
  51. {capo_networkmonitor-0.2.0 → capo_networkmonitor-0.4.0}/src/capo_networkmonitor/errors/throttling_exception.py +0 -0
  52. {capo_networkmonitor-0.2.0 → capo_networkmonitor-0.4.0}/src/capo_networkmonitor/errors/validation_exception.py +0 -0
  53. {capo_networkmonitor-0.2.0 → capo_networkmonitor-0.4.0}/src/capo_networkmonitor/py.typed +0 -0
  54. {capo_networkmonitor-0.2.0 → capo_networkmonitor-0.4.0}/src/capo_networkmonitor/types/_prelude/blob.py +0 -0
  55. {capo_networkmonitor-0.2.0 → capo_networkmonitor-0.4.0}/src/capo_networkmonitor/types/_prelude/timestamp.py +0 -0
  56. {capo_networkmonitor-0.2.0 → capo_networkmonitor-0.4.0}/src/capo_networkmonitor/types/address_family.py +0 -0
  57. {capo_networkmonitor-0.2.0 → capo_networkmonitor-0.4.0}/src/capo_networkmonitor/types/aggregation_period.py +0 -0
  58. {capo_networkmonitor-0.2.0 → capo_networkmonitor-0.4.0}/src/capo_networkmonitor/types/arn.py +0 -0
  59. {capo_networkmonitor-0.2.0 → capo_networkmonitor-0.4.0}/src/capo_networkmonitor/types/create_monitor_input.py +0 -0
  60. {capo_networkmonitor-0.2.0 → capo_networkmonitor-0.4.0}/src/capo_networkmonitor/types/create_monitor_output.py +0 -0
  61. {capo_networkmonitor-0.2.0 → capo_networkmonitor-0.4.0}/src/capo_networkmonitor/types/create_monitor_probe_input.py +0 -0
  62. {capo_networkmonitor-0.2.0 → capo_networkmonitor-0.4.0}/src/capo_networkmonitor/types/create_monitor_probe_input_list.py +0 -0
  63. {capo_networkmonitor-0.2.0 → capo_networkmonitor-0.4.0}/src/capo_networkmonitor/types/create_probe_input.py +0 -0
  64. {capo_networkmonitor-0.2.0 → capo_networkmonitor-0.4.0}/src/capo_networkmonitor/types/create_probe_output.py +0 -0
  65. {capo_networkmonitor-0.2.0 → capo_networkmonitor-0.4.0}/src/capo_networkmonitor/types/delete_monitor_input.py +0 -0
  66. {capo_networkmonitor-0.2.0 → capo_networkmonitor-0.4.0}/src/capo_networkmonitor/types/delete_monitor_output.py +0 -0
  67. {capo_networkmonitor-0.2.0 → capo_networkmonitor-0.4.0}/src/capo_networkmonitor/types/delete_probe_input.py +0 -0
  68. {capo_networkmonitor-0.2.0 → capo_networkmonitor-0.4.0}/src/capo_networkmonitor/types/delete_probe_output.py +0 -0
  69. {capo_networkmonitor-0.2.0 → capo_networkmonitor-0.4.0}/src/capo_networkmonitor/types/destination.py +0 -0
  70. {capo_networkmonitor-0.2.0 → capo_networkmonitor-0.4.0}/src/capo_networkmonitor/types/get_monitor_input.py +0 -0
  71. {capo_networkmonitor-0.2.0 → capo_networkmonitor-0.4.0}/src/capo_networkmonitor/types/get_monitor_output.py +0 -0
  72. {capo_networkmonitor-0.2.0 → capo_networkmonitor-0.4.0}/src/capo_networkmonitor/types/get_probe_input.py +0 -0
  73. {capo_networkmonitor-0.2.0 → capo_networkmonitor-0.4.0}/src/capo_networkmonitor/types/get_probe_output.py +0 -0
  74. {capo_networkmonitor-0.2.0 → capo_networkmonitor-0.4.0}/src/capo_networkmonitor/types/iso8601_timestamp.py +0 -0
  75. {capo_networkmonitor-0.2.0 → capo_networkmonitor-0.4.0}/src/capo_networkmonitor/types/list_monitors_input.py +0 -0
  76. {capo_networkmonitor-0.2.0 → capo_networkmonitor-0.4.0}/src/capo_networkmonitor/types/list_monitors_output.py +0 -0
  77. {capo_networkmonitor-0.2.0 → capo_networkmonitor-0.4.0}/src/capo_networkmonitor/types/list_tags_for_resource_input.py +0 -0
  78. {capo_networkmonitor-0.2.0 → capo_networkmonitor-0.4.0}/src/capo_networkmonitor/types/list_tags_for_resource_output.py +0 -0
  79. {capo_networkmonitor-0.2.0 → capo_networkmonitor-0.4.0}/src/capo_networkmonitor/types/max_results.py +0 -0
  80. {capo_networkmonitor-0.2.0 → capo_networkmonitor-0.4.0}/src/capo_networkmonitor/types/monitor_arn.py +0 -0
  81. {capo_networkmonitor-0.2.0 → capo_networkmonitor-0.4.0}/src/capo_networkmonitor/types/monitor_list.py +0 -0
  82. {capo_networkmonitor-0.2.0 → capo_networkmonitor-0.4.0}/src/capo_networkmonitor/types/monitor_state.py +0 -0
  83. {capo_networkmonitor-0.2.0 → capo_networkmonitor-0.4.0}/src/capo_networkmonitor/types/monitor_summary.py +0 -0
  84. {capo_networkmonitor-0.2.0 → capo_networkmonitor-0.4.0}/src/capo_networkmonitor/types/packet_size.py +0 -0
  85. {capo_networkmonitor-0.2.0 → capo_networkmonitor-0.4.0}/src/capo_networkmonitor/types/pagination_token.py +0 -0
  86. {capo_networkmonitor-0.2.0 → capo_networkmonitor-0.4.0}/src/capo_networkmonitor/types/port.py +0 -0
  87. {capo_networkmonitor-0.2.0 → capo_networkmonitor-0.4.0}/src/capo_networkmonitor/types/probe.py +0 -0
  88. {capo_networkmonitor-0.2.0 → capo_networkmonitor-0.4.0}/src/capo_networkmonitor/types/probe_id.py +0 -0
  89. {capo_networkmonitor-0.2.0 → capo_networkmonitor-0.4.0}/src/capo_networkmonitor/types/probe_input.py +0 -0
  90. {capo_networkmonitor-0.2.0 → capo_networkmonitor-0.4.0}/src/capo_networkmonitor/types/probe_list.py +0 -0
  91. {capo_networkmonitor-0.2.0 → capo_networkmonitor-0.4.0}/src/capo_networkmonitor/types/probe_state.py +0 -0
  92. {capo_networkmonitor-0.2.0 → capo_networkmonitor-0.4.0}/src/capo_networkmonitor/types/protocol.py +0 -0
  93. {capo_networkmonitor-0.2.0 → capo_networkmonitor-0.4.0}/src/capo_networkmonitor/types/resource_name.py +0 -0
  94. {capo_networkmonitor-0.2.0 → capo_networkmonitor-0.4.0}/src/capo_networkmonitor/types/tag_key.py +0 -0
  95. {capo_networkmonitor-0.2.0 → capo_networkmonitor-0.4.0}/src/capo_networkmonitor/types/tag_key_list.py +0 -0
  96. {capo_networkmonitor-0.2.0 → capo_networkmonitor-0.4.0}/src/capo_networkmonitor/types/tag_map.py +0 -0
  97. {capo_networkmonitor-0.2.0 → capo_networkmonitor-0.4.0}/src/capo_networkmonitor/types/tag_resource_input.py +0 -0
  98. {capo_networkmonitor-0.2.0 → capo_networkmonitor-0.4.0}/src/capo_networkmonitor/types/tag_resource_output.py +0 -0
  99. {capo_networkmonitor-0.2.0 → capo_networkmonitor-0.4.0}/src/capo_networkmonitor/types/tag_value.py +0 -0
  100. {capo_networkmonitor-0.2.0 → capo_networkmonitor-0.4.0}/src/capo_networkmonitor/types/untag_resource_input.py +0 -0
  101. {capo_networkmonitor-0.2.0 → capo_networkmonitor-0.4.0}/src/capo_networkmonitor/types/untag_resource_output.py +0 -0
  102. {capo_networkmonitor-0.2.0 → capo_networkmonitor-0.4.0}/src/capo_networkmonitor/types/update_monitor_input.py +0 -0
  103. {capo_networkmonitor-0.2.0 → capo_networkmonitor-0.4.0}/src/capo_networkmonitor/types/update_monitor_output.py +0 -0
  104. {capo_networkmonitor-0.2.0 → capo_networkmonitor-0.4.0}/src/capo_networkmonitor/types/update_probe_input.py +0 -0
  105. {capo_networkmonitor-0.2.0 → capo_networkmonitor-0.4.0}/src/capo_networkmonitor/types/update_probe_output.py +0 -0
  106. {capo_networkmonitor-0.2.0 → capo_networkmonitor-0.4.0}/src/capo_networkmonitor/types/vpc_id.py +0 -0
  107. {capo_networkmonitor-0.2.0 → capo_networkmonitor-0.4.0}/src/capo_networkmonitor.egg-info/SOURCES.txt +0 -0
  108. {capo_networkmonitor-0.2.0 → capo_networkmonitor-0.4.0}/src/capo_networkmonitor.egg-info/dependency_links.txt +0 -0
  109. {capo_networkmonitor-0.2.0 → capo_networkmonitor-0.4.0}/src/capo_networkmonitor.egg-info/requires.txt +0 -0
  110. {capo_networkmonitor-0.2.0 → capo_networkmonitor-0.4.0}/src/capo_networkmonitor.egg-info/top_level.txt +0 -0
  111. {capo_networkmonitor-0.2.0 → capo_networkmonitor-0.4.0}/tests/test_body.py +0 -0
  112. {capo_networkmonitor-0.2.0 → capo_networkmonitor-0.4.0}/tests/test_sigv4.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: capo-networkmonitor
3
- Version: 0.2.0
3
+ Version: 0.4.0
4
4
  Summary: Python SDK for AWS Networkmonitor.
5
5
  Classifier: Development Status :: 4 - Beta
6
6
  Classifier: Intended Audience :: Developers
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "capo-networkmonitor"
3
- version = "0.2.0"
3
+ version = "0.4.0"
4
4
  description = "Python SDK for AWS Networkmonitor."
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.10"
@@ -27,6 +27,7 @@ from capo_networkmonitor._rule_engine._endpoint_rule_set import EndpointParams,
27
27
  from capo_networkmonitor._services._pipeline import (
28
28
  AsyncOperationOptions,
29
29
  OperationOptions,
30
+ raise_error,
30
31
  )
31
32
  from capo_networkmonitor.errors import UnknownServiceError
32
33
 
@@ -133,7 +134,11 @@ def build_request(
133
134
  allow_nan=False,
134
135
  ).encode()
135
136
  headers["content-type"] = "application/json"
136
- signer = get_signer(options, auth_schemes=endpoint.properties.get("authSchemes"))
137
+ signer = (
138
+ None
139
+ if options.anonymous
140
+ else get_signer(options, auth_schemes=endpoint.properties.get("authSchemes"))
141
+ )
137
142
  normalized_url = zapros.URL(url)
138
143
  for k, v in params:
139
144
  normalized_url.search_params.append(k, v)
@@ -152,7 +157,7 @@ def create_monitor(
152
157
  try:
153
158
  if response.status >= 300:
154
159
  response.read()
155
- handle_error(response)
160
+ raise_error(response, handle_error)
156
161
  return handle_response(response), response
157
162
  except BaseException:
158
163
  response.close()
@@ -169,7 +174,7 @@ async def async_create_monitor(
169
174
  try:
170
175
  if response.status >= 300:
171
176
  await response.aread()
172
- handle_error(response)
177
+ raise_error(response, handle_error)
173
178
  return await async_handle_response(response), response
174
179
  except BaseException:
175
180
  await response.aclose()
@@ -31,6 +31,7 @@ from capo_networkmonitor._rule_engine._endpoint_rule_set import EndpointParams,
31
31
  from capo_networkmonitor._services._pipeline import (
32
32
  AsyncOperationOptions,
33
33
  OperationOptions,
34
+ raise_error,
34
35
  )
35
36
  from capo_networkmonitor.errors import UnknownServiceError
36
37
 
@@ -138,7 +139,11 @@ def build_request(
138
139
  allow_nan=False,
139
140
  ).encode()
140
141
  headers["content-type"] = "application/json"
141
- signer = get_signer(options, auth_schemes=endpoint.properties.get("authSchemes"))
142
+ signer = (
143
+ None
144
+ if options.anonymous
145
+ else get_signer(options, auth_schemes=endpoint.properties.get("authSchemes"))
146
+ )
142
147
  normalized_url = zapros.URL(url)
143
148
  for k, v in params:
144
149
  normalized_url.search_params.append(k, v)
@@ -157,7 +162,7 @@ def create_probe(
157
162
  try:
158
163
  if response.status >= 300:
159
164
  response.read()
160
- handle_error(response)
165
+ raise_error(response, handle_error)
161
166
  return handle_response(response), response
162
167
  except BaseException:
163
168
  response.close()
@@ -174,7 +179,7 @@ async def async_create_probe(
174
179
  try:
175
180
  if response.status >= 300:
176
181
  await response.aread()
177
- handle_error(response)
182
+ raise_error(response, handle_error)
178
183
  return await async_handle_response(response), response
179
184
  except BaseException:
180
185
  await response.aclose()
@@ -24,6 +24,7 @@ from capo_networkmonitor._rule_engine._endpoint_rule_set import EndpointParams,
24
24
  from capo_networkmonitor._services._pipeline import (
25
25
  AsyncOperationOptions,
26
26
  OperationOptions,
27
+ raise_error,
27
28
  )
28
29
  from capo_networkmonitor.errors import UnknownServiceError
29
30
 
@@ -115,7 +116,11 @@ def build_request(
115
116
  params: list[tuple[str, str]] = []
116
117
  headers: dict[str, str] = {k: ", ".join(v) for k, v in endpoint.headers.items()}
117
118
  body: bytes | None = b""
118
- signer = get_signer(options, auth_schemes=endpoint.properties.get("authSchemes"))
119
+ signer = (
120
+ None
121
+ if options.anonymous
122
+ else get_signer(options, auth_schemes=endpoint.properties.get("authSchemes"))
123
+ )
119
124
  normalized_url = zapros.URL(url)
120
125
  for k, v in params:
121
126
  normalized_url.search_params.append(k, v)
@@ -134,7 +139,7 @@ def delete_monitor(
134
139
  try:
135
140
  if response.status >= 300:
136
141
  response.read()
137
- handle_error(response)
142
+ raise_error(response, handle_error)
138
143
  return handle_response(response), response
139
144
  except BaseException:
140
145
  response.close()
@@ -151,7 +156,7 @@ async def async_delete_monitor(
151
156
  try:
152
157
  if response.status >= 300:
153
158
  await response.aread()
154
- handle_error(response)
159
+ raise_error(response, handle_error)
155
160
  return await async_handle_response(response), response
156
161
  except BaseException:
157
162
  await response.aclose()
@@ -25,6 +25,7 @@ from capo_networkmonitor._rule_engine._endpoint_rule_set import EndpointParams,
25
25
  from capo_networkmonitor._services._pipeline import (
26
26
  AsyncOperationOptions,
27
27
  OperationOptions,
28
+ raise_error,
28
29
  )
29
30
  from capo_networkmonitor.errors import UnknownServiceError
30
31
 
@@ -121,7 +122,11 @@ def build_request(
121
122
  params: list[tuple[str, str]] = []
122
123
  headers: dict[str, str] = {k: ", ".join(v) for k, v in endpoint.headers.items()}
123
124
  body: bytes | None = b""
124
- signer = get_signer(options, auth_schemes=endpoint.properties.get("authSchemes"))
125
+ signer = (
126
+ None
127
+ if options.anonymous
128
+ else get_signer(options, auth_schemes=endpoint.properties.get("authSchemes"))
129
+ )
125
130
  normalized_url = zapros.URL(url)
126
131
  for k, v in params:
127
132
  normalized_url.search_params.append(k, v)
@@ -140,7 +145,7 @@ def delete_probe(
140
145
  try:
141
146
  if response.status >= 300:
142
147
  response.read()
143
- handle_error(response)
148
+ raise_error(response, handle_error)
144
149
  return handle_response(response), response
145
150
  except BaseException:
146
151
  response.close()
@@ -157,7 +162,7 @@ async def async_delete_probe(
157
162
  try:
158
163
  if response.status >= 300:
159
164
  await response.aread()
160
- handle_error(response)
165
+ raise_error(response, handle_error)
161
166
  return await async_handle_response(response), response
162
167
  except BaseException:
163
168
  await response.aclose()
@@ -28,6 +28,7 @@ from capo_networkmonitor._rule_engine._endpoint_rule_set import EndpointParams,
28
28
  from capo_networkmonitor._services._pipeline import (
29
29
  AsyncOperationOptions,
30
30
  OperationOptions,
31
+ raise_error,
31
32
  )
32
33
  from capo_networkmonitor.errors import UnknownServiceError
33
34
 
@@ -127,7 +128,11 @@ def build_request(
127
128
  params: list[tuple[str, str]] = []
128
129
  headers: dict[str, str] = {k: ", ".join(v) for k, v in endpoint.headers.items()}
129
130
  body: bytes | None = b""
130
- signer = get_signer(options, auth_schemes=endpoint.properties.get("authSchemes"))
131
+ signer = (
132
+ None
133
+ if options.anonymous
134
+ else get_signer(options, auth_schemes=endpoint.properties.get("authSchemes"))
135
+ )
131
136
  normalized_url = zapros.URL(url)
132
137
  for k, v in params:
133
138
  normalized_url.search_params.append(k, v)
@@ -146,7 +151,7 @@ def get_monitor(
146
151
  try:
147
152
  if response.status >= 300:
148
153
  response.read()
149
- handle_error(response)
154
+ raise_error(response, handle_error)
150
155
  return handle_response(response), response
151
156
  except BaseException:
152
157
  response.close()
@@ -163,7 +168,7 @@ async def async_get_monitor(
163
168
  try:
164
169
  if response.status >= 300:
165
170
  await response.aread()
166
- handle_error(response)
171
+ raise_error(response, handle_error)
167
172
  return await async_handle_response(response), response
168
173
  except BaseException:
169
174
  await response.aclose()
@@ -29,6 +29,7 @@ from capo_networkmonitor._rule_engine._endpoint_rule_set import EndpointParams,
29
29
  from capo_networkmonitor._services._pipeline import (
30
30
  AsyncOperationOptions,
31
31
  OperationOptions,
32
+ raise_error,
32
33
  )
33
34
  from capo_networkmonitor.errors import UnknownServiceError
34
35
 
@@ -129,7 +130,11 @@ def build_request(
129
130
  params: list[tuple[str, str]] = []
130
131
  headers: dict[str, str] = {k: ", ".join(v) for k, v in endpoint.headers.items()}
131
132
  body: bytes | None = b""
132
- signer = get_signer(options, auth_schemes=endpoint.properties.get("authSchemes"))
133
+ signer = (
134
+ None
135
+ if options.anonymous
136
+ else get_signer(options, auth_schemes=endpoint.properties.get("authSchemes"))
137
+ )
133
138
  normalized_url = zapros.URL(url)
134
139
  for k, v in params:
135
140
  normalized_url.search_params.append(k, v)
@@ -146,7 +151,7 @@ def get_probe(
146
151
  try:
147
152
  if response.status >= 300:
148
153
  response.read()
149
- handle_error(response)
154
+ raise_error(response, handle_error)
150
155
  return handle_response(response), response
151
156
  except BaseException:
152
157
  response.close()
@@ -161,7 +166,7 @@ async def async_get_probe(
161
166
  try:
162
167
  if response.status >= 300:
163
168
  await response.aread()
164
- handle_error(response)
169
+ raise_error(response, handle_error)
165
170
  return await async_handle_response(response), response
166
171
  except BaseException:
167
172
  await response.aclose()
@@ -23,6 +23,7 @@ from capo_networkmonitor._rule_engine._endpoint_rule_set import EndpointParams,
23
23
  from capo_networkmonitor._services._pipeline import (
24
24
  AsyncOperationOptions,
25
25
  OperationOptions,
26
+ raise_error,
26
27
  )
27
28
  from capo_networkmonitor.errors import UnknownServiceError
28
29
 
@@ -123,7 +124,11 @@ def build_request(
123
124
  params.append(("state", input_["state"]))
124
125
  headers: dict[str, str] = {k: ", ".join(v) for k, v in endpoint.headers.items()}
125
126
  body: bytes | None = b""
126
- signer = get_signer(options, auth_schemes=endpoint.properties.get("authSchemes"))
127
+ signer = (
128
+ None
129
+ if options.anonymous
130
+ else get_signer(options, auth_schemes=endpoint.properties.get("authSchemes"))
131
+ )
127
132
  normalized_url = zapros.URL(url)
128
133
  for k, v in params:
129
134
  normalized_url.search_params.append(k, v)
@@ -142,7 +147,7 @@ def list_monitors(
142
147
  try:
143
148
  if response.status >= 300:
144
149
  response.read()
145
- handle_error(response)
150
+ raise_error(response, handle_error)
146
151
  return handle_response(response), response
147
152
  except BaseException:
148
153
  response.close()
@@ -159,7 +164,7 @@ async def async_list_monitors(
159
164
  try:
160
165
  if response.status >= 300:
161
166
  await response.aread()
162
- handle_error(response)
167
+ raise_error(response, handle_error)
163
168
  return await async_handle_response(response), response
164
169
  except BaseException:
165
170
  await response.aclose()
@@ -26,6 +26,7 @@ from capo_networkmonitor._rule_engine._endpoint_rule_set import EndpointParams,
26
26
  from capo_networkmonitor._services._pipeline import (
27
27
  AsyncOperationOptions,
28
28
  OperationOptions,
29
+ raise_error,
29
30
  )
30
31
  from capo_networkmonitor.errors import UnknownServiceError
31
32
 
@@ -125,7 +126,11 @@ def build_request(
125
126
  params: list[tuple[str, str]] = []
126
127
  headers: dict[str, str] = {k: ", ".join(v) for k, v in endpoint.headers.items()}
127
128
  body: bytes | None = b""
128
- signer = get_signer(options, auth_schemes=endpoint.properties.get("authSchemes"))
129
+ signer = (
130
+ None
131
+ if options.anonymous
132
+ else get_signer(options, auth_schemes=endpoint.properties.get("authSchemes"))
133
+ )
129
134
  normalized_url = zapros.URL(url)
130
135
  for k, v in params:
131
136
  normalized_url.search_params.append(k, v)
@@ -145,7 +150,7 @@ def list_tags_for_resource(
145
150
  try:
146
151
  if response.status >= 300:
147
152
  response.read()
148
- handle_error(response)
153
+ raise_error(response, handle_error)
149
154
  return handle_response(response), response
150
155
  except BaseException:
151
156
  response.close()
@@ -163,7 +168,7 @@ async def async_list_tags_for_resource(
163
168
  try:
164
169
  if response.status >= 300:
165
170
  await response.aread()
166
- handle_error(response)
171
+ raise_error(response, handle_error)
167
172
  return await async_handle_response(response), response
168
173
  except BaseException:
169
174
  await response.aclose()
@@ -26,6 +26,7 @@ from capo_networkmonitor._rule_engine._endpoint_rule_set import EndpointParams,
26
26
  from capo_networkmonitor._services._pipeline import (
27
27
  AsyncOperationOptions,
28
28
  OperationOptions,
29
+ raise_error,
29
30
  )
30
31
  from capo_networkmonitor.errors import UnknownServiceError
31
32
 
@@ -125,7 +126,11 @@ def build_request(
125
126
  allow_nan=False,
126
127
  ).encode()
127
128
  headers["content-type"] = "application/json"
128
- signer = get_signer(options, auth_schemes=endpoint.properties.get("authSchemes"))
129
+ signer = (
130
+ None
131
+ if options.anonymous
132
+ else get_signer(options, auth_schemes=endpoint.properties.get("authSchemes"))
133
+ )
129
134
  normalized_url = zapros.URL(url)
130
135
  for k, v in params:
131
136
  normalized_url.search_params.append(k, v)
@@ -144,7 +149,7 @@ def tag_resource(
144
149
  try:
145
150
  if response.status >= 300:
146
151
  response.read()
147
- handle_error(response)
152
+ raise_error(response, handle_error)
148
153
  return handle_response(response), response
149
154
  except BaseException:
150
155
  response.close()
@@ -161,7 +166,7 @@ async def async_tag_resource(
161
166
  try:
162
167
  if response.status >= 300:
163
168
  await response.aread()
164
- handle_error(response)
169
+ raise_error(response, handle_error)
165
170
  return await async_handle_response(response), response
166
171
  except BaseException:
167
172
  await response.aclose()
@@ -26,6 +26,7 @@ from capo_networkmonitor._rule_engine._endpoint_rule_set import EndpointParams,
26
26
  from capo_networkmonitor._services._pipeline import (
27
27
  AsyncOperationOptions,
28
28
  OperationOptions,
29
+ raise_error,
29
30
  )
30
31
  from capo_networkmonitor.errors import UnknownServiceError
31
32
 
@@ -123,7 +124,11 @@ def build_request(
123
124
  params.append(("tagKeys", item))
124
125
  headers: dict[str, str] = {k: ", ".join(v) for k, v in endpoint.headers.items()}
125
126
  body: bytes | None = b""
126
- signer = get_signer(options, auth_schemes=endpoint.properties.get("authSchemes"))
127
+ signer = (
128
+ None
129
+ if options.anonymous
130
+ else get_signer(options, auth_schemes=endpoint.properties.get("authSchemes"))
131
+ )
127
132
  normalized_url = zapros.URL(url)
128
133
  for k, v in params:
129
134
  normalized_url.search_params.append(k, v)
@@ -142,7 +147,7 @@ def untag_resource(
142
147
  try:
143
148
  if response.status >= 300:
144
149
  response.read()
145
- handle_error(response)
150
+ raise_error(response, handle_error)
146
151
  return handle_response(response), response
147
152
  except BaseException:
148
153
  response.close()
@@ -159,7 +164,7 @@ async def async_untag_resource(
159
164
  try:
160
165
  if response.status >= 300:
161
166
  await response.aread()
162
- handle_error(response)
167
+ raise_error(response, handle_error)
163
168
  return await async_handle_response(response), response
164
169
  except BaseException:
165
170
  await response.aclose()
@@ -27,6 +27,7 @@ from capo_networkmonitor._rule_engine._endpoint_rule_set import EndpointParams,
27
27
  from capo_networkmonitor._services._pipeline import (
28
28
  AsyncOperationOptions,
29
29
  OperationOptions,
30
+ raise_error,
30
31
  )
31
32
  from capo_networkmonitor.errors import UnknownServiceError
32
33
 
@@ -134,7 +135,11 @@ def build_request(
134
135
  allow_nan=False,
135
136
  ).encode()
136
137
  headers["content-type"] = "application/json"
137
- signer = get_signer(options, auth_schemes=endpoint.properties.get("authSchemes"))
138
+ signer = (
139
+ None
140
+ if options.anonymous
141
+ else get_signer(options, auth_schemes=endpoint.properties.get("authSchemes"))
142
+ )
138
143
  normalized_url = zapros.URL(url)
139
144
  for k, v in params:
140
145
  normalized_url.search_params.append(k, v)
@@ -153,7 +158,7 @@ def update_monitor(
153
158
  try:
154
159
  if response.status >= 300:
155
160
  response.read()
156
- handle_error(response)
161
+ raise_error(response, handle_error)
157
162
  return handle_response(response), response
158
163
  except BaseException:
159
164
  response.close()
@@ -170,7 +175,7 @@ async def async_update_monitor(
170
175
  try:
171
176
  if response.status >= 300:
172
177
  await response.aread()
173
- handle_error(response)
178
+ raise_error(response, handle_error)
174
179
  return await async_handle_response(response), response
175
180
  except BaseException:
176
181
  await response.aclose()
@@ -30,6 +30,7 @@ from capo_networkmonitor._rule_engine._endpoint_rule_set import EndpointParams,
30
30
  from capo_networkmonitor._services._pipeline import (
31
31
  AsyncOperationOptions,
32
32
  OperationOptions,
33
+ raise_error,
33
34
  )
34
35
  from capo_networkmonitor.errors import UnknownServiceError
35
36
 
@@ -138,7 +139,11 @@ def build_request(
138
139
  allow_nan=False,
139
140
  ).encode()
140
141
  headers["content-type"] = "application/json"
141
- signer = get_signer(options, auth_schemes=endpoint.properties.get("authSchemes"))
142
+ signer = (
143
+ None
144
+ if options.anonymous
145
+ else get_signer(options, auth_schemes=endpoint.properties.get("authSchemes"))
146
+ )
142
147
  normalized_url = zapros.URL(url)
143
148
  for k, v in params:
144
149
  normalized_url.search_params.append(k, v)
@@ -157,7 +162,7 @@ def update_probe(
157
162
  try:
158
163
  if response.status >= 300:
159
164
  response.read()
160
- handle_error(response)
165
+ raise_error(response, handle_error)
161
166
  return handle_response(response), response
162
167
  except BaseException:
163
168
  response.close()
@@ -174,7 +179,7 @@ async def async_update_probe(
174
179
  try:
175
180
  if response.status >= 300:
176
181
  await response.aread()
177
- handle_error(response)
182
+ raise_error(response, handle_error)
178
183
  return await async_handle_response(response), response
179
184
  except BaseException:
180
185
  await response.aclose()
@@ -6,6 +6,7 @@ from collections.abc import AsyncIterator, Iterator, Sequence
6
6
  from dataclasses import dataclass
7
7
  from typing import TYPE_CHECKING, Awaitable, Callable, Generic, TypeVar, cast
8
8
 
9
+ from typing_extensions import Never
9
10
  from zapros import (
10
11
  AsyncClient,
11
12
  Client,
@@ -39,6 +40,7 @@ class OperationOptions:
39
40
  endpoint: str | None = None
40
41
  retry_max_attempts: int | None = None
41
42
  credentials_provider: IdentityProvider[Credentials] | None = None
43
+ anonymous: bool | None = None
42
44
 
43
45
 
44
46
  @dataclass
@@ -50,6 +52,7 @@ class AsyncOperationOptions:
50
52
  endpoint: str | None = None
51
53
  retry_max_attempts: int | None = None
52
54
  credentials_provider: IdentityProvider[Credentials] | None = None
55
+ anonymous: bool | None = None
53
56
 
54
57
 
55
58
  @dataclass
@@ -135,6 +138,22 @@ async def aexecute_pipeline(
135
138
  return await make_chain(0)(request)
136
139
 
137
140
 
141
+ def raise_error(response: Response, handle_error: Callable[[Response], Never]) -> Never:
142
+ try:
143
+ handle_error(response)
144
+ except ServiceError as exc:
145
+ # The response itself can say a retry is safe, even when the error is
146
+ # not marked @retryable: a 429, a transient 5xx or a Retry-After header.
147
+ if response.status == 429:
148
+ exc.is_throttling_error = True
149
+ if (
150
+ response.status in (429, 500, 502, 503, 504)
151
+ or "retry-after" in response.headers
152
+ ):
153
+ exc.is_retryable = True
154
+ raise
155
+
156
+
138
157
  def _is_retryable(exc: Exception) -> bool:
139
158
  if isinstance(exc, ServiceError):
140
159
  return exc.is_retryable
@@ -86,6 +86,7 @@ class AsyncNetworkMonitorClientConfig(TypedDict, total=False, closed=True):
86
86
  use_fips: bool | None
87
87
  endpoint: str | None
88
88
  credentials_provider: IdentityProvider[Credentials] | None
89
+ anonymous: bool | None
89
90
 
90
91
 
91
92
  class AsyncNetworkMonitorClient:
@@ -101,6 +102,7 @@ class AsyncNetworkMonitorClient:
101
102
  endpoint: The value of the ``SDK::Endpoint`` endpoint parameter.
102
103
  credentials: AWS credentials for request signing.
103
104
  credentials_provider: Provider that resolves AWS credentials. Takes precedence over ``credentials``.
105
+ anonymous: Send requests unsigned, without resolving credentials, even for operations that require authentication.
104
106
  """
105
107
 
106
108
  def __init__(
@@ -114,6 +116,7 @@ class AsyncNetworkMonitorClient:
114
116
  endpoint: str | None = None,
115
117
  credentials: Credentials | None = None,
116
118
  credentials_provider: CredentialsProvider | None = None,
119
+ anonymous: bool | None = None,
117
120
  ):
118
121
  self._client = AsyncClient(http_handler).wrap_with_middleware(
119
122
  lambda next: AuthMiddleware(next)
@@ -140,6 +143,7 @@ class AsyncNetworkMonitorClient:
140
143
  "use_fips": use_fips,
141
144
  "endpoint": endpoint,
142
145
  "credentials_provider": resolved_credentials_provider,
146
+ "anonymous": anonymous,
143
147
  }
144
148
  )
145
149
 
@@ -172,6 +176,7 @@ class AsyncNetworkMonitorClient:
172
176
  credentials_provider=overrides.get(
173
177
  "credentials_provider", self._config.get("credentials_provider")
174
178
  ),
179
+ anonymous=overrides.get("anonymous", self._config.get("anonymous")),
175
180
  )
176
181
  return interceptors_, options_
177
182
 
@@ -84,6 +84,7 @@ class NetworkMonitorClientConfig(TypedDict, total=False, closed=True):
84
84
  use_fips: bool | None
85
85
  endpoint: str | None
86
86
  credentials_provider: IdentityProvider[Credentials] | None
87
+ anonymous: bool | None
87
88
 
88
89
 
89
90
  class NetworkMonitorClient:
@@ -99,6 +100,7 @@ class NetworkMonitorClient:
99
100
  endpoint: The value of the ``SDK::Endpoint`` endpoint parameter.
100
101
  credentials: AWS credentials for request signing.
101
102
  credentials_provider: Provider that resolves AWS credentials. Takes precedence over ``credentials``.
103
+ anonymous: Send requests unsigned, without resolving credentials, even for operations that require authentication.
102
104
  """
103
105
 
104
106
  def __init__(
@@ -112,6 +114,7 @@ class NetworkMonitorClient:
112
114
  endpoint: str | None = None,
113
115
  credentials: Credentials | None = None,
114
116
  credentials_provider: CredentialsProvider | None = None,
117
+ anonymous: bool | None = None,
115
118
  ):
116
119
  self._client = Client(http_handler).wrap_with_middleware(
117
120
  lambda next: AuthMiddleware(next)
@@ -138,6 +141,7 @@ class NetworkMonitorClient:
138
141
  "use_fips": use_fips,
139
142
  "endpoint": endpoint,
140
143
  "credentials_provider": resolved_credentials_provider,
144
+ "anonymous": anonymous,
141
145
  }
142
146
  )
143
147
 
@@ -170,6 +174,7 @@ class NetworkMonitorClient:
170
174
  credentials_provider=overrides.get(
171
175
  "credentials_provider", self._config.get("credentials_provider")
172
176
  ),
177
+ anonymous=overrides.get("anonymous", self._config.get("anonymous")),
173
178
  )
174
179
  return interceptors_, options_
175
180
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: capo-networkmonitor
3
- Version: 0.2.0
3
+ Version: 0.4.0
4
4
  Summary: Python SDK for AWS Networkmonitor.
5
5
  Classifier: Development Status :: 4 - Beta
6
6
  Classifier: Intended Audience :: Developers