capo-lambda-web 0.2.0__py3-none-any.whl

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 (154) hide show
  1. capo_lambda_web/__init__.py +71 -0
  2. capo_lambda_web/_async.py +25 -0
  3. capo_lambda_web/_auth/_identity.py +16 -0
  4. capo_lambda_web/_auth/_providers.py +886 -0
  5. capo_lambda_web/_auth/_signers.py +121 -0
  6. capo_lambda_web/_auth/_sigv4.py +579 -0
  7. capo_lambda_web/_auth/_zapros_handler.py +80 -0
  8. capo_lambda_web/_body.py +221 -0
  9. capo_lambda_web/_iter.py +113 -0
  10. capo_lambda_web/_operations/lambda_web/create_web_function.py +184 -0
  11. capo_lambda_web/_operations/lambda_web/create_web_function_endpoint.py +194 -0
  12. capo_lambda_web/_operations/lambda_web/create_web_function_revision.py +188 -0
  13. capo_lambda_web/_operations/lambda_web/delete_resource_policy.py +147 -0
  14. capo_lambda_web/_operations/lambda_web/delete_web_function.py +145 -0
  15. capo_lambda_web/_operations/lambda_web/delete_web_function_endpoint.py +149 -0
  16. capo_lambda_web/_operations/lambda_web/delete_web_function_revision.py +149 -0
  17. capo_lambda_web/_operations/lambda_web/get_resource_policy.py +165 -0
  18. capo_lambda_web/_operations/lambda_web/get_web_account_settings.py +155 -0
  19. capo_lambda_web/_operations/lambda_web/get_web_function.py +171 -0
  20. capo_lambda_web/_operations/lambda_web/get_web_function_endpoint.py +180 -0
  21. capo_lambda_web/_operations/lambda_web/get_web_function_revision.py +174 -0
  22. capo_lambda_web/_operations/lambda_web/list_tags.py +164 -0
  23. capo_lambda_web/_operations/lambda_web/list_web_function_endpoints.py +176 -0
  24. capo_lambda_web/_operations/lambda_web/list_web_function_revisions.py +176 -0
  25. capo_lambda_web/_operations/lambda_web/list_web_functions.py +168 -0
  26. capo_lambda_web/_operations/lambda_web/put_resource_policy.py +179 -0
  27. capo_lambda_web/_operations/lambda_web/tag_resource.py +155 -0
  28. capo_lambda_web/_operations/lambda_web/untag_resource.py +148 -0
  29. capo_lambda_web/_operations/lambda_web/update_web_function_endpoint.py +196 -0
  30. capo_lambda_web/_pagination.py +21 -0
  31. capo_lambda_web/_protocol/__init__.py +1 -0
  32. capo_lambda_web/_protocol/errors.py +93 -0
  33. capo_lambda_web/_protocol/eventstream.py +240 -0
  34. capo_lambda_web/_protocol/serialize.py +47 -0
  35. capo_lambda_web/_protocol/xml.py +33 -0
  36. capo_lambda_web/_resources/lambda_web/web_function.py +477 -0
  37. capo_lambda_web/_rule_engine/__init__.py +0 -0
  38. capo_lambda_web/_rule_engine/_aws_partition.py +160 -0
  39. capo_lambda_web/_rule_engine/_endpoint_rule_set.py +135 -0
  40. capo_lambda_web/_rule_engine/_endpoint_runtime.py +389 -0
  41. capo_lambda_web/_services/_aws_config.py +160 -0
  42. capo_lambda_web/_services/_pipeline.py +264 -0
  43. capo_lambda_web/_services/async_lambda_web.py +1394 -0
  44. capo_lambda_web/_services/lambda_web.py +1374 -0
  45. capo_lambda_web/errors/__init__.py +36 -0
  46. capo_lambda_web/errors/_base.py +94 -0
  47. capo_lambda_web/errors/access_denied_exception.py +48 -0
  48. capo_lambda_web/errors/conflict_exception.py +58 -0
  49. capo_lambda_web/errors/internal_server_exception.py +47 -0
  50. capo_lambda_web/errors/resource_not_found_exception.py +60 -0
  51. capo_lambda_web/errors/service_quota_exceeded_exception.py +74 -0
  52. capo_lambda_web/errors/throttling_exception.py +60 -0
  53. capo_lambda_web/errors/validation_exception.py +46 -0
  54. capo_lambda_web/py.typed +0 -0
  55. capo_lambda_web/types/_prelude/blob.py +12 -0
  56. capo_lambda_web/types/_prelude/timestamp.py +17 -0
  57. capo_lambda_web/types/account_quotas.py +47 -0
  58. capo_lambda_web/types/account_usage.py +26 -0
  59. capo_lambda_web/types/application_log_level.py +22 -0
  60. capo_lambda_web/types/auth_type.py +18 -0
  61. capo_lambda_web/types/auto_deployment_mode.py +18 -0
  62. capo_lambda_web/types/build_config.py +55 -0
  63. capo_lambda_web/types/code_config.py +37 -0
  64. capo_lambda_web/types/create_web_function_endpoint_request.py +164 -0
  65. capo_lambda_web/types/create_web_function_endpoint_response.py +291 -0
  66. capo_lambda_web/types/create_web_function_request.py +72 -0
  67. capo_lambda_web/types/create_web_function_response.py +144 -0
  68. capo_lambda_web/types/create_web_function_revision_request.py +76 -0
  69. capo_lambda_web/types/create_web_function_revision_response.py +157 -0
  70. capo_lambda_web/types/date_time.py +20 -0
  71. capo_lambda_web/types/delete_resource_policy_request.py +29 -0
  72. capo_lambda_web/types/delete_web_function_endpoint_request.py +27 -0
  73. capo_lambda_web/types/delete_web_function_request.py +24 -0
  74. capo_lambda_web/types/delete_web_function_revision_request.py +27 -0
  75. capo_lambda_web/types/description.py +5 -0
  76. capo_lambda_web/types/domain_name.py +5 -0
  77. capo_lambda_web/types/endpoint_arn.py +5 -0
  78. capo_lambda_web/types/endpoint_config.py +134 -0
  79. capo_lambda_web/types/endpoint_name.py +5 -0
  80. capo_lambda_web/types/endpoint_state.py +20 -0
  81. capo_lambda_web/types/endpoint_type.py +19 -0
  82. capo_lambda_web/types/endpoint_update_status.py +19 -0
  83. capo_lambda_web/types/environment_variables.py +22 -0
  84. capo_lambda_web/types/filter.py +46 -0
  85. capo_lambda_web/types/filter_list.py +29 -0
  86. capo_lambda_web/types/filter_value_list.py +14 -0
  87. capo_lambda_web/types/function_arn.py +5 -0
  88. capo_lambda_web/types/function_endpoint_summary.py +249 -0
  89. capo_lambda_web/types/function_endpoint_summary_list.py +33 -0
  90. capo_lambda_web/types/function_name.py +5 -0
  91. capo_lambda_web/types/function_revision_summary.py +83 -0
  92. capo_lambda_web/types/function_revision_summary_list.py +33 -0
  93. capo_lambda_web/types/function_state.py +20 -0
  94. capo_lambda_web/types/function_summary.py +91 -0
  95. capo_lambda_web/types/function_summary_list.py +31 -0
  96. capo_lambda_web/types/get_resource_policy_request.py +24 -0
  97. capo_lambda_web/types/get_resource_policy_response.py +39 -0
  98. capo_lambda_web/types/get_web_account_settings_request.py +18 -0
  99. capo_lambda_web/types/get_web_account_settings_response.py +59 -0
  100. capo_lambda_web/types/get_web_function_endpoint_request.py +27 -0
  101. capo_lambda_web/types/get_web_function_endpoint_response.py +285 -0
  102. capo_lambda_web/types/get_web_function_request.py +24 -0
  103. capo_lambda_web/types/get_web_function_response.py +91 -0
  104. capo_lambda_web/types/get_web_function_revision_request.py +27 -0
  105. capo_lambda_web/types/get_web_function_revision_response.py +155 -0
  106. capo_lambda_web/types/kms_key_arn.py +5 -0
  107. capo_lambda_web/types/list_tags_request.py +24 -0
  108. capo_lambda_web/types/list_tags_response.py +32 -0
  109. capo_lambda_web/types/list_web_function_endpoints_request.py +54 -0
  110. capo_lambda_web/types/list_web_function_endpoints_response.py +52 -0
  111. capo_lambda_web/types/list_web_function_revisions_request.py +54 -0
  112. capo_lambda_web/types/list_web_function_revisions_response.py +52 -0
  113. capo_lambda_web/types/list_web_functions_request.py +51 -0
  114. capo_lambda_web/types/list_web_functions_response.py +46 -0
  115. capo_lambda_web/types/logging_config.py +67 -0
  116. capo_lambda_web/types/max_results.py +5 -0
  117. capo_lambda_web/types/next_token.py +5 -0
  118. capo_lambda_web/types/policy_revision_id.py +5 -0
  119. capo_lambda_web/types/put_resource_policy_request.py +43 -0
  120. capo_lambda_web/types/put_resource_policy_response.py +39 -0
  121. capo_lambda_web/types/region.py +5 -0
  122. capo_lambda_web/types/region_list.py +17 -0
  123. capo_lambda_web/types/regional_endpoint.py +140 -0
  124. capo_lambda_web/types/regional_endpoints.py +33 -0
  125. capo_lambda_web/types/resource_arn.py +5 -0
  126. capo_lambda_web/types/resource_policy.py +5 -0
  127. capo_lambda_web/types/revision_arn.py +5 -0
  128. capo_lambda_web/types/revision_config.py +69 -0
  129. capo_lambda_web/types/revision_error.py +40 -0
  130. capo_lambda_web/types/revision_errors.py +29 -0
  131. capo_lambda_web/types/revision_id.py +5 -0
  132. capo_lambda_web/types/revision_state.py +19 -0
  133. capo_lambda_web/types/revision_weight.py +38 -0
  134. capo_lambda_web/types/revision_weight_list.py +31 -0
  135. capo_lambda_web/types/role_arn.py +5 -0
  136. capo_lambda_web/types/runtime_config.py +26 -0
  137. capo_lambda_web/types/s3_object.py +39 -0
  138. capo_lambda_web/types/scaling_config.py +23 -0
  139. capo_lambda_web/types/service_config.py +87 -0
  140. capo_lambda_web/types/system_log_level.py +19 -0
  141. capo_lambda_web/types/tag_key.py +5 -0
  142. capo_lambda_web/types/tag_key_list.py +17 -0
  143. capo_lambda_web/types/tag_resource_request.py +38 -0
  144. capo_lambda_web/types/tags.py +25 -0
  145. capo_lambda_web/types/telemetry_config.py +36 -0
  146. capo_lambda_web/types/throttle_config.py +23 -0
  147. capo_lambda_web/types/untag_resource_request.py +27 -0
  148. capo_lambda_web/types/update_web_function_endpoint_request.py +121 -0
  149. capo_lambda_web/types/update_web_function_endpoint_response.py +291 -0
  150. capo_lambda_web-0.2.0.dist-info/METADATA +104 -0
  151. capo_lambda_web-0.2.0.dist-info/RECORD +154 -0
  152. capo_lambda_web-0.2.0.dist-info/WHEEL +5 -0
  153. capo_lambda_web-0.2.0.dist-info/licenses/LICENSE +21 -0
  154. capo_lambda_web-0.2.0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,91 @@
