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,144 @@
1
+ """Generated from Smithy shape ``com.amazonaws.lambdaweb#CreateWebFunctionResponse``."""
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.date_time
11
+ import capo_lambda_web.types.function_arn
12
+ import capo_lambda_web.types.function_endpoint_summary
13
+ import capo_lambda_web.types.function_name
14
+ import capo_lambda_web.types.function_revision_summary
15
+ import capo_lambda_web.types.function_state
16
+ import capo_lambda_web.types.tags
17
+
18
+
19
+ class CreateWebFunctionResponse(TypedDict, closed=True):
20
+ function_name: "capo_lambda_web.types.function_name.FunctionName"
21
+ """<p>The name of the web function.</p>"""
22
+ function_arn: "capo_lambda_web.types.function_arn.FunctionArn"
23
+ """<p>The Amazon Resource Name (ARN) of the web function.</p>"""
24
+ state: "capo_lambda_web.types.function_state.FunctionState"
25
+ """<p>The current state of the web function.</p>"""
26
+ state_reason: "str"
27
+ """<p>The reason for the current state of the web function.</p>"""
28
+ created_at: "capo_lambda_web.types.date_time.DateTime"
29
+ """<p>The date and time the web function was created.</p>"""
30
+ updated_at: "capo_lambda_web.types.date_time.DateTime"
31
+ """<p>The date and time the web function was last updated.</p>"""
32
+ revision: NotRequired[
33
+ "capo_lambda_web.types.function_revision_summary.FunctionRevisionSummary"
34
+ ]
35
+ """<p>A summary of the initial revision created with the web function.</p>"""
36
+ endpoint: NotRequired[
37
+ "capo_lambda_web.types.function_endpoint_summary.FunctionEndpointSummary"
38
+ ]
39
+ """<p>A summary of the initial endpoint created with the web function.</p>"""
40
+ tags: NotRequired["capo_lambda_web.types.tags.Tags"]
41
+ """<p>A map of tag keys and values associated with the web function.</p>"""
42
+
43
+
44
+ # --- restJson1 ser/de ---
45
+ def serialize_json(value: CreateWebFunctionResponse) -> dict:
46
+ out: dict = {}
47
+ out["functionName"] = value["function_name"]
48
+ out["functionArn"] = value["function_arn"]
49
+ import capo_lambda_web.types.function_state
50
+
51
+ out["state"] = capo_lambda_web.types.function_state.serialize_json(value["state"])
52
+ out["stateReason"] = value["state_reason"]
53
+ import capo_lambda_web.types.date_time
54
+
55
+ out["createdAt"] = capo_lambda_web.types.date_time.serialize_json(
56
+ value["created_at"]
57
+ )
58
+ import capo_lambda_web.types.date_time
59
+
60
+ out["updatedAt"] = capo_lambda_web.types.date_time.serialize_json(
61
+ value["updated_at"]
62
+ )
63
+ if "revision" in value:
64
+ import capo_lambda_web.types.function_revision_summary
65
+
66
+ out["revision"] = (
67
+ capo_lambda_web.types.function_revision_summary.serialize_json(
68
+ value["revision"]
69
+ )
70
+ )
71
+ if "endpoint" in value:
72
+ import capo_lambda_web.types.function_endpoint_summary
73
+
74
+ out["endpoint"] = (
75
+ capo_lambda_web.types.function_endpoint_summary.serialize_json(
76
+ value["endpoint"]
77
+ )
78
+ )
79
+ if "tags" in value:
80
+ import capo_lambda_web.types.tags
81
+
82
+ out["tags"] = capo_lambda_web.types.tags.serialize_json(value["tags"])
83
+ return out
84
+
85
+
86
+ def deserialize_json(data: dict) -> CreateWebFunctionResponse:
87
+ out: CreateWebFunctionResponse = {} # type: ignore[typeddict-item]
88
+ if data.get("functionName") is not None:
89
+ out["function_name"] = data["functionName"]
90
+ else:
91
+ raise DeserializationError("CreateWebFunctionResponse.function_name required")
92
+ if data.get("functionArn") is not None:
93
+ out["function_arn"] = data["functionArn"]
94
+ else:
95
+ raise DeserializationError("CreateWebFunctionResponse.function_arn required")
96
+ if data.get("state") is not None:
97
+ import capo_lambda_web.types.function_state
98
+
99
+ out["state"] = capo_lambda_web.types.function_state.deserialize_json(
100
+ data["state"]
101
+ )
102
+ else:
103
+ raise DeserializationError("CreateWebFunctionResponse.state required")
104
+ if data.get("stateReason") is not None:
105
+ out["state_reason"] = data["stateReason"]
106
+ else:
107
+ raise DeserializationError("CreateWebFunctionResponse.state_reason required")
108
+ if data.get("createdAt") is not None:
109
+ import capo_lambda_web.types.date_time
110
+
111
+ out["created_at"] = capo_lambda_web.types.date_time.deserialize_json(
112
+ data["createdAt"]
113
+ )
114
+ else:
115
+ raise DeserializationError("CreateWebFunctionResponse.created_at required")
116
+ if data.get("updatedAt") is not None:
117
+ import capo_lambda_web.types.date_time
118
+
119
+ out["updated_at"] = capo_lambda_web.types.date_time.deserialize_json(
120
+ data["updatedAt"]
121
+ )
122
+ else:
123
+ raise DeserializationError("CreateWebFunctionResponse.updated_at required")
124
+ if data.get("revision") is not None:
125
+ import capo_lambda_web.types.function_revision_summary
126
+
127
+ out["revision"] = (
128
+ capo_lambda_web.types.function_revision_summary.deserialize_json(
129
+ data["revision"]
130
+ )
131
+ )
132
+ if data.get("endpoint") is not None:
133
+ import capo_lambda_web.types.function_endpoint_summary
134
+
135
+ out["endpoint"] = (
136
+ capo_lambda_web.types.function_endpoint_summary.deserialize_json(
137
+ data["endpoint"]
138
+ )
139
+ )
140
+ if data.get("tags") is not None:
141
+ import capo_lambda_web.types.tags
142
+
143
+ out["tags"] = capo_lambda_web.types.tags.deserialize_json(data["tags"])
144
+ return out
@@ -0,0 +1,76 @@
1
+ """Generated from Smithy shape ``com.amazonaws.lambdaweb#CreateWebFunctionRevisionRequest``."""
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.build_config
11
+ import capo_lambda_web.types.description
12
+ import capo_lambda_web.types.function_name
13
+ import capo_lambda_web.types.kms_key_arn
14
+ import capo_lambda_web.types.service_config
15
+
16
+
17
+ class CreateWebFunctionRevisionRequest(TypedDict, closed=True):
18
+ function_name: "capo_lambda_web.types.function_name.FunctionName"
19
+ """<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>"""
20
+ description: NotRequired["capo_lambda_web.types.description.Description"]
21
+ """<p>A description of the revision.</p>"""
22
+ kms_key_arn: NotRequired["capo_lambda_web.types.kms_key_arn.KmsKeyArn"]
23
+ """<p>The Amazon Resource Name (ARN) of the AWS Key Management Service (AWS KMS) key used to encrypt the revision's code and environment variables.</p>"""
24
+ build_config: "capo_lambda_web.types.build_config.BuildConfig"
25
+ """<p>The build configuration for the revision, including code location and runtime settings.</p>"""
26
+ service_config: "capo_lambda_web.types.service_config.ServiceConfig"
27
+ """<p>The service configuration for the revision, including execution role, timeout, and concurrency settings.</p>"""
28
+
29
+
30
+ # --- restJson1 ser/de ---
31
+ def serialize_json(value: CreateWebFunctionRevisionRequest) -> dict:
32
+ out: dict = {}
33
+ if "description" in value:
34
+ out["description"] = value["description"]
35
+ if "kms_key_arn" in value:
36
+ out["kmsKeyArn"] = value["kms_key_arn"]
37
+ import capo_lambda_web.types.build_config
38
+
39
+ out["buildConfig"] = capo_lambda_web.types.build_config.serialize_json(
40
+ value["build_config"]
41
+ )
42
+ import capo_lambda_web.types.service_config
43
+
44
+ out["serviceConfig"] = capo_lambda_web.types.service_config.serialize_json(
45
+ value["service_config"]
46
+ )
47
+ return out
48
+
49
+
50
+ def deserialize_json(data: dict) -> CreateWebFunctionRevisionRequest:
51
+ out: CreateWebFunctionRevisionRequest = {} # type: ignore[typeddict-item]
52
+ if data.get("description") is not None:
53
+ out["description"] = data["description"]
54
+ if data.get("kmsKeyArn") is not None:
55
+ out["kms_key_arn"] = data["kmsKeyArn"]
56
+ if data.get("buildConfig") is not None:
57
+ import capo_lambda_web.types.build_config
58
+
59
+ out["build_config"] = capo_lambda_web.types.build_config.deserialize_json(
60
+ data["buildConfig"]
61
+ )
62
+ else:
63
+ raise DeserializationError(
64
+ "CreateWebFunctionRevisionRequest.build_config required"
65
+ )
66
+ if data.get("serviceConfig") is not None:
67
+ import capo_lambda_web.types.service_config
68
+
69
+ out["service_config"] = capo_lambda_web.types.service_config.deserialize_json(
70
+ data["serviceConfig"]
71
+ )
72
+ else:
73
+ raise DeserializationError(
74
+ "CreateWebFunctionRevisionRequest.service_config required"
75
+ )
76
+ return out
@@ -0,0 +1,157 @@
1
+ """Generated from Smithy shape ``com.amazonaws.lambdaweb#CreateWebFunctionRevisionResponse``."""
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.build_config
11
+ import capo_lambda_web.types.date_time
12
+ import capo_lambda_web.types.description
13
+ import capo_lambda_web.types.function_arn
14
+ import capo_lambda_web.types.kms_key_arn
15
+ import capo_lambda_web.types.revision_arn
16
+ import capo_lambda_web.types.revision_errors
17
+ import capo_lambda_web.types.revision_id
18
+ import capo_lambda_web.types.revision_state
19
+ import capo_lambda_web.types.service_config
20
+
21
+
22
+ class CreateWebFunctionRevisionResponse(TypedDict, closed=True):
23
+ function_arn: "capo_lambda_web.types.function_arn.FunctionArn"
24
+ """<p>The Amazon Resource Name (ARN) of the web function.</p>"""
25
+ revision_arn: "capo_lambda_web.types.revision_arn.RevisionArn"
26
+ """<p>The Amazon Resource Name (ARN) of the revision.</p>"""
27
+ revision_id: "capo_lambda_web.types.revision_id.RevisionId"
28
+ """<p>The identifier of the revision.</p>"""
29
+ description: NotRequired["capo_lambda_web.types.description.Description"]
30
+ """<p>The description of the revision.</p>"""
31
+ kms_key_arn: NotRequired["capo_lambda_web.types.kms_key_arn.KmsKeyArn"]
32
+ """<p>The Amazon Resource Name (ARN) of the AWS KMS key used to encrypt the revision's code and environment variables.</p>"""
33
+ build_config: "capo_lambda_web.types.build_config.BuildConfig"
34
+ service_config: "capo_lambda_web.types.service_config.ServiceConfig"
35
+ state: "capo_lambda_web.types.revision_state.RevisionState"
36
+ """<p>The current state of the revision.</p>"""
37
+ state_reason: "str"
38
+ """<p>The reason for the current state of the revision.</p>"""
39
+ errors: NotRequired["capo_lambda_web.types.revision_errors.RevisionErrors"]
40
+ """<p>A list of errors encountered during revision creation. This field is absent when the revision has no errors.</p>"""
41
+ created_at: "capo_lambda_web.types.date_time.DateTime"
42
+ """<p>The date and time the revision was created.</p>"""
43
+
44
+
45
+ # --- restJson1 ser/de ---
46
+ def serialize_json(value: CreateWebFunctionRevisionResponse) -> dict:
47
+ out: dict = {}
48
+ out["functionArn"] = value["function_arn"]
49
+ out["revisionArn"] = value["revision_arn"]
50
+ out["revisionId"] = value["revision_id"]
51
+ if "description" in value:
52
+ out["description"] = value["description"]
53
+ if "kms_key_arn" in value:
54
+ out["kmsKeyArn"] = value["kms_key_arn"]
55
+ import capo_lambda_web.types.build_config
56
+
57
+ out["buildConfig"] = capo_lambda_web.types.build_config.serialize_json(
58
+ value["build_config"]
59
+ )
60
+ import capo_lambda_web.types.service_config
61
+
62
+ out["serviceConfig"] = capo_lambda_web.types.service_config.serialize_json(
63
+ value["service_config"]
64
+ )
65
+ import capo_lambda_web.types.revision_state
66
+
67
+ out["state"] = capo_lambda_web.types.revision_state.serialize_json(value["state"])
68
+ out["stateReason"] = value["state_reason"]
69
+ if "errors" in value:
70
+ import capo_lambda_web.types.revision_errors
71
+
72
+ out["errors"] = capo_lambda_web.types.revision_errors.serialize_json(
73
+ value["errors"]
74
+ )
75
+ import capo_lambda_web.types.date_time
76
+
77
+ out["createdAt"] = capo_lambda_web.types.date_time.serialize_json(
78
+ value["created_at"]
79
+ )
80
+ return out
81
+
82
+
83
+ def deserialize_json(data: dict) -> CreateWebFunctionRevisionResponse:
84
+ out: CreateWebFunctionRevisionResponse = {} # type: ignore[typeddict-item]
85
+ if data.get("functionArn") is not None:
86
+ out["function_arn"] = data["functionArn"]
87
+ else:
88
+ raise DeserializationError(
89
+ "CreateWebFunctionRevisionResponse.function_arn required"
90
+ )
91
+ if data.get("revisionArn") is not None:
92
+ out["revision_arn"] = data["revisionArn"]
93
+ else:
94
+ raise DeserializationError(
95
+ "CreateWebFunctionRevisionResponse.revision_arn required"
96
+ )
97
+ if data.get("revisionId") is not None:
98
+ out["revision_id"] = data["revisionId"]
99
+ else:
100
+ raise DeserializationError(
101
+ "CreateWebFunctionRevisionResponse.revision_id required"
102
+ )
103
+ if data.get("description") is not None:
104
+ out["description"] = data["description"]
105
+ if data.get("kmsKeyArn") is not None:
106
+ out["kms_key_arn"] = data["kmsKeyArn"]
107
+ if data.get("buildConfig") is not None:
108
+ import capo_lambda_web.types.build_config
109
+
110
+ out["build_config"] = capo_lambda_web.types.build_config.deserialize_json(
111
+ data["buildConfig"]
112
+ )
113
+ else:
114
+ raise DeserializationError(
115
+ "CreateWebFunctionRevisionResponse.build_config required"
116
+ )
117
+ if data.get("serviceConfig") is not None:
118
+ import capo_lambda_web.types.service_config
119
+
120
+ out["service_config"] = capo_lambda_web.types.service_config.deserialize_json(
121
+ data["serviceConfig"]
122
+ )
123
+ else:
124
+ raise DeserializationError(
125
+ "CreateWebFunctionRevisionResponse.service_config required"
126
+ )
127
+ if data.get("state") is not None:
128
+ import capo_lambda_web.types.revision_state
129
+
130
+ out["state"] = capo_lambda_web.types.revision_state.deserialize_json(
131
+ data["state"]
132
+ )
133
+ else:
134
+ raise DeserializationError("CreateWebFunctionRevisionResponse.state required")
135
+ if data.get("stateReason") is not None:
136
+ out["state_reason"] = data["stateReason"]
137
+ else:
138
+ raise DeserializationError(
139
+ "CreateWebFunctionRevisionResponse.state_reason required"
140
+ )
141
+ if data.get("errors") is not None:
142
+ import capo_lambda_web.types.revision_errors
143
+
144
+ out["errors"] = capo_lambda_web.types.revision_errors.deserialize_json(
145
+ data["errors"]
146
+ )
147
+ if data.get("createdAt") is not None:
148
+ import capo_lambda_web.types.date_time
149
+
150
+ out["created_at"] = capo_lambda_web.types.date_time.deserialize_json(
151
+ data["createdAt"]
152
+ )
153
+ else:
154
+ raise DeserializationError(
155
+ "CreateWebFunctionRevisionResponse.created_at required"
156
+ )
157
+ return out
@@ -0,0 +1,20 @@
1
+ """Generated from Smithy shape ``com.amazonaws.lambdaweb#DateTime``."""
2
+
3
+ import datetime
4
+ from typing import TypeAlias
5
+
6
+ DateTime: TypeAlias = datetime.datetime
7
+
8
+
9
+ # --- restJson1 ser/de ---
10
+ def serialize_json(value: DateTime) -> str:
11
+ value = (
12
+ value.astimezone(datetime.timezone.utc)
13
+ if value.tzinfo
14
+ else value.replace(tzinfo=datetime.timezone.utc)
15
+ )
16
+ return value.isoformat().replace("+00:00", "Z")
17
+
18
+
19
+ def deserialize_json(data: str) -> DateTime:
20
+ return datetime.datetime.fromisoformat(data.replace("Z", "+00:00"))
@@ -0,0 +1,29 @@
1
+ """Generated from Smithy shape ``com.amazonaws.lambdaweb#DeleteResourcePolicyRequest``."""
2
+
3
+ from typing import TYPE_CHECKING
4
+
5
+ from typing_extensions import NotRequired, TypedDict
6
+
7
+ if TYPE_CHECKING:
8
+ import capo_lambda_web.types.policy_revision_id
9
+ import capo_lambda_web.types.resource_arn
10
+
11
+
12
+ class DeleteResourcePolicyRequest(TypedDict, closed=True):
13
+ resource_arn: "capo_lambda_web.types.resource_arn.ResourceArn"
14
+ """<p>The Amazon Resource Name (ARN) of the web function.</p>"""
15
+ revision_id: NotRequired[
16
+ "capo_lambda_web.types.policy_revision_id.PolicyRevisionId"
17
+ ]
18
+ """<p>The revision ID of the policy. Use this to prevent deleting a policy that has been updated since you last retrieved it. If you don't specify a value, the policy is deleted regardless of its current revision.</p>"""
19
+
20
+
21
+ # --- restJson1 ser/de ---
22
+ def serialize_json(value: DeleteResourcePolicyRequest) -> dict:
23
+ out: dict = {}
24
+ return out
25
+
26
+
27
+ def deserialize_json(data: dict) -> DeleteResourcePolicyRequest:
28
+ out: DeleteResourcePolicyRequest = {} # type: ignore[typeddict-item]
29
+ return out
@@ -0,0 +1,27 @@
1
+ """Generated from Smithy shape ``com.amazonaws.lambdaweb#DeleteWebFunctionEndpointRequest``."""
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 DeleteWebFunctionEndpointRequest(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 delete. 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: DeleteWebFunctionEndpointRequest) -> dict:
21
+ out: dict = {}
22
+ return out
23
+
24
+
25
+ def deserialize_json(data: dict) -> DeleteWebFunctionEndpointRequest:
26
+ out: DeleteWebFunctionEndpointRequest = {} # type: ignore[typeddict-item]
27
+ return out
@@ -0,0 +1,24 @@
1
+ """Generated from Smithy shape ``com.amazonaws.lambdaweb#DeleteWebFunctionRequest``."""
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 DeleteWebFunctionRequest(TypedDict, closed=True):
12
+ function_name: "capo_lambda_web.types.function_name.FunctionName"
13
+ """<p>The name of the web function to delete. 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: DeleteWebFunctionRequest) -> dict:
18
+ out: dict = {}
19
+ return out
20
+
21
+
22
+ def deserialize_json(data: dict) -> DeleteWebFunctionRequest:
23
+ out: DeleteWebFunctionRequest = {} # type: ignore[typeddict-item]
24
+ return out
@@ -0,0 +1,27 @@
1
+ """Generated from Smithy shape ``com.amazonaws.lambdaweb#DeleteWebFunctionRevisionRequest``."""
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
+ import capo_lambda_web.types.revision_id
10
+
11
+
12
+ class DeleteWebFunctionRevisionRequest(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
+ revision_id: "capo_lambda_web.types.revision_id.RevisionId"
16
+ """<p>The identifier of the revision to delete. You can specify the revision identifier or the revision ARN. The length constraint applies only to the full ARN.</p>"""
17
+
18
+
19
+ # --- restJson1 ser/de ---
20
+ def serialize_json(value: DeleteWebFunctionRevisionRequest) -> dict:
21
+ out: dict = {}
22
+ return out
23
+
24
+
25
+ def deserialize_json(data: dict) -> DeleteWebFunctionRevisionRequest:
26
+ out: DeleteWebFunctionRevisionRequest = {} # type: ignore[typeddict-item]
27
+ return out
@@ -0,0 +1,5 @@
1
+ """Generated from Smithy shape ``com.amazonaws.lambdaweb#Description``."""
2
+
3
+ from typing import TypeAlias
4
+
5
+ Description: TypeAlias = str
@@ -0,0 +1,5 @@
1
+ """Generated from Smithy shape ``com.amazonaws.lambdaweb#DomainName``."""
2
+
3
+ from typing import TypeAlias
4
+
5
+ DomainName: TypeAlias = str
@@ -0,0 +1,5 @@
1
+ """Generated from Smithy shape ``com.amazonaws.lambdaweb#EndpointArn``."""
2
+
3
+ from typing import TypeAlias
4
+
5
+ EndpointArn: TypeAlias = str
@@ -0,0 +1,134 @@
1
+ """Generated from Smithy shape ``com.amazonaws.lambdaweb#EndpointConfig``."""
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.description
13
+ import capo_lambda_web.types.endpoint_name
14
+ import capo_lambda_web.types.endpoint_type
15
+ import capo_lambda_web.types.region_list
16
+ import capo_lambda_web.types.scaling_config
17
+ import capo_lambda_web.types.throttle_config
18
+
19
+
20
+ class EndpointConfig(TypedDict, closed=True):
21
+ endpoint_name: "capo_lambda_web.types.endpoint_name.EndpointName"
22
+ """<p>The name of the endpoint. The name can contain letters, numbers, hyphens (-), and underscores (_), and can't begin or end with a hyphen or an underscore. 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>"""
23
+ description: NotRequired["capo_lambda_web.types.description.Description"]
24
+ """<p>A description of the endpoint.</p>"""
25
+ endpoint_type: "capo_lambda_web.types.endpoint_type.EndpointType"
26
+ """<p>The type of endpoint. Determines how traffic is served and routed across Regions.</p>"""
27
+ auth_type: "capo_lambda_web.types.auth_type.AuthType"
28
+ """<p>The authorization type for the endpoint.</p>"""
29
+ auto_deployment_mode: NotRequired[
30
+ "capo_lambda_web.types.auto_deployment_mode.AutoDeploymentMode"
31
+ ]
32
+ """<p>The auto-deployment mode for the endpoint. If you don't specify a value, the default is <code>Disabled</code>, and this default is returned in the response.</p>"""
33
+ regions: NotRequired["capo_lambda_web.types.region_list.RegionList"]
34
+ """<p>The list of Regions for the endpoint. Required when the endpoint type is <code>MultiRegion</code> or <code>PerRegion</code>: specify at least one Region other than the Region where you create the endpoint (the home Region). The home Region is added automatically if you don't include it; specifying only the home Region isn't allowed. When the endpoint type is <code>HomeRegion</code>, omit this field or specify only the home Region.</p>"""
35
+ scaling_config: NotRequired["capo_lambda_web.types.scaling_config.ScalingConfig"]
36
+ """<p>The scaling configuration for the endpoint.</p>"""
37
+ throttle_config: NotRequired["capo_lambda_web.types.throttle_config.ThrottleConfig"]
38
+ """<p>The throttling configuration for the endpoint.</p>"""
39
+
40
+
41
+ # --- restJson1 ser/de ---
42
+ def serialize_json(value: EndpointConfig) -> dict:
43
+ out: dict = {}
44
+ out["endpointName"] = value["endpoint_name"]
45
+ if "description" in value:
46
+ out["description"] = value["description"]
47
+ import capo_lambda_web.types.endpoint_type
48
+
49
+ out["endpointType"] = capo_lambda_web.types.endpoint_type.serialize_json(
50
+ value["endpoint_type"]
51
+ )
52
+ import capo_lambda_web.types.auth_type
53
+
54
+ out["authType"] = capo_lambda_web.types.auth_type.serialize_json(value["auth_type"])
55
+ if "auto_deployment_mode" in value:
56
+ import capo_lambda_web.types.auto_deployment_mode
57
+
58
+ out["autoDeploymentMode"] = (
59
+ capo_lambda_web.types.auto_deployment_mode.serialize_json(
60
+ value["auto_deployment_mode"]
61
+ )
62
+ )
63
+ if "regions" in value:
64
+ import capo_lambda_web.types.region_list
65
+
66
+ out["regions"] = capo_lambda_web.types.region_list.serialize_json(
67
+ value["regions"]
68
+ )
69
+ if "scaling_config" in value:
70
+ import capo_lambda_web.types.scaling_config
71
+
72
+ out["scalingConfig"] = capo_lambda_web.types.scaling_config.serialize_json(
73
+ value["scaling_config"]
74
+ )
75
+ if "throttle_config" in value:
76
+ import capo_lambda_web.types.throttle_config
77
+
78
+ out["throttleConfig"] = capo_lambda_web.types.throttle_config.serialize_json(
79
+ value["throttle_config"]
80
+ )
81
+ return out
82
+
83
+
84
+ def deserialize_json(data: dict) -> EndpointConfig:
85
+ out: EndpointConfig = {} # type: ignore[typeddict-item]
86
+ if data.get("endpointName") is not None:
87
+ out["endpoint_name"] = data["endpointName"]
88
+ else:
89
+ raise DeserializationError("EndpointConfig.endpoint_name required")
90
+ if data.get("description") is not None:
91
+ out["description"] = data["description"]
92
+ if data.get("endpointType") is not None:
93
+ import capo_lambda_web.types.endpoint_type
94
+
95
+ out["endpoint_type"] = capo_lambda_web.types.endpoint_type.deserialize_json(
96
+ data["endpointType"]
97
+ )
98
+ else:
99
+ raise DeserializationError("EndpointConfig.endpoint_type required")
100
+ if data.get("authType") is not None:
101
+ import capo_lambda_web.types.auth_type
102
+
103
+ out["auth_type"] = capo_lambda_web.types.auth_type.deserialize_json(
104
+ data["authType"]
105
+ )
106
+ else:
107
+ raise DeserializationError("EndpointConfig.auth_type required")
108
+ if data.get("autoDeploymentMode") is not None:
109
+ import capo_lambda_web.types.auto_deployment_mode
110
+
111
+ out["auto_deployment_mode"] = (
112
+ capo_lambda_web.types.auto_deployment_mode.deserialize_json(
113
+ data["autoDeploymentMode"]
114
+ )
115
+ )
116
+ if data.get("regions") is not None:
117
+ import capo_lambda_web.types.region_list
118
+
119
+ out["regions"] = capo_lambda_web.types.region_list.deserialize_json(
120
+ data["regions"]
121
+ )
122
+ if data.get("scalingConfig") is not None:
123
+ import capo_lambda_web.types.scaling_config
124
+
125
+ out["scaling_config"] = capo_lambda_web.types.scaling_config.deserialize_json(
126
+ data["scalingConfig"]
127
+ )
128
+ if data.get("throttleConfig") is not None:
129
+ import capo_lambda_web.types.throttle_config
130
+
131
+ out["throttle_config"] = capo_lambda_web.types.throttle_config.deserialize_json(
132
+ data["throttleConfig"]
133
+ )
134
+ return out
@@ -0,0 +1,5 @@
1
+ """Generated from Smithy shape ``com.amazonaws.lambdaweb#EndpointName``."""
2
+
3
+ from typing import TypeAlias
4
+
5
+ EndpointName: TypeAlias = str