1
+ """Generated from Smithy shape ``com.amazonaws.lambdaweb#FunctionSummary``."""
2
+
3
+ from typing import TYPE_CHECKING
4
+
5
+ from typing_extensions import TypedDict
6
+
7
+ from capo_lambda_web.errors import DeserializationError
8
+
9
+ if TYPE_CHECKING:
10
+ import capo_lambda_web.types.date_time
11
+ import capo_lambda_web.types.function_arn
12
+ import capo_lambda_web.types.function_name
13
+ import capo_lambda_web.types.function_state
14
+
15
+
16
+ class FunctionSummary(TypedDict, closed=True):
17
+ function_name: "capo_lambda_web.types.function_name.FunctionName"
18
+ """<p>The name of the web function.</p>"""
19
+ function_arn: "capo_lambda_web.types.function_arn.FunctionArn"
20
+ """<p>The Amazon Resource Name (ARN) of the web function.</p>"""
21
+ state: "capo_lambda_web.types.function_state.FunctionState"
22
+ """<p>The current state of the web function.</p>"""
23
+ state_reason: "str"
24
+ """<p>The reason for the current state of the web function.</p>"""
25
+ created_at: "capo_lambda_web.types.date_time.DateTime"
26
+ """<p>The date and time the web function was created.</p>"""
27
+ updated_at: "capo_lambda_web.types.date_time.DateTime"
28
+ """<p>The date and time the web function was last updated.</p>"""
29
+
30
+
31
+ # --- restJson1 ser/de ---
32
+ def serialize_json(value: FunctionSummary) -> dict:
33
+ out: dict = {}
34
+ out["functionName"] = value["function_name"]
35
+ out["functionArn"] = value["function_arn"]
36
+ import capo_lambda_web.types.function_state
37
+
38
+ out["state"] = capo_lambda_web.types.function_state.serialize_json(value["state"])
39
+ out["stateReason"] = value["state_reason"]
40
+ import capo_lambda_web.types.date_time
41
+
42
+ out["createdAt"] = capo_lambda_web.types.date_time.serialize_json(
43
+ value["created_at"]
44
+ )
45
+ import capo_lambda_web.types.date_time
46
+
47
+ out["updatedAt"] = capo_lambda_web.types.date_time.serialize_json(
48
+ value["updated_at"]
49
+ )
50
+ return out
51
+
52
+
53
+ def deserialize_json(data: dict) -> FunctionSummary:
54
+ out: FunctionSummary = {} # type: ignore[typeddict-item]
55
+ if data.get("functionName") is not None:
56
+ out["function_name"] = data["functionName"]
57
+ else:
58
+ raise DeserializationError("FunctionSummary.function_name required")
59
+ if data.get("functionArn") is not None:
60
+ out["function_arn"] = data["functionArn"]
61
+ else:
62
+ raise DeserializationError("FunctionSummary.function_arn required")
63
+ if data.get("state") is not None:
64
+ import capo_lambda_web.types.function_state
65
+
66
+ out["state"] = capo_lambda_web.types.function_state.deserialize_json(
67
+ data["state"]
68
+ )
69
+ else:
70
+ raise DeserializationError("FunctionSummary.state required")
71
+ if data.get("stateReason") is not None:
72
+ out["state_reason"] = data["stateReason"]
73
+ else:
74
+ raise DeserializationError("FunctionSummary.state_reason required")
75
+ if data.get("createdAt") is not None:
76
+ import capo_lambda_web.types.date_time
77
+
78
+ out["created_at"] = capo_lambda_web.types.date_time.deserialize_json(
79
+ data["createdAt"]
80
+ )
81
+ else:
82
+ raise DeserializationError("FunctionSummary.created_at required")
83
+ if data.get("updatedAt") is not None:
84
+ import capo_lambda_web.types.date_time
85
+
86
+ out["updated_at"] = capo_lambda_web.types.date_time.deserialize_json(
87
+ data["updatedAt"]
88
+ )
89
+ else:
90
+ raise DeserializationError("FunctionSummary.updated_at required")
91
+ return out
@@ -0,0 +1,31 @@
1
+ """Generated from Smithy shape ``com.amazonaws.lambdaweb#FunctionSummaryList``."""
2
+
3
+ from typing import TYPE_CHECKING, TypeAlias
4
+
5
+ if TYPE_CHECKING:
6
+ import capo_lambda_web.types.function_summary
7
+
8
+ FunctionSummaryList: TypeAlias = list[
9
+ "capo_lambda_web.types.function_summary.FunctionSummary"
10
+ ]
11
+
12
+
13
+ # --- restJson1 ser/de ---
14
+ def serialize_json(value: FunctionSummaryList) -> list:
15
+ import capo_lambda_web.types.function_summary
16
+
17
+ out: list = []
18
+ for item in value:
19
+ out.append(capo_lambda_web.types.function_summary.serialize_json(item))
20
+ return out
21
+
22
+
23
+ def deserialize_json(data: list) -> FunctionSummaryList:
24
+ import capo_lambda_web.types.function_summary
25
+
26
+ out: FunctionSummaryList = []
27
+ for item in data:
28
+ if item is None:
29
+ continue
30
+ out.append(capo_lambda_web.types.function_summary.deserialize_json(item))
31
+ return out
@@ -0,0 +1,24 @@
1
+ """Generated from Smithy shape ``com.amazonaws.lambdaweb#GetResourcePolicyRequest``."""
2
+
3
+ from typing import TYPE_CHECKING
4
+
5
+ from typing_extensions import TypedDict
6
+
7
+ if TYPE_CHECKING:
8
+ import capo_lambda_web.types.resource_arn
9
+
10
+
11
+ class GetResourcePolicyRequest(TypedDict, closed=True):
12
+ resource_arn: "capo_lambda_web.types.resource_arn.ResourceArn"
13
+ """<p>The Amazon Resource Name (ARN) of the web function.</p>"""
14
+
15
+
16
+ # --- restJson1 ser/de ---
17
+ def serialize_json(value: GetResourcePolicyRequest) -> dict:
18
+ out: dict = {}
19
+ return out
20
+
21
+
22
+ def deserialize_json(data: dict) -> GetResourcePolicyRequest:
23
+ out: GetResourcePolicyRequest = {} # type: ignore[typeddict-item]
24
+ return out
@@ -0,0 +1,39 @@
1
+ """Generated from Smithy shape ``com.amazonaws.lambdaweb#GetResourcePolicyResponse``."""
2
+
3
+ from typing import TYPE_CHECKING
4
+
5
+ from typing_extensions import TypedDict
6
+
7
+ from capo_lambda_web.errors import DeserializationError
8
+
9
+ if TYPE_CHECKING:
10
+ import capo_lambda_web.types.policy_revision_id
11
+ import capo_lambda_web.types.resource_policy
12
+
13
+
14
+ class GetResourcePolicyResponse(TypedDict, closed=True):
15
+ policy: "capo_lambda_web.types.resource_policy.ResourcePolicy"
16
+ """<p>The JSON-formatted resource-based policy attached to the web function.</p>"""
17
+ revision_id: "capo_lambda_web.types.policy_revision_id.PolicyRevisionId"
18
+ """<p>The revision ID of the policy.</p>"""
19
+
20
+
21
+ # --- restJson1 ser/de ---
22
+ def serialize_json(value: GetResourcePolicyResponse) -> dict:
23
+ out: dict = {}
24
+ out["Policy"] = value["policy"]
25
+ out["RevisionId"] = value["revision_id"]
26
+ return out
27
+
28
+
29
+ def deserialize_json(data: dict) -> GetResourcePolicyResponse:
30
+ out: GetResourcePolicyResponse = {} # type: ignore[typeddict-item]
31
+ if data.get("Policy") is not None:
32
+ out["policy"] = data["Policy"]
33
+ else:
34
+ raise DeserializationError("GetResourcePolicyResponse.policy required")
35
+ if data.get("RevisionId") is not None:
36
+ out["revision_id"] = data["RevisionId"]
37
+ else:
38
+ raise DeserializationError("GetResourcePolicyResponse.revision_id required")
39
+ return out
@@ -0,0 +1,18 @@
1
+ """Generated from Smithy shape ``com.amazonaws.lambdaweb#GetWebAccountSettingsRequest``."""
2
+
3
+ from typing_extensions import TypedDict
4
+
5
+
6
+ class GetWebAccountSettingsRequest(TypedDict, closed=True):
7
+ pass
8
+
9
+
10
+ # --- restJson1 ser/de ---
11
+ def serialize_json(value: GetWebAccountSettingsRequest) -> dict:
12
+ out: dict = {}
13
+ return out
14
+
15
+
16
+ def deserialize_json(data: dict) -> GetWebAccountSettingsRequest:
17
+ out: GetWebAccountSettingsRequest = {} # type: ignore[typeddict-item]
18
+ return out
@@ -0,0 +1,59 @@
1
+ """Generated from Smithy shape ``com.amazonaws.lambdaweb#GetWebAccountSettingsResponse``."""
2
+
3
+ from typing import TYPE_CHECKING
4
+
5
+ from typing_extensions import TypedDict
6
+
7
+ from capo_lambda_web.errors import DeserializationError
8
+
9
+ if TYPE_CHECKING:
10
+ import capo_lambda_web.types.account_quotas
11
+ import capo_lambda_web.types.account_usage
12
+
13
+
14
+ class GetWebAccountSettingsResponse(TypedDict, closed=True):
15
+ account_quotas: "capo_lambda_web.types.account_quotas.AccountQuotas"
16
+ """<p>The quotas that apply to web functions in your account in the current AWS Region.</p>"""
17
+ account_usage: "capo_lambda_web.types.account_usage.AccountUsage"
18
+ """<p>The current web function usage for your account in the current AWS Region.</p>"""
19
+
20
+
21
+ # --- restJson1 ser/de ---
22
+ def serialize_json(value: GetWebAccountSettingsResponse) -> dict:
23
+ out: dict = {}
24
+ import capo_lambda_web.types.account_quotas
25
+
26
+ out["accountQuotas"] = capo_lambda_web.types.account_quotas.serialize_json(
27
+ value["account_quotas"]
28
+ )
29
+ import capo_lambda_web.types.account_usage
30
+
31
+ out["accountUsage"] = capo_lambda_web.types.account_usage.serialize_json(
32
+ value["account_usage"]
33
+ )
34
+ return out
35
+
36
+
37
+ def deserialize_json(data: dict) -> GetWebAccountSettingsResponse:
38
+ out: GetWebAccountSettingsResponse = {} # type: ignore[typeddict-item]
39
+ if data.get("accountQuotas") is not None:
40
+ import capo_lambda_web.types.account_quotas
41
+
42
+ out["account_quotas"] = capo_lambda_web.types.account_quotas.deserialize_json(
43
+ data["accountQuotas"]
44
+ )
45
+ else:
46
+ raise DeserializationError(
47
+ "GetWebAccountSettingsResponse.account_quotas required"
48
+ )
49
+ if data.get("accountUsage") is not None:
50
+ import capo_lambda_web.types.account_usage
51
+
52
+ out["account_usage"] = capo_lambda_web.types.account_usage.deserialize_json(
53
+ data["accountUsage"]
54
+ )
55
+ else:
56
+ raise DeserializationError(
57
+ "GetWebAccountSettingsResponse.account_usage required"
58
+ )
59
+ return out
@@ -0,0 +1,27 @@
1
+ """Generated from Smithy shape ``com.amazonaws.lambdaweb#GetWebFunctionEndpointRequest``."""
2
+
3
+ from typing import TYPE_CHECKING
4
+
5
+ from typing_extensions import TypedDict
6
+
7
+ if TYPE_CHECKING:
8
+ import capo_lambda_web.types.endpoint_name
9
+ import capo_lambda_web.types.function_name
10
+
11
+
12
+ class GetWebFunctionEndpointRequest(TypedDict, closed=True):
13
+ function_name: "capo_lambda_web.types.function_name.FunctionName"
14
+ """<p>The name of the web function. You can specify the function name or the function ARN. The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.</p>"""
15
+ endpoint_name: "capo_lambda_web.types.endpoint_name.EndpointName"
16
+ """<p>The name of the endpoint to retrieve. You can specify the endpoint name or the endpoint ARN. The length constraint applies only to the full ARN. If you specify only the endpoint name, it is limited to 64 characters in length.</p>"""
17
+
18
+
19
+ # --- restJson1 ser/de ---
20
+ def serialize_json(value: GetWebFunctionEndpointRequest) -> dict:
21
+ out: dict = {}
22
+ return out
23
+
24
+
25
+ def deserialize_json(data: dict) -> GetWebFunctionEndpointRequest:
26
+ out: GetWebFunctionEndpointRequest = {} # type: ignore[typeddict-item]
27
+ return out
@@ -0,0 +1,285 @@
1
+ """Generated from Smithy shape ``com.amazonaws.lambdaweb#GetWebFunctionEndpointResponse``."""
2
+
3
+ from typing import TYPE_CHECKING
4
+
5
+ from typing_extensions import NotRequired, TypedDict
6
+
7
+ from capo_lambda_web.errors import DeserializationError
8
+
9
+ if TYPE_CHECKING:
10
+ import capo_lambda_web.types.auth_type
11
+ import capo_lambda_web.types.auto_deployment_mode
12
+ import capo_lambda_web.types.date_time
13
+ import capo_lambda_web.types.description
14
+ import capo_lambda_web.types.domain_name
15
+ import capo_lambda_web.types.endpoint_arn
16
+ import capo_lambda_web.types.endpoint_name
17
+ import capo_lambda_web.types.endpoint_state
18
+ import capo_lambda_web.types.endpoint_type
19
+ import capo_lambda_web.types.endpoint_update_status
20
+ import capo_lambda_web.types.function_arn
21
+ import capo_lambda_web.types.region_list
22
+ import capo_lambda_web.types.regional_endpoints
23
+ import capo_lambda_web.types.revision_weight_list
24
+ import capo_lambda_web.types.scaling_config
25
+ import capo_lambda_web.types.throttle_config
26
+
27
+
28
+ class GetWebFunctionEndpointResponse(TypedDict, closed=True):
29
+ function_arn: "capo_lambda_web.types.function_arn.FunctionArn"
30
+ """<p>The Amazon Resource Name (ARN) of the web function.</p>"""
31
+ endpoint_arn: "capo_lambda_web.types.endpoint_arn.EndpointArn"
32
+ """<p>The Amazon Resource Name (ARN) of the endpoint.</p>"""
33
+ endpoint_name: "capo_lambda_web.types.endpoint_name.EndpointName"
34
+ """<p>The name of the endpoint.</p>"""
35
+ description: NotRequired["capo_lambda_web.types.description.Description"]
36
+ """<p>The description of the endpoint.</p>"""
37
+ endpoint_type: "capo_lambda_web.types.endpoint_type.EndpointType"
38
+ domain_name: "capo_lambda_web.types.domain_name.DomainName"
39
+ """<p>The domain name assigned to the endpoint.</p>"""
40
+ auth_type: "capo_lambda_web.types.auth_type.AuthType"
41
+ auto_deployment_mode: (
42
+ "capo_lambda_web.types.auto_deployment_mode.AutoDeploymentMode"
43
+ )
44
+ revision_weights: "capo_lambda_web.types.revision_weight_list.RevisionWeightList"
45
+ """<p>The traffic distribution across revisions for the endpoint. Each entry maps a revision to a weight from 1 to 100.</p>"""
46
+ regions: "capo_lambda_web.types.region_list.RegionList"
47
+ """<p>The Regions configured for the endpoint.</p>"""
48
+ scaling_config: NotRequired["capo_lambda_web.types.scaling_config.ScalingConfig"]
49
+ throttle_config: NotRequired["capo_lambda_web.types.throttle_config.ThrottleConfig"]
50
+ state: "capo_lambda_web.types.endpoint_state.EndpointState"
51
+ """<p>The current state of the endpoint.</p>"""
52
+ state_reason: "str"
53
+ """<p>The reason for the current state of the endpoint.</p>"""
54
+ update_status: NotRequired[
55
+ "capo_lambda_web.types.endpoint_update_status.EndpointUpdateStatus"
56
+ ]
57
+ update_status_reason: NotRequired["str"]
58
+ """<p>The reason for the endpoint's most recent update status.</p>"""
59
+ regional_endpoints: "capo_lambda_web.types.regional_endpoints.RegionalEndpoints"
60
+ """<p>The list of regional endpoint configurations.</p>"""
61
+ created_at: "capo_lambda_web.types.date_time.DateTime"
62
+ """<p>The date and time the endpoint was created.</p>"""
63
+ updated_at: "capo_lambda_web.types.date_time.DateTime"
64
+ """<p>The date and time the endpoint was last updated.</p>"""
65
+
66
+
67
+ # --- restJson1 ser/de ---
68
+ def serialize_json(value: GetWebFunctionEndpointResponse) -> dict:
69
+ out: dict = {}
70
+ out["functionArn"] = value["function_arn"]
71
+ out["endpointArn"] = value["endpoint_arn"]
72
+ out["endpointName"] = value["endpoint_name"]
73
+ if "description" in value:
74
+ out["description"] = value["description"]
75
+ import capo_lambda_web.types.endpoint_type
76
+
77
+ out["endpointType"] = capo_lambda_web.types.endpoint_type.serialize_json(
78
+ value["endpoint_type"]
79
+ )
80
+ out["domainName"] = value["domain_name"]
81
+ import capo_lambda_web.types.auth_type
82
+
83
+ out["authType"] = capo_lambda_web.types.auth_type.serialize_json(value["auth_type"])
84
+ import capo_lambda_web.types.auto_deployment_mode
85
+
86
+ out["autoDeploymentMode"] = (
87
+ capo_lambda_web.types.auto_deployment_mode.serialize_json(
88
+ value["auto_deployment_mode"]
89
+ )
90
+ )
91
+ import capo_lambda_web.types.revision_weight_list
92
+
93
+ out["revisionWeights"] = capo_lambda_web.types.revision_weight_list.serialize_json(
94
+ value["revision_weights"]
95
+ )
96
+ import capo_lambda_web.types.region_list
97
+
98
+ out["regions"] = capo_lambda_web.types.region_list.serialize_json(value["regions"])
99
+ if "scaling_config" in value:
100
+ import capo_lambda_web.types.scaling_config
101
+
102
+ out["scalingConfig"] = capo_lambda_web.types.scaling_config.serialize_json(
103
+ value["scaling_config"]
104
+ )
105
+ if "throttle_config" in value:
106
+ import capo_lambda_web.types.throttle_config
107
+
108
+ out["throttleConfig"] = capo_lambda_web.types.throttle_config.serialize_json(
109
+ value["throttle_config"]
110
+ )
111
+ import capo_lambda_web.types.endpoint_state
112
+
113
+ out["state"] = capo_lambda_web.types.endpoint_state.serialize_json(value["state"])
114
+ out["stateReason"] = value["state_reason"]
115
+ if "update_status" in value:
116
+ import capo_lambda_web.types.endpoint_update_status
117
+
118
+ out["updateStatus"] = (
119
+ capo_lambda_web.types.endpoint_update_status.serialize_json(
120
+ value["update_status"]
121
+ )
122
+ )
123
+ if "update_status_reason" in value:
124
+ out["updateStatusReason"] = value["update_status_reason"]
125
+ import capo_lambda_web.types.regional_endpoints
126
+
127
+ out["regionalEndpoints"] = capo_lambda_web.types.regional_endpoints.serialize_json(
128
+ value["regional_endpoints"]
129
+ )
130
+ import capo_lambda_web.types.date_time
131
+
132
+ out["createdAt"] = capo_lambda_web.types.date_time.serialize_json(
133
+ value["created_at"]
134
+ )
135
+ import capo_lambda_web.types.date_time
136
+
137
+ out["updatedAt"] = capo_lambda_web.types.date_time.serialize_json(
138
+ value["updated_at"]
139
+ )
140
+ return out
141
+
142
+
143
+ def deserialize_json(data: dict) -> GetWebFunctionEndpointResponse:
144
+ out: GetWebFunctionEndpointResponse = {} # type: ignore[typeddict-item]
145
+ if data.get("functionArn") is not None:
146
+ out["function_arn"] = data["functionArn"]
147
+ else:
148
+ raise DeserializationError(
149
+ "GetWebFunctionEndpointResponse.function_arn required"
150
+ )
151
+ if data.get("endpointArn") is not None:
152
+ out["endpoint_arn"] = data["endpointArn"]
153
+ else:
154
+ raise DeserializationError(
155
+ "GetWebFunctionEndpointResponse.endpoint_arn required"
156
+ )
157
+ if data.get("endpointName") is not None:
158
+ out["endpoint_name"] = data["endpointName"]
159
+ else:
160
+ raise DeserializationError(
161
+ "GetWebFunctionEndpointResponse.endpoint_name required"
162
+ )
163
+ if data.get("description") is not None:
164
+ out["description"] = data["description"]
165
+ if data.get("endpointType") is not None:
166
+ import capo_lambda_web.types.endpoint_type
167
+
168
+ out["endpoint_type"] = capo_lambda_web.types.endpoint_type.deserialize_json(
169
+ data["endpointType"]
170
+ )
171
+ else:
172
+ raise DeserializationError(
173
+ "GetWebFunctionEndpointResponse.endpoint_type required"
174
+ )
175
+ if data.get("domainName") is not None:
176
+ out["domain_name"] = data["domainName"]
177
+ else:
178
+ raise DeserializationError(
179
+ "GetWebFunctionEndpointResponse.domain_name required"
180
+ )
181
+ if data.get("authType") is not None:
182
+ import capo_lambda_web.types.auth_type
183
+
184
+ out["auth_type"] = capo_lambda_web.types.auth_type.deserialize_json(
185
+ data["authType"]
186
+ )
187
+ else:
188
+ raise DeserializationError("GetWebFunctionEndpointResponse.auth_type required")
189
+ if data.get("autoDeploymentMode") is not None:
190
+ import capo_lambda_web.types.auto_deployment_mode
191
+
192
+ out["auto_deployment_mode"] = (
193
+ capo_lambda_web.types.auto_deployment_mode.deserialize_json(
194
+ data["autoDeploymentMode"]
195
+ )
196
+ )
197
+ else:
198
+ raise DeserializationError(
199
+ "GetWebFunctionEndpointResponse.auto_deployment_mode required"
200
+ )
201
+ if data.get("revisionWeights") is not None:
202
+ import capo_lambda_web.types.revision_weight_list
203
+
204
+ out["revision_weights"] = (
205
+ capo_lambda_web.types.revision_weight_list.deserialize_json(
206
+ data["revisionWeights"]
207
+ )
208
+ )
209
+ else:
210
+ raise DeserializationError(
211
+ "GetWebFunctionEndpointResponse.revision_weights required"
212
+ )
213
+ if data.get("regions") is not None:
214
+ import capo_lambda_web.types.region_list
215
+
216
+ out["regions"] = capo_lambda_web.types.region_list.deserialize_json(
217
+ data["regions"]
218
+ )
219
+ else:
220
+ raise DeserializationError("GetWebFunctionEndpointResponse.regions required")
221
+ if data.get("scalingConfig") is not None:
222
+ import capo_lambda_web.types.scaling_config
223
+
224
+ out["scaling_config"] = capo_lambda_web.types.scaling_config.deserialize_json(
225
+ data["scalingConfig"]
226
+ )
227
+ if data.get("throttleConfig") is not None:
228
+ import capo_lambda_web.types.throttle_config
229
+
230
+ out["throttle_config"] = capo_lambda_web.types.throttle_config.deserialize_json(
231
+ data["throttleConfig"]
232
+ )
233
+ if data.get("state") is not None:
234
+ import capo_lambda_web.types.endpoint_state
235
+
236
+ out["state"] = capo_lambda_web.types.endpoint_state.deserialize_json(
237
+ data["state"]
238
+ )
239
+ else:
240
+ raise DeserializationError("GetWebFunctionEndpointResponse.state required")
241
+ if data.get("stateReason") is not None:
242
+ out["state_reason"] = data["stateReason"]
243
+ else:
244
+ raise DeserializationError(
245
+ "GetWebFunctionEndpointResponse.state_reason required"
246
+ )
247
+ if data.get("updateStatus") is not None:
248
+ import capo_lambda_web.types.endpoint_update_status
249
+
250
+ out["update_status"] = (
251
+ capo_lambda_web.types.endpoint_update_status.deserialize_json(
252
+ data["updateStatus"]
253
+ )
254
+ )
255
+ if data.get("updateStatusReason") is not None:
256
+ out["update_status_reason"] = data["updateStatusReason"]
257
+ if data.get("regionalEndpoints") is not None:
258
+ import capo_lambda_web.types.regional_endpoints
259
+
260
+ out["regional_endpoints"] = (
261
+ capo_lambda_web.types.regional_endpoints.deserialize_json(
262
+ data["regionalEndpoints"]
263
+ )
264
+ )
265
+ else:
266
+ raise DeserializationError(
267
+ "GetWebFunctionEndpointResponse.regional_endpoints required"
268
+ )
269
+ if data.get("createdAt") is not None:
270
+ import capo_lambda_web.types.date_time
271
+
272
+ out["created_at"] = capo_lambda_web.types.date_time.deserialize_json(
273
+ data["createdAt"]
274
+ )
275
+ else:
276
+ raise DeserializationError("GetWebFunctionEndpointResponse.created_at required")
277
+ if data.get("updatedAt") is not None:
278
+ import capo_lambda_web.types.date_time
279
+
280
+ out["updated_at"] = capo_lambda_web.types.date_time.deserialize_json(
281
+ data["updatedAt"]
282
+ )
283
+ else:
284
+ raise DeserializationError("GetWebFunctionEndpointResponse.updated_at required")
285
+ return out
@@ -0,0 +1,24 @@
1
+ """Generated from Smithy shape ``com.amazonaws.lambdaweb#GetWebFunctionRequest``."""
2
+
3
+ from typing import TYPE_CHECKING
4
+
5
+ from typing_extensions import TypedDict
6
+
7
+ if TYPE_CHECKING:
8
+ import capo_lambda_web.types.function_name
9
+
10
+
11
+ class GetWebFunctionRequest(TypedDict, closed=True):
12
+ function_name: "capo_lambda_web.types.function_name.FunctionName"
13
+ """<p>The name of the web function to retrieve. You can specify the function name or the function ARN. The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.</p>"""
14
+
15
+
16
+ # --- restJson1 ser/de ---
17
+ def serialize_json(value: GetWebFunctionRequest) -> dict:
18
+ out: dict = {}
19
+ return out
20
+
21
+
22
+ def deserialize_json(data: dict) -> GetWebFunctionRequest:
23
+ out: GetWebFunctionRequest = {} # type: ignore[typeddict-item]
24
+ return out