superposition-sdk 0.91.2__py3-none-any.whl → 0.93.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.

Potentially problematic release.


This version of superposition-sdk might be problematic. Click here for more details.

@@ -88,6 +88,9 @@ from ._private.schemas import (
88
88
  DELETE_TYPE_TEMPLATES as _SCHEMA_DELETE_TYPE_TEMPLATES,
89
89
  DELETE_TYPE_TEMPLATES_INPUT as _SCHEMA_DELETE_TYPE_TEMPLATES_INPUT,
90
90
  DELETE_TYPE_TEMPLATES_OUTPUT as _SCHEMA_DELETE_TYPE_TEMPLATES_OUTPUT,
91
+ DELETE_WEBHOOK as _SCHEMA_DELETE_WEBHOOK,
92
+ DELETE_WEBHOOK_INPUT as _SCHEMA_DELETE_WEBHOOK_INPUT,
93
+ DELETE_WEBHOOK_OUTPUT as _SCHEMA_DELETE_WEBHOOK_OUTPUT,
91
94
  DIMENSION_EXT as _SCHEMA_DIMENSION_EXT,
92
95
  DIMENSION_INFO as _SCHEMA_DIMENSION_INFO,
93
96
  DIMENSION_TYPE as _SCHEMA_DIMENSION_TYPE,
@@ -97,7 +100,6 @@ from ._private.schemas import (
97
100
  EXPERIMENT_GROUP_RESPONSE as _SCHEMA_EXPERIMENT_GROUP_RESPONSE,
98
101
  EXPERIMENT_RESPONSE as _SCHEMA_EXPERIMENT_RESPONSE,
99
102
  FUNCTION_EXECUTION_REQUEST as _SCHEMA_FUNCTION_EXECUTION_REQUEST,
100
- FUNCTION_NOT_FOUND as _SCHEMA_FUNCTION_NOT_FOUND,
101
103
  FUNCTION_RESPONSE as _SCHEMA_FUNCTION_RESPONSE,
102
104
  GET_CONFIG as _SCHEMA_GET_CONFIG,
103
105
  GET_CONFIG_FAST as _SCHEMA_GET_CONFIG_FAST,
@@ -111,6 +113,9 @@ from ._private.schemas import (
111
113
  GET_CONTEXT_FROM_CONDITION_OUTPUT as _SCHEMA_GET_CONTEXT_FROM_CONDITION_OUTPUT,
112
114
  GET_CONTEXT_INPUT as _SCHEMA_GET_CONTEXT_INPUT,
113
115
  GET_CONTEXT_OUTPUT as _SCHEMA_GET_CONTEXT_OUTPUT,
116
+ GET_DEFAULT_CONFIG as _SCHEMA_GET_DEFAULT_CONFIG,
117
+ GET_DEFAULT_CONFIG_INPUT as _SCHEMA_GET_DEFAULT_CONFIG_INPUT,
118
+ GET_DEFAULT_CONFIG_OUTPUT as _SCHEMA_GET_DEFAULT_CONFIG_OUTPUT,
114
119
  GET_DIMENSION as _SCHEMA_GET_DIMENSION,
115
120
  GET_DIMENSION_INPUT as _SCHEMA_GET_DIMENSION_INPUT,
116
121
  GET_DIMENSION_OUTPUT as _SCHEMA_GET_DIMENSION_OUTPUT,
@@ -129,12 +134,24 @@ from ._private.schemas import (
129
134
  GET_RESOLVED_CONFIG as _SCHEMA_GET_RESOLVED_CONFIG,
130
135
  GET_RESOLVED_CONFIG_INPUT as _SCHEMA_GET_RESOLVED_CONFIG_INPUT,
131
136
  GET_RESOLVED_CONFIG_OUTPUT as _SCHEMA_GET_RESOLVED_CONFIG_OUTPUT,
137
+ GET_TYPE_TEMPLATE as _SCHEMA_GET_TYPE_TEMPLATE,
132
138
  GET_TYPE_TEMPLATES_LIST as _SCHEMA_GET_TYPE_TEMPLATES_LIST,
133
139
  GET_TYPE_TEMPLATES_LIST_INPUT as _SCHEMA_GET_TYPE_TEMPLATES_LIST_INPUT,
134
140
  GET_TYPE_TEMPLATES_LIST_OUTPUT as _SCHEMA_GET_TYPE_TEMPLATES_LIST_OUTPUT,
141
+ GET_TYPE_TEMPLATE_INPUT as _SCHEMA_GET_TYPE_TEMPLATE_INPUT,
142
+ GET_TYPE_TEMPLATE_OUTPUT as _SCHEMA_GET_TYPE_TEMPLATE_OUTPUT,
143
+ GET_VERSION as _SCHEMA_GET_VERSION,
144
+ GET_VERSION_INPUT as _SCHEMA_GET_VERSION_INPUT,
145
+ GET_VERSION_OUTPUT as _SCHEMA_GET_VERSION_OUTPUT,
135
146
  GET_WEBHOOK as _SCHEMA_GET_WEBHOOK,
147
+ GET_WEBHOOK_BY_EVENT as _SCHEMA_GET_WEBHOOK_BY_EVENT,
148
+ GET_WEBHOOK_BY_EVENT_INPUT as _SCHEMA_GET_WEBHOOK_BY_EVENT_INPUT,
149
+ GET_WEBHOOK_BY_EVENT_OUTPUT as _SCHEMA_GET_WEBHOOK_BY_EVENT_OUTPUT,
136
150
  GET_WEBHOOK_INPUT as _SCHEMA_GET_WEBHOOK_INPUT,
137
151
  GET_WEBHOOK_OUTPUT as _SCHEMA_GET_WEBHOOK_OUTPUT,
152
+ GET_WORKSPACE as _SCHEMA_GET_WORKSPACE,
153
+ GET_WORKSPACE_INPUT as _SCHEMA_GET_WORKSPACE_INPUT,
154
+ GET_WORKSPACE_OUTPUT as _SCHEMA_GET_WORKSPACE_OUTPUT,
138
155
  INTERNAL_SERVER_ERROR as _SCHEMA_INTERNAL_SERVER_ERROR,
139
156
  LIST_AUDIT_LOGS as _SCHEMA_LIST_AUDIT_LOGS,
140
157
  LIST_AUDIT_LOGS_INPUT as _SCHEMA_LIST_AUDIT_LOGS_INPUT,
@@ -176,7 +193,6 @@ from ._private.schemas import (
176
193
  MOVE_CONTEXT as _SCHEMA_MOVE_CONTEXT,
177
194
  MOVE_CONTEXT_INPUT as _SCHEMA_MOVE_CONTEXT_INPUT,
178
195
  MOVE_CONTEXT_OUTPUT as _SCHEMA_MOVE_CONTEXT_OUTPUT,
179
- ORGANISATION_NOT_FOUND as _SCHEMA_ORGANISATION_NOT_FOUND,
180
196
  ORGANISATION_RESPONSE as _SCHEMA_ORGANISATION_RESPONSE,
181
197
  PAUSE_EXPERIMENT as _SCHEMA_PAUSE_EXPERIMENT,
182
198
  PAUSE_EXPERIMENT_INPUT as _SCHEMA_PAUSE_EXPERIMENT_INPUT,
@@ -197,7 +213,6 @@ from ._private.schemas import (
197
213
  TEST as _SCHEMA_TEST,
198
214
  TEST_INPUT as _SCHEMA_TEST_INPUT,
199
215
  TEST_OUTPUT as _SCHEMA_TEST_OUTPUT,
200
- TYPE_TEMPLATES_NOT_FOUND as _SCHEMA_TYPE_TEMPLATES_NOT_FOUND,
201
216
  TYPE_TEMPLATES_RESPONSE as _SCHEMA_TYPE_TEMPLATES_RESPONSE,
202
217
  UPDATE_CONTEXT_OVERRIDE_REQUEST as _SCHEMA_UPDATE_CONTEXT_OVERRIDE_REQUEST,
203
218
  UPDATE_DEFAULT_CONFIG as _SCHEMA_UPDATE_DEFAULT_CONFIG,
@@ -230,16 +245,17 @@ from ._private.schemas import (
230
245
  UPDATE_WORKSPACE as _SCHEMA_UPDATE_WORKSPACE,
231
246
  UPDATE_WORKSPACE_INPUT as _SCHEMA_UPDATE_WORKSPACE_INPUT,
232
247
  UPDATE_WORKSPACE_OUTPUT as _SCHEMA_UPDATE_WORKSPACE_OUTPUT,
248
+ VALIDATE_CONTEXT as _SCHEMA_VALIDATE_CONTEXT,
249
+ VALIDATE_CONTEXT_INPUT as _SCHEMA_VALIDATE_CONTEXT_INPUT,
250
+ VALIDATE_CONTEXT_OUTPUT as _SCHEMA_VALIDATE_CONTEXT_OUTPUT,
233
251
  VALIDATE_FUNCTION_REQUEST as _SCHEMA_VALIDATE_FUNCTION_REQUEST,
234
252
  VARIANT as _SCHEMA_VARIANT,
235
253
  VARIANT_UPDATE_REQUEST as _SCHEMA_VARIANT_UPDATE_REQUEST,
236
- WEBHOOK_NOT_FOUND as _SCHEMA_WEBHOOK_NOT_FOUND,
237
254
  WEBHOOK_RESPONSE as _SCHEMA_WEBHOOK_RESPONSE,
238
255
  WEIGHT_RECOMPUTE as _SCHEMA_WEIGHT_RECOMPUTE,
239
256
  WEIGHT_RECOMPUTE_INPUT as _SCHEMA_WEIGHT_RECOMPUTE_INPUT,
240
257
  WEIGHT_RECOMPUTE_OUTPUT as _SCHEMA_WEIGHT_RECOMPUTE_OUTPUT,
241
258
  WEIGHT_RECOMPUTE_RESPONSE as _SCHEMA_WEIGHT_RECOMPUTE_RESPONSE,
242
- WORKSPACE_NOT_FOUND as _SCHEMA_WORKSPACE_NOT_FOUND,
243
259
  WORKSPACE_RESPONSE as _SCHEMA_WORKSPACE_RESPONSE,
244
260
  )
245
261
 
@@ -300,7 +316,7 @@ class AddMembersToGroupInput:
300
316
  """
301
317
 
302
318
  workspace_id: str | None = None
303
- org_id: str = "juspay"
319
+ org_id: str | None = None
304
320
  id: str | None = None
305
321
  change_reason: str | None = None
306
322
  member_experiment_ids: list[str] | None = None
@@ -632,7 +648,7 @@ class ApplicableVariantsInput:
632
648
  """
633
649
 
634
650
  workspace_id: str | None = None
635
- org_id: str = "juspay"
651
+ org_id: str | None = None
636
652
  context: dict[str, Document] | None = None
637
653
  identifier: str | None = None
638
654
 
@@ -796,28 +812,75 @@ APPLICABLE_VARIANTS = APIOperation(
796
812
  ]
797
813
  )
798
814
 
815
+ class AuditAction(StrEnum):
816
+ INSERT = "INSERT"
817
+ UPDATE = "UPDATE"
818
+ DELETE = "DELETE"
819
+
820
+ def _serialize_audit_action_list(serializer: ShapeSerializer, schema: Schema, value: list[str]) -> None:
821
+ member_schema = schema.members["member"]
822
+ with serializer.begin_list(schema, len(value)) as ls:
823
+ for e in value:
824
+ ls.write_string(member_schema, e)
825
+
826
+ def _deserialize_audit_action_list(deserializer: ShapeDeserializer, schema: Schema) -> list[str]:
827
+ result: list[str] = []
828
+ member_schema = schema.members["member"]
829
+ def _read_value(d: ShapeDeserializer):
830
+ if d.is_null():
831
+ d.read_null()
832
+
833
+ else:
834
+ result.append(d.read_string(member_schema))
835
+ deserializer.read_list(schema, _read_value)
836
+ return result
837
+
838
+ class SortBy(StrEnum):
839
+ """
840
+ Sort order enumeration for list operations.
841
+
842
+ """
843
+ DESC = "desc"
844
+ """
845
+ Descending order (Z-A, newest first)
846
+
847
+ """
848
+ ASC = "asc"
849
+ """
850
+ Ascending order (A-Z, oldest first)
851
+
852
+ """
853
+
799
854
  @dataclass(kw_only=True)
800
855
  class ListAuditLogsInput:
801
856
  """
802
857
 
803
- :param tables:
804
- Comma serparated list of tables.
858
+ :param count:
859
+ Number of items to be returned in each page.
860
+
861
+ :param page:
862
+ Page number to retrieve, starting from 1.
863
+
864
+ :param all:
865
+ If true, returns all requested items, ignoring pagination parameters page and
866
+ count.
805
867
 
806
- :param action:
807
- Comma serparated list of actions.
868
+ :param sort_by:
869
+ Sort order enumeration for list operations.
808
870
 
809
871
  """
810
872
 
811
873
  workspace_id: str | None = None
812
- org_id: str = "juspay"
874
+ org_id: str | None = None
813
875
  count: int | None = None
814
876
  page: int | None = None
815
877
  all: bool | None = None
816
878
  from_date: datetime | None = None
817
879
  to_date: datetime | None = None
818
- tables: str | None = None
819
- action: str | None = None
880
+ tables: list[str] | None = None
881
+ action: list[str] | None = None
820
882
  username: str | None = None
883
+ sort_by: str | None = None
821
884
 
822
885
  def serialize(self, serializer: ShapeSerializer):
823
886
  serializer.write_struct(_SCHEMA_LIST_AUDIT_LOGS_INPUT, self)
@@ -857,14 +920,17 @@ class ListAuditLogsInput:
857
920
  kwargs["to_date"] = de.read_timestamp(_SCHEMA_LIST_AUDIT_LOGS_INPUT.members["to_date"])
858
921
 
859
922
  case 7:
860
- kwargs["tables"] = de.read_string(_SCHEMA_LIST_AUDIT_LOGS_INPUT.members["tables"])
923
+ kwargs["tables"] = _deserialize_string_list(de, _SCHEMA_LIST_AUDIT_LOGS_INPUT.members["tables"])
861
924
 
862
925
  case 8:
863
- kwargs["action"] = de.read_string(_SCHEMA_LIST_AUDIT_LOGS_INPUT.members["action"])
926
+ kwargs["action"] = _deserialize_audit_action_list(de, _SCHEMA_LIST_AUDIT_LOGS_INPUT.members["action"])
864
927
 
865
928
  case 9:
866
929
  kwargs["username"] = de.read_string(_SCHEMA_LIST_AUDIT_LOGS_INPUT.members["username"])
867
930
 
931
+ case 10:
932
+ kwargs["sort_by"] = de.read_string(_SCHEMA_LIST_AUDIT_LOGS_INPUT.members["sort_by"])
933
+
868
934
  case _:
869
935
  logger.debug("Unexpected member schema: %s", schema)
870
936
 
@@ -1518,7 +1584,7 @@ class BulkOperationReq:
1518
1584
  class BulkOperationInput:
1519
1585
 
1520
1586
  workspace_id: str | None = None
1521
- org_id: str = "juspay"
1587
+ org_id: str | None = None
1522
1588
  config_tags: str | None = None
1523
1589
  bulk_operation: BulkOperationReq | None = None
1524
1590
 
@@ -1875,6 +1941,7 @@ BULK_OPERATION = APIOperation(
1875
1941
  output_schema = _SCHEMA_BULK_OPERATION_OUTPUT,
1876
1942
  error_registry = TypeRegistry({
1877
1943
  ShapeID("io.superposition#InternalServerError"): InternalServerError,
1944
+ ShapeID("io.superposition#ResourceNotFound"): ResourceNotFound,
1878
1945
  }),
1879
1946
  effective_auth_schemes = [
1880
1947
  ShapeID("smithy.api#httpBearerAuth")
@@ -1885,7 +1952,7 @@ BULK_OPERATION = APIOperation(
1885
1952
  class ConcludeExperimentInput:
1886
1953
 
1887
1954
  workspace_id: str | None = None
1888
- org_id: str = "juspay"
1955
+ org_id: str | None = None
1889
1956
  id: str | None = None
1890
1957
  chosen_variant: str | None = None
1891
1958
  description: str | None = None
@@ -2131,7 +2198,8 @@ CONCLUDE_EXPERIMENT = APIOperation(
2131
2198
  input_schema = _SCHEMA_CONCLUDE_EXPERIMENT_INPUT,
2132
2199
  output_schema = _SCHEMA_CONCLUDE_EXPERIMENT_OUTPUT,
2133
2200
  error_registry = TypeRegistry({
2134
- ShapeID("io.superposition#InternalServerError"): InternalServerError,
2201
+ ShapeID("io.superposition#ResourceNotFound"): ResourceNotFound,
2202
+ ShapeID("io.superposition#InternalServerError"): InternalServerError,
2135
2203
  }),
2136
2204
  effective_auth_schemes = [
2137
2205
  ShapeID("smithy.api#httpBearerAuth")
@@ -2166,8 +2234,8 @@ class GetConfigInput:
2166
2234
  """
2167
2235
 
2168
2236
  workspace_id: str | None = None
2169
- org_id: str = "juspay"
2170
- prefix: str | None = None
2237
+ org_id: str | None = None
2238
+ prefix: list[str] | None = None
2171
2239
  version: str | None = None
2172
2240
  context: dict[str, Document] | None = None
2173
2241
 
@@ -2195,7 +2263,7 @@ class GetConfigInput:
2195
2263
  kwargs["org_id"] = de.read_string(_SCHEMA_GET_CONFIG_INPUT.members["org_id"])
2196
2264
 
2197
2265
  case 2:
2198
- kwargs["prefix"] = de.read_string(_SCHEMA_GET_CONFIG_INPUT.members["prefix"])
2266
+ kwargs["prefix"] = _deserialize_string_list(de, _SCHEMA_GET_CONFIG_INPUT.members["prefix"])
2199
2267
 
2200
2268
  case 3:
2201
2269
  kwargs["version"] = de.read_string(_SCHEMA_GET_CONFIG_INPUT.members["version"])
@@ -2656,7 +2724,7 @@ GET_CONFIG = APIOperation(
2656
2724
  class GetConfigFastInput:
2657
2725
 
2658
2726
  workspace_id: str | None = None
2659
- org_id: str = "juspay"
2727
+ org_id: str | None = None
2660
2728
 
2661
2729
  def serialize(self, serializer: ShapeSerializer):
2662
2730
  serializer.write_struct(_SCHEMA_GET_CONFIG_FAST_INPUT, self)
@@ -2756,8 +2824,8 @@ class GetResolvedConfigInput:
2756
2824
  """
2757
2825
 
2758
2826
  workspace_id: str | None = None
2759
- org_id: str = "juspay"
2760
- prefix: str | None = None
2827
+ org_id: str | None = None
2828
+ prefix: list[str] | None = None
2761
2829
  version: str | None = None
2762
2830
  show_reasoning: bool | None = None
2763
2831
  merge_strategy: str | None = None
@@ -2788,7 +2856,7 @@ class GetResolvedConfigInput:
2788
2856
  kwargs["org_id"] = de.read_string(_SCHEMA_GET_RESOLVED_CONFIG_INPUT.members["org_id"])
2789
2857
 
2790
2858
  case 2:
2791
- kwargs["prefix"] = de.read_string(_SCHEMA_GET_RESOLVED_CONFIG_INPUT.members["prefix"])
2859
+ kwargs["prefix"] = _deserialize_string_list(de, _SCHEMA_GET_RESOLVED_CONFIG_INPUT.members["prefix"])
2792
2860
 
2793
2861
  case 3:
2794
2862
  kwargs["version"] = de.read_string(_SCHEMA_GET_RESOLVED_CONFIG_INPUT.members["version"])
@@ -2867,11 +2935,134 @@ GET_RESOLVED_CONFIG = APIOperation(
2867
2935
  ]
2868
2936
  )
2869
2937
 
2938
+ @dataclass(kw_only=True)
2939
+ class GetVersionInput:
2940
+
2941
+ workspace_id: str | None = None
2942
+ org_id: str | None = None
2943
+ id: str | None = None
2944
+
2945
+ def serialize(self, serializer: ShapeSerializer):
2946
+ serializer.write_struct(_SCHEMA_GET_VERSION_INPUT, self)
2947
+
2948
+ def serialize_members(self, serializer: ShapeSerializer):
2949
+ pass
2950
+
2951
+ @classmethod
2952
+ def deserialize(cls, deserializer: ShapeDeserializer) -> Self:
2953
+ return cls(**cls.deserialize_kwargs(deserializer))
2954
+
2955
+ @classmethod
2956
+ def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]:
2957
+ kwargs: dict[str, Any] = {}
2958
+
2959
+ def _consumer(schema: Schema, de: ShapeDeserializer) -> None:
2960
+ match schema.expect_member_index():
2961
+ case 0:
2962
+ kwargs["workspace_id"] = de.read_string(_SCHEMA_GET_VERSION_INPUT.members["workspace_id"])
2963
+
2964
+ case 1:
2965
+ kwargs["org_id"] = de.read_string(_SCHEMA_GET_VERSION_INPUT.members["org_id"])
2966
+
2967
+ case 2:
2968
+ kwargs["id"] = de.read_string(_SCHEMA_GET_VERSION_INPUT.members["id"])
2969
+
2970
+ case _:
2971
+ logger.debug("Unexpected member schema: %s", schema)
2972
+
2973
+ deserializer.read_struct(_SCHEMA_GET_VERSION_INPUT, consumer=_consumer)
2974
+ return kwargs
2975
+
2976
+ @dataclass(kw_only=True)
2977
+ class GetVersionOutput:
2978
+
2979
+ id: str
2980
+
2981
+ config: Document
2982
+
2983
+ config_hash: str
2984
+
2985
+ created_at: datetime
2986
+
2987
+ description: str
2988
+
2989
+ tags: list[str] | None = None
2990
+
2991
+ def serialize(self, serializer: ShapeSerializer):
2992
+ serializer.write_struct(_SCHEMA_GET_VERSION_OUTPUT, self)
2993
+
2994
+ def serialize_members(self, serializer: ShapeSerializer):
2995
+ serializer.write_string(_SCHEMA_GET_VERSION_OUTPUT.members["id"], self.id)
2996
+ serializer.write_document(_SCHEMA_GET_VERSION_OUTPUT.members["config"], self.config)
2997
+ serializer.write_string(_SCHEMA_GET_VERSION_OUTPUT.members["config_hash"], self.config_hash)
2998
+ serializer.write_timestamp(_SCHEMA_GET_VERSION_OUTPUT.members["created_at"], self.created_at)
2999
+ serializer.write_string(_SCHEMA_GET_VERSION_OUTPUT.members["description"], self.description)
3000
+ if self.tags is not None:
3001
+ _serialize_string_list(serializer, _SCHEMA_GET_VERSION_OUTPUT.members["tags"], self.tags)
3002
+
3003
+ @classmethod
3004
+ def deserialize(cls, deserializer: ShapeDeserializer) -> Self:
3005
+ return cls(**cls.deserialize_kwargs(deserializer))
3006
+
3007
+ @classmethod
3008
+ def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]:
3009
+ kwargs: dict[str, Any] = {}
3010
+
3011
+ def _consumer(schema: Schema, de: ShapeDeserializer) -> None:
3012
+ match schema.expect_member_index():
3013
+ case 0:
3014
+ kwargs["id"] = de.read_string(_SCHEMA_GET_VERSION_OUTPUT.members["id"])
3015
+
3016
+ case 1:
3017
+ kwargs["config"] = de.read_document(_SCHEMA_GET_VERSION_OUTPUT.members["config"])
3018
+
3019
+ case 2:
3020
+ kwargs["config_hash"] = de.read_string(_SCHEMA_GET_VERSION_OUTPUT.members["config_hash"])
3021
+
3022
+ case 3:
3023
+ kwargs["created_at"] = de.read_timestamp(_SCHEMA_GET_VERSION_OUTPUT.members["created_at"])
3024
+
3025
+ case 4:
3026
+ kwargs["description"] = de.read_string(_SCHEMA_GET_VERSION_OUTPUT.members["description"])
3027
+
3028
+ case 5:
3029
+ kwargs["tags"] = _deserialize_string_list(de, _SCHEMA_GET_VERSION_OUTPUT.members["tags"])
3030
+
3031
+ case _:
3032
+ logger.debug("Unexpected member schema: %s", schema)
3033
+
3034
+ deserializer.read_struct(_SCHEMA_GET_VERSION_OUTPUT, consumer=_consumer)
3035
+ return kwargs
3036
+
3037
+ GET_VERSION = APIOperation(
3038
+ input = GetVersionInput,
3039
+ output = GetVersionOutput,
3040
+ schema = _SCHEMA_GET_VERSION,
3041
+ input_schema = _SCHEMA_GET_VERSION_INPUT,
3042
+ output_schema = _SCHEMA_GET_VERSION_OUTPUT,
3043
+ error_registry = TypeRegistry({
3044
+ ShapeID("io.superposition#ResourceNotFound"): ResourceNotFound,
3045
+ ShapeID("io.superposition#InternalServerError"): InternalServerError,
3046
+ }),
3047
+ effective_auth_schemes = [
3048
+ ShapeID("smithy.api#httpBearerAuth")
3049
+ ]
3050
+ )
3051
+
2870
3052
  @dataclass(kw_only=True)
2871
3053
  class ListVersionsInput:
3054
+ """
3055
+
3056
+ :param count:
3057
+ Number of items to be returned in each page.
3058
+
3059
+ :param page:
3060
+ Page number to retrieve, starting from 1.
3061
+
3062
+ """
2872
3063
 
2873
3064
  workspace_id: str | None = None
2874
- org_id: str = "juspay"
3065
+ org_id: str | None = None
2875
3066
  count: int | None = None
2876
3067
  page: int | None = None
2877
3068
 
@@ -2916,8 +3107,6 @@ class ListVersionsMember:
2916
3107
 
2917
3108
  config: Document
2918
3109
 
2919
- config_hash: str
2920
-
2921
3110
  created_at: datetime
2922
3111
 
2923
3112
  description: str
@@ -2930,7 +3119,6 @@ class ListVersionsMember:
2930
3119
  def serialize_members(self, serializer: ShapeSerializer):
2931
3120
  serializer.write_string(_SCHEMA_LIST_VERSIONS_MEMBER.members["id"], self.id)
2932
3121
  serializer.write_document(_SCHEMA_LIST_VERSIONS_MEMBER.members["config"], self.config)
2933
- serializer.write_string(_SCHEMA_LIST_VERSIONS_MEMBER.members["config_hash"], self.config_hash)
2934
3122
  serializer.write_timestamp(_SCHEMA_LIST_VERSIONS_MEMBER.members["created_at"], self.created_at)
2935
3123
  serializer.write_string(_SCHEMA_LIST_VERSIONS_MEMBER.members["description"], self.description)
2936
3124
  if self.tags is not None:
@@ -2953,15 +3141,12 @@ class ListVersionsMember:
2953
3141
  kwargs["config"] = de.read_document(_SCHEMA_LIST_VERSIONS_MEMBER.members["config"])
2954
3142
 
2955
3143
  case 2:
2956
- kwargs["config_hash"] = de.read_string(_SCHEMA_LIST_VERSIONS_MEMBER.members["config_hash"])
2957
-
2958
- case 3:
2959
3144
  kwargs["created_at"] = de.read_timestamp(_SCHEMA_LIST_VERSIONS_MEMBER.members["created_at"])
2960
3145
 
2961
- case 4:
3146
+ case 3:
2962
3147
  kwargs["description"] = de.read_string(_SCHEMA_LIST_VERSIONS_MEMBER.members["description"])
2963
3148
 
2964
- case 5:
3149
+ case 4:
2965
3150
  kwargs["tags"] = _deserialize_string_list(de, _SCHEMA_LIST_VERSIONS_MEMBER.members["tags"])
2966
3151
 
2967
3152
  case _:
@@ -2990,19 +3175,22 @@ def _deserialize_list_versions_out(deserializer: ShapeDeserializer, schema: Sche
2990
3175
  @dataclass(kw_only=True)
2991
3176
  class ListVersionsOutput:
2992
3177
 
2993
- total_pages: int
2994
-
2995
- total_items: int
2996
-
2997
- data: list[ListVersionsMember]
3178
+ total_pages: int | None = None
3179
+ total_items: int | None = None
3180
+ data: list[ListVersionsMember] | None = None
2998
3181
 
2999
3182
  def serialize(self, serializer: ShapeSerializer):
3000
3183
  serializer.write_struct(_SCHEMA_LIST_VERSIONS_OUTPUT, self)
3001
3184
 
3002
3185
  def serialize_members(self, serializer: ShapeSerializer):
3003
- serializer.write_integer(_SCHEMA_LIST_VERSIONS_OUTPUT.members["total_pages"], self.total_pages)
3004
- serializer.write_integer(_SCHEMA_LIST_VERSIONS_OUTPUT.members["total_items"], self.total_items)
3005
- _serialize_list_versions_out(serializer, _SCHEMA_LIST_VERSIONS_OUTPUT.members["data"], self.data)
3186
+ if self.total_pages is not None:
3187
+ serializer.write_integer(_SCHEMA_LIST_VERSIONS_OUTPUT.members["total_pages"], self.total_pages)
3188
+
3189
+ if self.total_items is not None:
3190
+ serializer.write_integer(_SCHEMA_LIST_VERSIONS_OUTPUT.members["total_items"], self.total_items)
3191
+
3192
+ if self.data is not None:
3193
+ _serialize_list_versions_out(serializer, _SCHEMA_LIST_VERSIONS_OUTPUT.members["data"], self.data)
3006
3194
 
3007
3195
  @classmethod
3008
3196
  def deserialize(cls, deserializer: ShapeDeserializer) -> Self:
@@ -3059,7 +3247,7 @@ class CreateContextInput:
3059
3247
  """
3060
3248
 
3061
3249
  workspace_id: str | None = None
3062
- org_id: str = "juspay"
3250
+ org_id: str | None = None
3063
3251
  context: dict[str, Document] | None = None
3064
3252
  config_tags: str | None = None
3065
3253
  override: dict[str, Document] | None = None
@@ -3241,7 +3429,8 @@ CREATE_CONTEXT = APIOperation(
3241
3429
  input_schema = _SCHEMA_CREATE_CONTEXT_INPUT,
3242
3430
  output_schema = _SCHEMA_CREATE_CONTEXT_OUTPUT,
3243
3431
  error_registry = TypeRegistry({
3244
- ShapeID("io.superposition#InternalServerError"): InternalServerError,
3432
+ ShapeID("io.superposition#ResourceNotFound"): ResourceNotFound,
3433
+ ShapeID("io.superposition#InternalServerError"): InternalServerError,
3245
3434
  }),
3246
3435
  effective_auth_schemes = [
3247
3436
  ShapeID("smithy.api#httpBearerAuth")
@@ -3252,7 +3441,7 @@ CREATE_CONTEXT = APIOperation(
3252
3441
  class DeleteContextInput:
3253
3442
 
3254
3443
  workspace_id: str | None = None
3255
- org_id: str = "juspay"
3444
+ org_id: str | None = None
3256
3445
  id: str | None = None
3257
3446
  config_tags: str | None = None
3258
3447
 
@@ -3323,8 +3512,8 @@ DELETE_CONTEXT = APIOperation(
3323
3512
  input_schema = _SCHEMA_DELETE_CONTEXT_INPUT,
3324
3513
  output_schema = _SCHEMA_DELETE_CONTEXT_OUTPUT,
3325
3514
  error_registry = TypeRegistry({
3326
- ShapeID("io.superposition#InternalServerError"): InternalServerError,
3327
- ShapeID("io.superposition#ResourceNotFound"): ResourceNotFound,
3515
+ ShapeID("io.superposition#ResourceNotFound"): ResourceNotFound,
3516
+ ShapeID("io.superposition#InternalServerError"): InternalServerError,
3328
3517
  }),
3329
3518
  effective_auth_schemes = [
3330
3519
  ShapeID("smithy.api#httpBearerAuth")
@@ -3335,7 +3524,7 @@ ShapeID("io.superposition#ResourceNotFound"): ResourceNotFound,
3335
3524
  class GetContextInput:
3336
3525
 
3337
3526
  workspace_id: str | None = None
3338
- org_id: str = "juspay"
3527
+ org_id: str | None = None
3339
3528
  id: str | None = None
3340
3529
 
3341
3530
  def serialize(self, serializer: ShapeSerializer):
@@ -3503,7 +3692,7 @@ ShapeID("io.superposition#InternalServerError"): InternalServerError,
3503
3692
  class GetContextFromConditionInput:
3504
3693
 
3505
3694
  workspace_id: str | None = None
3506
- org_id: str = "juspay"
3695
+ org_id: str | None = None
3507
3696
  context: Document | None = None
3508
3697
 
3509
3698
  def serialize(self, serializer: ShapeSerializer):
@@ -3683,22 +3872,6 @@ class DimensionMatchStrategy(StrEnum):
3683
3872
 
3684
3873
  """
3685
3874
 
3686
- class SortBy(StrEnum):
3687
- """
3688
- Sort order enumeration for list operations.
3689
-
3690
- """
3691
- DESC = "desc"
3692
- """
3693
- Descending order (Z-A, newest first)
3694
-
3695
- """
3696
- ASC = "asc"
3697
- """
3698
- Ascending order (A-Z, oldest first)
3699
-
3700
- """
3701
-
3702
3875
  class ContextFilterSortOn(StrEnum):
3703
3876
  LAST_MODIFIED_AT = "last_modified_at"
3704
3877
  CREATED_AT = "created_at"
@@ -3708,6 +3881,16 @@ class ContextFilterSortOn(StrEnum):
3708
3881
  class ListContextsInput:
3709
3882
  """
3710
3883
 
3884
+ :param count:
3885
+ Number of items to be returned in each page.
3886
+
3887
+ :param page:
3888
+ Page number to retrieve, starting from 1.
3889
+
3890
+ :param all:
3891
+ If true, returns all requested items, ignoring pagination parameters page and
3892
+ count.
3893
+
3711
3894
  :param sort_by:
3712
3895
  Sort order enumeration for list operations.
3713
3896
 
@@ -3716,16 +3899,16 @@ class ListContextsInput:
3716
3899
 
3717
3900
  """
3718
3901
 
3719
- workspace_id: str | None = None
3720
- org_id: str = "juspay"
3721
- page: int | None = None
3722
3902
  count: int | None = None
3903
+ page: int | None = None
3723
3904
  all: bool | None = None
3724
- prefix: str | None = None
3905
+ workspace_id: str | None = None
3906
+ org_id: str | None = None
3907
+ prefix: list[str] | None = None
3725
3908
  sort_on: str | None = None
3726
3909
  sort_by: str | None = None
3727
- created_by: str | None = None
3728
- last_modified_by: str | None = None
3910
+ created_by: list[str] | None = None
3911
+ last_modified_by: list[str] | None = None
3729
3912
  plaintext: str | None = None
3730
3913
  dimension_match_strategy: str | None = None
3731
3914
 
@@ -3746,22 +3929,22 @@ class ListContextsInput:
3746
3929
  def _consumer(schema: Schema, de: ShapeDeserializer) -> None:
3747
3930
  match schema.expect_member_index():
3748
3931
  case 0:
3749
- kwargs["workspace_id"] = de.read_string(_SCHEMA_LIST_CONTEXTS_INPUT.members["workspace_id"])
3932
+ kwargs["count"] = de.read_integer(_SCHEMA_LIST_CONTEXTS_INPUT.members["count"])
3750
3933
 
3751
3934
  case 1:
3752
- kwargs["org_id"] = de.read_string(_SCHEMA_LIST_CONTEXTS_INPUT.members["org_id"])
3935
+ kwargs["page"] = de.read_integer(_SCHEMA_LIST_CONTEXTS_INPUT.members["page"])
3753
3936
 
3754
3937
  case 2:
3755
- kwargs["page"] = de.read_integer(_SCHEMA_LIST_CONTEXTS_INPUT.members["page"])
3938
+ kwargs["all"] = de.read_boolean(_SCHEMA_LIST_CONTEXTS_INPUT.members["all"])
3756
3939
 
3757
3940
  case 3:
3758
- kwargs["count"] = de.read_integer(_SCHEMA_LIST_CONTEXTS_INPUT.members["count"])
3941
+ kwargs["workspace_id"] = de.read_string(_SCHEMA_LIST_CONTEXTS_INPUT.members["workspace_id"])
3759
3942
 
3760
3943
  case 4:
3761
- kwargs["all"] = de.read_boolean(_SCHEMA_LIST_CONTEXTS_INPUT.members["all"])
3944
+ kwargs["org_id"] = de.read_string(_SCHEMA_LIST_CONTEXTS_INPUT.members["org_id"])
3762
3945
 
3763
3946
  case 5:
3764
- kwargs["prefix"] = de.read_string(_SCHEMA_LIST_CONTEXTS_INPUT.members["prefix"])
3947
+ kwargs["prefix"] = _deserialize_string_list(de, _SCHEMA_LIST_CONTEXTS_INPUT.members["prefix"])
3765
3948
 
3766
3949
  case 6:
3767
3950
  kwargs["sort_on"] = de.read_string(_SCHEMA_LIST_CONTEXTS_INPUT.members["sort_on"])
@@ -3770,10 +3953,10 @@ class ListContextsInput:
3770
3953
  kwargs["sort_by"] = de.read_string(_SCHEMA_LIST_CONTEXTS_INPUT.members["sort_by"])
3771
3954
 
3772
3955
  case 8:
3773
- kwargs["created_by"] = de.read_string(_SCHEMA_LIST_CONTEXTS_INPUT.members["created_by"])
3956
+ kwargs["created_by"] = _deserialize_string_list(de, _SCHEMA_LIST_CONTEXTS_INPUT.members["created_by"])
3774
3957
 
3775
3958
  case 9:
3776
- kwargs["last_modified_by"] = de.read_string(_SCHEMA_LIST_CONTEXTS_INPUT.members["last_modified_by"])
3959
+ kwargs["last_modified_by"] = _deserialize_string_list(de, _SCHEMA_LIST_CONTEXTS_INPUT.members["last_modified_by"])
3777
3960
 
3778
3961
  case 10:
3779
3962
  kwargs["plaintext"] = de.read_string(_SCHEMA_LIST_CONTEXTS_INPUT.members["plaintext"])
@@ -3874,7 +4057,7 @@ class MoveContextInput:
3874
4057
  """
3875
4058
 
3876
4059
  workspace_id: str | None = None
3877
- org_id: str = "juspay"
4060
+ org_id: str | None = None
3878
4061
  id: str | None = None
3879
4062
  context: dict[str, Document] | None = None
3880
4063
  description: str | None = None
@@ -4061,7 +4244,7 @@ ShapeID("io.superposition#InternalServerError"): InternalServerError,
4061
4244
  class UpdateOverrideInput:
4062
4245
 
4063
4246
  workspace_id: str | None = None
4064
- org_id: str = "juspay"
4247
+ org_id: str | None = None
4065
4248
  config_tags: str | None = None
4066
4249
  request: UpdateContextOverrideRequest | None = None
4067
4250
 
@@ -4230,17 +4413,25 @@ ShapeID("io.superposition#InternalServerError"): InternalServerError,
4230
4413
  )
4231
4414
 
4232
4415
  @dataclass(kw_only=True)
4233
- class WeightRecomputeInput:
4416
+ class ValidateContextInput:
4417
+ """
4418
+
4419
+ :param context:
4420
+ **[Required]** - Represents conditional criteria used for context matching. Keys
4421
+ define dimension names and values specify the criteria that must be met.
4422
+
4423
+ """
4234
4424
 
4235
4425
  workspace_id: str | None = None
4236
- org_id: str = "juspay"
4237
- config_tags: str | None = None
4426
+ org_id: str | None = None
4427
+ context: dict[str, Document] | None = None
4238
4428
 
4239
4429
  def serialize(self, serializer: ShapeSerializer):
4240
- serializer.write_struct(_SCHEMA_WEIGHT_RECOMPUTE_INPUT, self)
4430
+ serializer.write_struct(_SCHEMA_VALIDATE_CONTEXT_INPUT, self)
4241
4431
 
4242
4432
  def serialize_members(self, serializer: ShapeSerializer):
4243
- pass
4433
+ if self.context is not None:
4434
+ _serialize_condition(serializer, _SCHEMA_VALIDATE_CONTEXT_INPUT.members["context"], self.context)
4244
4435
 
4245
4436
  @classmethod
4246
4437
  def deserialize(cls, deserializer: ShapeDeserializer) -> Self:
@@ -4253,58 +4444,28 @@ class WeightRecomputeInput:
4253
4444
  def _consumer(schema: Schema, de: ShapeDeserializer) -> None:
4254
4445
  match schema.expect_member_index():
4255
4446
  case 0:
4256
- kwargs["workspace_id"] = de.read_string(_SCHEMA_WEIGHT_RECOMPUTE_INPUT.members["workspace_id"])
4447
+ kwargs["workspace_id"] = de.read_string(_SCHEMA_VALIDATE_CONTEXT_INPUT.members["workspace_id"])
4257
4448
 
4258
4449
  case 1:
4259
- kwargs["org_id"] = de.read_string(_SCHEMA_WEIGHT_RECOMPUTE_INPUT.members["org_id"])
4450
+ kwargs["org_id"] = de.read_string(_SCHEMA_VALIDATE_CONTEXT_INPUT.members["org_id"])
4260
4451
 
4261
4452
  case 2:
4262
- kwargs["config_tags"] = de.read_string(_SCHEMA_WEIGHT_RECOMPUTE_INPUT.members["config_tags"])
4453
+ kwargs["context"] = _deserialize_condition(de, _SCHEMA_VALIDATE_CONTEXT_INPUT.members["context"])
4263
4454
 
4264
4455
  case _:
4265
4456
  logger.debug("Unexpected member schema: %s", schema)
4266
4457
 
4267
- deserializer.read_struct(_SCHEMA_WEIGHT_RECOMPUTE_INPUT, consumer=_consumer)
4458
+ deserializer.read_struct(_SCHEMA_VALIDATE_CONTEXT_INPUT, consumer=_consumer)
4268
4459
  return kwargs
4269
4460
 
4270
4461
  @dataclass(kw_only=True)
4271
- class WeightRecomputeResponse:
4272
- """
4273
-
4274
- :param condition:
4275
- Represents conditional criteria used for context matching. Keys define dimension
4276
- names and values specify the criteria that must be met.
4277
-
4278
- :param old_weight:
4279
- Priority weight used to determine the order of context evaluation. Higher
4280
- weights take precedence during configuration resolution.
4281
-
4282
- :param new_weight:
4283
- Priority weight used to determine the order of context evaluation. Higher
4284
- weights take precedence during configuration resolution.
4285
-
4286
- """
4287
-
4288
- id: str | None = None
4289
- condition: dict[str, Document] | None = None
4290
- old_weight: str | None = None
4291
- new_weight: str | None = None
4462
+ class ValidateContextOutput:
4292
4463
 
4293
4464
  def serialize(self, serializer: ShapeSerializer):
4294
- serializer.write_struct(_SCHEMA_WEIGHT_RECOMPUTE_RESPONSE, self)
4465
+ serializer.write_struct(_SCHEMA_VALIDATE_CONTEXT_OUTPUT, self)
4295
4466
 
4296
4467
  def serialize_members(self, serializer: ShapeSerializer):
4297
- if self.id is not None:
4298
- serializer.write_string(_SCHEMA_WEIGHT_RECOMPUTE_RESPONSE.members["id"], self.id)
4299
-
4300
- if self.condition is not None:
4301
- _serialize_condition(serializer, _SCHEMA_WEIGHT_RECOMPUTE_RESPONSE.members["condition"], self.condition)
4302
-
4303
- if self.old_weight is not None:
4304
- serializer.write_string(_SCHEMA_WEIGHT_RECOMPUTE_RESPONSE.members["old_weight"], self.old_weight)
4305
-
4306
- if self.new_weight is not None:
4307
- serializer.write_string(_SCHEMA_WEIGHT_RECOMPUTE_RESPONSE.members["new_weight"], self.new_weight)
4468
+ pass
4308
4469
 
4309
4470
  @classmethod
4310
4471
  def deserialize(cls, deserializer: ShapeDeserializer) -> Self:
@@ -4316,8 +4477,116 @@ class WeightRecomputeResponse:
4316
4477
 
4317
4478
  def _consumer(schema: Schema, de: ShapeDeserializer) -> None:
4318
4479
  match schema.expect_member_index():
4319
- case 0:
4320
- kwargs["id"] = de.read_string(_SCHEMA_WEIGHT_RECOMPUTE_RESPONSE.members["id"])
4480
+
4481
+ case _:
4482
+ logger.debug("Unexpected member schema: %s", schema)
4483
+
4484
+ deserializer.read_struct(_SCHEMA_VALIDATE_CONTEXT_OUTPUT, consumer=_consumer)
4485
+ return kwargs
4486
+
4487
+ VALIDATE_CONTEXT = APIOperation(
4488
+ input = ValidateContextInput,
4489
+ output = ValidateContextOutput,
4490
+ schema = _SCHEMA_VALIDATE_CONTEXT,
4491
+ input_schema = _SCHEMA_VALIDATE_CONTEXT_INPUT,
4492
+ output_schema = _SCHEMA_VALIDATE_CONTEXT_OUTPUT,
4493
+ error_registry = TypeRegistry({
4494
+ ShapeID("io.superposition#InternalServerError"): InternalServerError,
4495
+ }),
4496
+ effective_auth_schemes = [
4497
+ ShapeID("smithy.api#httpBearerAuth")
4498
+ ]
4499
+ )
4500
+
4501
+ @dataclass(kw_only=True)
4502
+ class WeightRecomputeInput:
4503
+
4504
+ workspace_id: str | None = None
4505
+ org_id: str | None = None
4506
+ config_tags: str | None = None
4507
+
4508
+ def serialize(self, serializer: ShapeSerializer):
4509
+ serializer.write_struct(_SCHEMA_WEIGHT_RECOMPUTE_INPUT, self)
4510
+
4511
+ def serialize_members(self, serializer: ShapeSerializer):
4512
+ pass
4513
+
4514
+ @classmethod
4515
+ def deserialize(cls, deserializer: ShapeDeserializer) -> Self:
4516
+ return cls(**cls.deserialize_kwargs(deserializer))
4517
+
4518
+ @classmethod
4519
+ def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]:
4520
+ kwargs: dict[str, Any] = {}
4521
+
4522
+ def _consumer(schema: Schema, de: ShapeDeserializer) -> None:
4523
+ match schema.expect_member_index():
4524
+ case 0:
4525
+ kwargs["workspace_id"] = de.read_string(_SCHEMA_WEIGHT_RECOMPUTE_INPUT.members["workspace_id"])
4526
+
4527
+ case 1:
4528
+ kwargs["org_id"] = de.read_string(_SCHEMA_WEIGHT_RECOMPUTE_INPUT.members["org_id"])
4529
+
4530
+ case 2:
4531
+ kwargs["config_tags"] = de.read_string(_SCHEMA_WEIGHT_RECOMPUTE_INPUT.members["config_tags"])
4532
+
4533
+ case _:
4534
+ logger.debug("Unexpected member schema: %s", schema)
4535
+
4536
+ deserializer.read_struct(_SCHEMA_WEIGHT_RECOMPUTE_INPUT, consumer=_consumer)
4537
+ return kwargs
4538
+
4539
+ @dataclass(kw_only=True)
4540
+ class WeightRecomputeResponse:
4541
+ """
4542
+
4543
+ :param condition:
4544
+ Represents conditional criteria used for context matching. Keys define dimension
4545
+ names and values specify the criteria that must be met.
4546
+
4547
+ :param old_weight:
4548
+ Priority weight used to determine the order of context evaluation. Higher
4549
+ weights take precedence during configuration resolution.
4550
+
4551
+ :param new_weight:
4552
+ Priority weight used to determine the order of context evaluation. Higher
4553
+ weights take precedence during configuration resolution.
4554
+
4555
+ """
4556
+
4557
+ id: str | None = None
4558
+ condition: dict[str, Document] | None = None
4559
+ old_weight: str | None = None
4560
+ new_weight: str | None = None
4561
+
4562
+ def serialize(self, serializer: ShapeSerializer):
4563
+ serializer.write_struct(_SCHEMA_WEIGHT_RECOMPUTE_RESPONSE, self)
4564
+
4565
+ def serialize_members(self, serializer: ShapeSerializer):
4566
+ if self.id is not None:
4567
+ serializer.write_string(_SCHEMA_WEIGHT_RECOMPUTE_RESPONSE.members["id"], self.id)
4568
+
4569
+ if self.condition is not None:
4570
+ _serialize_condition(serializer, _SCHEMA_WEIGHT_RECOMPUTE_RESPONSE.members["condition"], self.condition)
4571
+
4572
+ if self.old_weight is not None:
4573
+ serializer.write_string(_SCHEMA_WEIGHT_RECOMPUTE_RESPONSE.members["old_weight"], self.old_weight)
4574
+
4575
+ if self.new_weight is not None:
4576
+ serializer.write_string(_SCHEMA_WEIGHT_RECOMPUTE_RESPONSE.members["new_weight"], self.new_weight)
4577
+
4578
+ @classmethod
4579
+ def deserialize(cls, deserializer: ShapeDeserializer) -> Self:
4580
+ return cls(**cls.deserialize_kwargs(deserializer))
4581
+
4582
+ @classmethod
4583
+ def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]:
4584
+ kwargs: dict[str, Any] = {}
4585
+
4586
+ def _consumer(schema: Schema, de: ShapeDeserializer) -> None:
4587
+ match schema.expect_member_index():
4588
+ case 0:
4589
+ kwargs["id"] = de.read_string(_SCHEMA_WEIGHT_RECOMPUTE_RESPONSE.members["id"])
4321
4590
 
4322
4591
  case 1:
4323
4592
  kwargs["condition"] = _deserialize_condition(de, _SCHEMA_WEIGHT_RECOMPUTE_RESPONSE.members["condition"])
@@ -4417,7 +4686,7 @@ class CreateDefaultConfigInput:
4417
4686
  function_name: str | None = None
4418
4687
  autocomplete_function_name: str | None = None
4419
4688
  workspace_id: str | None = None
4420
- org_id: str = "juspay"
4689
+ org_id: str | None = None
4421
4690
 
4422
4691
  def serialize(self, serializer: ShapeSerializer):
4423
4692
  serializer.write_struct(_SCHEMA_CREATE_DEFAULT_CONFIG_INPUT, self)
@@ -4615,7 +4884,7 @@ class CreateDimensionInput:
4615
4884
  """
4616
4885
 
4617
4886
  workspace_id: str | None = None
4618
- org_id: str = "juspay"
4887
+ org_id: str | None = None
4619
4888
  dimension: str | None = None
4620
4889
  position: int | None = None
4621
4890
  schema: dict[str, Document] | None = None
@@ -4842,7 +5111,7 @@ class CreateExperimentInput:
4842
5111
  """
4843
5112
 
4844
5113
  workspace_id: str | None = None
4845
- org_id: str = "juspay"
5114
+ org_id: str | None = None
4846
5115
  name: str | None = None
4847
5116
  experiment_type: str | None = None
4848
5117
  context: dict[str, Document] | None = None
@@ -5115,7 +5384,7 @@ class CreateExperimentGroupInput:
5115
5384
  """
5116
5385
 
5117
5386
  workspace_id: str | None = None
5118
- org_id: str = "juspay"
5387
+ org_id: str | None = None
5119
5388
  name: str | None = None
5120
5389
  description: str | None = None
5121
5390
  change_reason: str | None = None
@@ -5323,7 +5592,7 @@ class FunctionTypes(StrEnum):
5323
5592
  class CreateFunctionInput:
5324
5593
 
5325
5594
  workspace_id: str | None = None
5326
- org_id: str = "juspay"
5595
+ org_id: str | None = None
5327
5596
  function_name: str | None = None
5328
5597
  description: str | None = None
5329
5598
  change_reason: str | None = None
@@ -5717,7 +5986,7 @@ class CreateTypeTemplatesInput:
5717
5986
  """
5718
5987
 
5719
5988
  workspace_id: str | None = None
5720
- org_id: str = "juspay"
5989
+ org_id: str | None = None
5721
5990
  type_name: str | None = None
5722
5991
  type_schema: dict[str, Document] | None = None
5723
5992
  description: str | None = None
@@ -5906,7 +6175,7 @@ class CreateWebhookInput:
5906
6175
  """
5907
6176
 
5908
6177
  workspace_id: str | None = None
5909
- org_id: str = "juspay"
6178
+ org_id: str | None = None
5910
6179
  name: str | None = None
5911
6180
  description: str | None = None
5912
6181
  enabled: bool | None = None
@@ -6142,7 +6411,7 @@ class WorkspaceStatus(StrEnum):
6142
6411
  @dataclass(kw_only=True)
6143
6412
  class CreateWorkspaceInput:
6144
6413
 
6145
- org_id: str = "juspay"
6414
+ org_id: str | None = None
6146
6415
  workspace_admin_email: str | None = None
6147
6416
  workspace_name: str | None = None
6148
6417
  workspace_status: str | None = None
@@ -6376,7 +6645,7 @@ CREATE_WORKSPACE = APIOperation(
6376
6645
  class DeleteDefaultConfigInput:
6377
6646
 
6378
6647
  workspace_id: str | None = None
6379
- org_id: str = "juspay"
6648
+ org_id: str | None = None
6380
6649
  key: str | None = None
6381
6650
 
6382
6651
  def serialize(self, serializer: ShapeSerializer):
@@ -6443,8 +6712,164 @@ DELETE_DEFAULT_CONFIG = APIOperation(
6443
6712
  input_schema = _SCHEMA_DELETE_DEFAULT_CONFIG_INPUT,
6444
6713
  output_schema = _SCHEMA_DELETE_DEFAULT_CONFIG_OUTPUT,
6445
6714
  error_registry = TypeRegistry({
6446
- ShapeID("io.superposition#InternalServerError"): InternalServerError,
6447
- ShapeID("io.superposition#ResourceNotFound"): ResourceNotFound,
6715
+ ShapeID("io.superposition#ResourceNotFound"): ResourceNotFound,
6716
+ ShapeID("io.superposition#InternalServerError"): InternalServerError,
6717
+ }),
6718
+ effective_auth_schemes = [
6719
+ ShapeID("smithy.api#httpBearerAuth")
6720
+ ]
6721
+ )
6722
+
6723
+ @dataclass(kw_only=True)
6724
+ class GetDefaultConfigInput:
6725
+
6726
+ workspace_id: str | None = None
6727
+ org_id: str | None = None
6728
+ key: str | None = None
6729
+
6730
+ def serialize(self, serializer: ShapeSerializer):
6731
+ serializer.write_struct(_SCHEMA_GET_DEFAULT_CONFIG_INPUT, self)
6732
+
6733
+ def serialize_members(self, serializer: ShapeSerializer):
6734
+ pass
6735
+
6736
+ @classmethod
6737
+ def deserialize(cls, deserializer: ShapeDeserializer) -> Self:
6738
+ return cls(**cls.deserialize_kwargs(deserializer))
6739
+
6740
+ @classmethod
6741
+ def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]:
6742
+ kwargs: dict[str, Any] = {}
6743
+
6744
+ def _consumer(schema: Schema, de: ShapeDeserializer) -> None:
6745
+ match schema.expect_member_index():
6746
+ case 0:
6747
+ kwargs["workspace_id"] = de.read_string(_SCHEMA_GET_DEFAULT_CONFIG_INPUT.members["workspace_id"])
6748
+
6749
+ case 1:
6750
+ kwargs["org_id"] = de.read_string(_SCHEMA_GET_DEFAULT_CONFIG_INPUT.members["org_id"])
6751
+
6752
+ case 2:
6753
+ kwargs["key"] = de.read_string(_SCHEMA_GET_DEFAULT_CONFIG_INPUT.members["key"])
6754
+
6755
+ case _:
6756
+ logger.debug("Unexpected member schema: %s", schema)
6757
+
6758
+ deserializer.read_struct(_SCHEMA_GET_DEFAULT_CONFIG_INPUT, consumer=_consumer)
6759
+ return kwargs
6760
+
6761
+ @dataclass(kw_only=True)
6762
+ class GetDefaultConfigOutput:
6763
+ """
6764
+
6765
+ :param schema:
6766
+ **[Required]** - Generic key-value object structure used for flexible data
6767
+ representation throughout the API.
6768
+
6769
+ :param function_name:
6770
+ Optional
6771
+
6772
+ """
6773
+
6774
+ key: str
6775
+
6776
+ value: Document
6777
+
6778
+ schema: dict[str, Document]
6779
+
6780
+ description: str
6781
+
6782
+ change_reason: str
6783
+
6784
+ created_at: datetime
6785
+
6786
+ created_by: str
6787
+
6788
+ last_modified_at: datetime
6789
+
6790
+ last_modified_by: str
6791
+
6792
+ function_name: str | None = None
6793
+ autocomplete_function_name: str | None = None
6794
+
6795
+ def serialize(self, serializer: ShapeSerializer):
6796
+ serializer.write_struct(_SCHEMA_GET_DEFAULT_CONFIG_OUTPUT, self)
6797
+
6798
+ def serialize_members(self, serializer: ShapeSerializer):
6799
+ serializer.write_string(_SCHEMA_GET_DEFAULT_CONFIG_OUTPUT.members["key"], self.key)
6800
+ serializer.write_document(_SCHEMA_GET_DEFAULT_CONFIG_OUTPUT.members["value"], self.value)
6801
+ _serialize_object(serializer, _SCHEMA_GET_DEFAULT_CONFIG_OUTPUT.members["schema"], self.schema)
6802
+ serializer.write_string(_SCHEMA_GET_DEFAULT_CONFIG_OUTPUT.members["description"], self.description)
6803
+ serializer.write_string(_SCHEMA_GET_DEFAULT_CONFIG_OUTPUT.members["change_reason"], self.change_reason)
6804
+ if self.function_name is not None:
6805
+ serializer.write_string(_SCHEMA_GET_DEFAULT_CONFIG_OUTPUT.members["function_name"], self.function_name)
6806
+
6807
+ if self.autocomplete_function_name is not None:
6808
+ serializer.write_string(_SCHEMA_GET_DEFAULT_CONFIG_OUTPUT.members["autocomplete_function_name"], self.autocomplete_function_name)
6809
+
6810
+ serializer.write_timestamp(_SCHEMA_GET_DEFAULT_CONFIG_OUTPUT.members["created_at"], self.created_at)
6811
+ serializer.write_string(_SCHEMA_GET_DEFAULT_CONFIG_OUTPUT.members["created_by"], self.created_by)
6812
+ serializer.write_timestamp(_SCHEMA_GET_DEFAULT_CONFIG_OUTPUT.members["last_modified_at"], self.last_modified_at)
6813
+ serializer.write_string(_SCHEMA_GET_DEFAULT_CONFIG_OUTPUT.members["last_modified_by"], self.last_modified_by)
6814
+
6815
+ @classmethod
6816
+ def deserialize(cls, deserializer: ShapeDeserializer) -> Self:
6817
+ return cls(**cls.deserialize_kwargs(deserializer))
6818
+
6819
+ @classmethod
6820
+ def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]:
6821
+ kwargs: dict[str, Any] = {}
6822
+
6823
+ def _consumer(schema: Schema, de: ShapeDeserializer) -> None:
6824
+ match schema.expect_member_index():
6825
+ case 0:
6826
+ kwargs["key"] = de.read_string(_SCHEMA_GET_DEFAULT_CONFIG_OUTPUT.members["key"])
6827
+
6828
+ case 1:
6829
+ kwargs["value"] = de.read_document(_SCHEMA_GET_DEFAULT_CONFIG_OUTPUT.members["value"])
6830
+
6831
+ case 2:
6832
+ kwargs["schema"] = _deserialize_object(de, _SCHEMA_GET_DEFAULT_CONFIG_OUTPUT.members["schema"])
6833
+
6834
+ case 3:
6835
+ kwargs["description"] = de.read_string(_SCHEMA_GET_DEFAULT_CONFIG_OUTPUT.members["description"])
6836
+
6837
+ case 4:
6838
+ kwargs["change_reason"] = de.read_string(_SCHEMA_GET_DEFAULT_CONFIG_OUTPUT.members["change_reason"])
6839
+
6840
+ case 5:
6841
+ kwargs["function_name"] = de.read_string(_SCHEMA_GET_DEFAULT_CONFIG_OUTPUT.members["function_name"])
6842
+
6843
+ case 6:
6844
+ kwargs["autocomplete_function_name"] = de.read_string(_SCHEMA_GET_DEFAULT_CONFIG_OUTPUT.members["autocomplete_function_name"])
6845
+
6846
+ case 7:
6847
+ kwargs["created_at"] = de.read_timestamp(_SCHEMA_GET_DEFAULT_CONFIG_OUTPUT.members["created_at"])
6848
+
6849
+ case 8:
6850
+ kwargs["created_by"] = de.read_string(_SCHEMA_GET_DEFAULT_CONFIG_OUTPUT.members["created_by"])
6851
+
6852
+ case 9:
6853
+ kwargs["last_modified_at"] = de.read_timestamp(_SCHEMA_GET_DEFAULT_CONFIG_OUTPUT.members["last_modified_at"])
6854
+
6855
+ case 10:
6856
+ kwargs["last_modified_by"] = de.read_string(_SCHEMA_GET_DEFAULT_CONFIG_OUTPUT.members["last_modified_by"])
6857
+
6858
+ case _:
6859
+ logger.debug("Unexpected member schema: %s", schema)
6860
+
6861
+ deserializer.read_struct(_SCHEMA_GET_DEFAULT_CONFIG_OUTPUT, consumer=_consumer)
6862
+ return kwargs
6863
+
6864
+ GET_DEFAULT_CONFIG = APIOperation(
6865
+ input = GetDefaultConfigInput,
6866
+ output = GetDefaultConfigOutput,
6867
+ schema = _SCHEMA_GET_DEFAULT_CONFIG,
6868
+ input_schema = _SCHEMA_GET_DEFAULT_CONFIG_INPUT,
6869
+ output_schema = _SCHEMA_GET_DEFAULT_CONFIG_OUTPUT,
6870
+ error_registry = TypeRegistry({
6871
+ ShapeID("io.superposition#ResourceNotFound"): ResourceNotFound,
6872
+ ShapeID("io.superposition#InternalServerError"): InternalServerError,
6448
6873
  }),
6449
6874
  effective_auth_schemes = [
6450
6875
  ShapeID("smithy.api#httpBearerAuth")
@@ -6453,12 +6878,26 @@ ShapeID("io.superposition#ResourceNotFound"): ResourceNotFound,
6453
6878
 
6454
6879
  @dataclass(kw_only=True)
6455
6880
  class ListDefaultConfigsInput:
6881
+ """
6882
+
6883
+ :param count:
6884
+ Number of items to be returned in each page.
6885
+
6886
+ :param page:
6887
+ Page number to retrieve, starting from 1.
6888
+
6889
+ :param all:
6890
+ If true, returns all requested items, ignoring pagination parameters page and
6891
+ count.
6892
+
6893
+ """
6456
6894
 
6895
+ workspace_id: str | None = None
6896
+ org_id: str | None = None
6457
6897
  count: int | None = None
6458
6898
  page: int | None = None
6459
6899
  all: bool | None = None
6460
- workspace_id: str | None = None
6461
- org_id: str = "juspay"
6900
+ name: str | None = None
6462
6901
 
6463
6902
  def serialize(self, serializer: ShapeSerializer):
6464
6903
  serializer.write_struct(_SCHEMA_LIST_DEFAULT_CONFIGS_INPUT, self)
@@ -6477,19 +6916,22 @@ class ListDefaultConfigsInput:
6477
6916
  def _consumer(schema: Schema, de: ShapeDeserializer) -> None:
6478
6917
  match schema.expect_member_index():
6479
6918
  case 0:
6480
- kwargs["count"] = de.read_integer(_SCHEMA_LIST_DEFAULT_CONFIGS_INPUT.members["count"])
6919
+ kwargs["workspace_id"] = de.read_string(_SCHEMA_LIST_DEFAULT_CONFIGS_INPUT.members["workspace_id"])
6481
6920
 
6482
6921
  case 1:
6483
- kwargs["page"] = de.read_integer(_SCHEMA_LIST_DEFAULT_CONFIGS_INPUT.members["page"])
6922
+ kwargs["org_id"] = de.read_string(_SCHEMA_LIST_DEFAULT_CONFIGS_INPUT.members["org_id"])
6484
6923
 
6485
6924
  case 2:
6486
- kwargs["all"] = de.read_boolean(_SCHEMA_LIST_DEFAULT_CONFIGS_INPUT.members["all"])
6925
+ kwargs["count"] = de.read_integer(_SCHEMA_LIST_DEFAULT_CONFIGS_INPUT.members["count"])
6487
6926
 
6488
6927
  case 3:
6489
- kwargs["workspace_id"] = de.read_string(_SCHEMA_LIST_DEFAULT_CONFIGS_INPUT.members["workspace_id"])
6928
+ kwargs["page"] = de.read_integer(_SCHEMA_LIST_DEFAULT_CONFIGS_INPUT.members["page"])
6490
6929
 
6491
6930
  case 4:
6492
- kwargs["org_id"] = de.read_string(_SCHEMA_LIST_DEFAULT_CONFIGS_INPUT.members["org_id"])
6931
+ kwargs["all"] = de.read_boolean(_SCHEMA_LIST_DEFAULT_CONFIGS_INPUT.members["all"])
6932
+
6933
+ case 5:
6934
+ kwargs["name"] = de.read_string(_SCHEMA_LIST_DEFAULT_CONFIGS_INPUT.members["name"])
6493
6935
 
6494
6936
  case _:
6495
6937
  logger.debug("Unexpected member schema: %s", schema)
@@ -6670,7 +7112,6 @@ LIST_DEFAULT_CONFIGS = APIOperation(
6670
7112
  output_schema = _SCHEMA_LIST_DEFAULT_CONFIGS_OUTPUT,
6671
7113
  error_registry = TypeRegistry({
6672
7114
  ShapeID("io.superposition#InternalServerError"): InternalServerError,
6673
- ShapeID("io.superposition#ResourceNotFound"): ResourceNotFound,
6674
7115
  }),
6675
7116
  effective_auth_schemes = [
6676
7117
  ShapeID("smithy.api#httpBearerAuth")
@@ -6688,7 +7129,7 @@ class UpdateDefaultConfigInput:
6688
7129
  """
6689
7130
 
6690
7131
  workspace_id: str | None = None
6691
- org_id: str = "juspay"
7132
+ org_id: str | None = None
6692
7133
  key: str | None = None
6693
7134
  change_reason: str | None = None
6694
7135
  value: Document | None = None
@@ -6884,7 +7325,7 @@ ShapeID("io.superposition#InternalServerError"): InternalServerError,
6884
7325
  class DeleteDimensionInput:
6885
7326
 
6886
7327
  workspace_id: str | None = None
6887
- org_id: str = "juspay"
7328
+ org_id: str | None = None
6888
7329
  dimension: str | None = None
6889
7330
 
6890
7331
  def serialize(self, serializer: ShapeSerializer):
@@ -6951,8 +7392,8 @@ DELETE_DIMENSION = APIOperation(
6951
7392
  input_schema = _SCHEMA_DELETE_DIMENSION_INPUT,
6952
7393
  output_schema = _SCHEMA_DELETE_DIMENSION_OUTPUT,
6953
7394
  error_registry = TypeRegistry({
6954
- ShapeID("io.superposition#InternalServerError"): InternalServerError,
6955
- ShapeID("io.superposition#ResourceNotFound"): ResourceNotFound,
7395
+ ShapeID("io.superposition#ResourceNotFound"): ResourceNotFound,
7396
+ ShapeID("io.superposition#InternalServerError"): InternalServerError,
6956
7397
  }),
6957
7398
  effective_auth_schemes = [
6958
7399
  ShapeID("smithy.api#httpBearerAuth")
@@ -6963,7 +7404,7 @@ ShapeID("io.superposition#ResourceNotFound"): ResourceNotFound,
6963
7404
  class DeleteExperimentGroupInput:
6964
7405
 
6965
7406
  workspace_id: str | None = None
6966
- org_id: str = "juspay"
7407
+ org_id: str | None = None
6967
7408
  id: str | None = None
6968
7409
 
6969
7410
  def serialize(self, serializer: ShapeSerializer):
@@ -7132,7 +7573,7 @@ ShapeID("io.superposition#InternalServerError"): InternalServerError,
7132
7573
  class DeleteFunctionInput:
7133
7574
 
7134
7575
  workspace_id: str | None = None
7135
- org_id: str = "juspay"
7576
+ org_id: str | None = None
7136
7577
  function_name: str | None = None
7137
7578
 
7138
7579
  def serialize(self, serializer: ShapeSerializer):
@@ -7192,37 +7633,6 @@ class DeleteFunctionOutput:
7192
7633
  deserializer.read_struct(_SCHEMA_DELETE_FUNCTION_OUTPUT, consumer=_consumer)
7193
7634
  return kwargs
7194
7635
 
7195
- @dataclass(kw_only=True)
7196
- class FunctionNotFound(ApiError):
7197
-
7198
- code: ClassVar[str] = "FunctionNotFound"
7199
- fault: ClassVar[Literal["client", "server"]] = "client"
7200
-
7201
- message: str
7202
-
7203
- def serialize(self, serializer: ShapeSerializer):
7204
- serializer.write_struct(_SCHEMA_FUNCTION_NOT_FOUND, self)
7205
-
7206
- def serialize_members(self, serializer: ShapeSerializer):
7207
- pass
7208
-
7209
- @classmethod
7210
- def deserialize(cls, deserializer: ShapeDeserializer) -> Self:
7211
- return cls(**cls.deserialize_kwargs(deserializer))
7212
-
7213
- @classmethod
7214
- def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]:
7215
- kwargs: dict[str, Any] = {}
7216
-
7217
- def _consumer(schema: Schema, de: ShapeDeserializer) -> None:
7218
- match schema.expect_member_index():
7219
-
7220
- case _:
7221
- logger.debug("Unexpected member schema: %s", schema)
7222
-
7223
- deserializer.read_struct(_SCHEMA_FUNCTION_NOT_FOUND, consumer=_consumer)
7224
- return kwargs
7225
-
7226
7636
  DELETE_FUNCTION = APIOperation(
7227
7637
  input = DeleteFunctionInput,
7228
7638
  output = DeleteFunctionOutput,
@@ -7230,8 +7640,8 @@ DELETE_FUNCTION = APIOperation(
7230
7640
  input_schema = _SCHEMA_DELETE_FUNCTION_INPUT,
7231
7641
  output_schema = _SCHEMA_DELETE_FUNCTION_OUTPUT,
7232
7642
  error_registry = TypeRegistry({
7233
- ShapeID("io.superposition#InternalServerError"): InternalServerError,
7234
- ShapeID("io.superposition#FunctionNotFound"): FunctionNotFound,
7643
+ ShapeID("io.superposition#ResourceNotFound"): ResourceNotFound,
7644
+ ShapeID("io.superposition#InternalServerError"): InternalServerError,
7235
7645
  }),
7236
7646
  effective_auth_schemes = [
7237
7647
  ShapeID("smithy.api#httpBearerAuth")
@@ -7242,7 +7652,7 @@ ShapeID("io.superposition#FunctionNotFound"): FunctionNotFound,
7242
7652
  class DeleteTypeTemplatesInput:
7243
7653
 
7244
7654
  workspace_id: str | None = None
7245
- org_id: str = "juspay"
7655
+ org_id: str | None = None
7246
7656
  type_name: str | None = None
7247
7657
 
7248
7658
  def serialize(self, serializer: ShapeSerializer):
@@ -7355,16 +7765,64 @@ class DeleteTypeTemplatesOutput:
7355
7765
  deserializer.read_struct(_SCHEMA_DELETE_TYPE_TEMPLATES_OUTPUT, consumer=_consumer)
7356
7766
  return kwargs
7357
7767
 
7768
+ DELETE_TYPE_TEMPLATES = APIOperation(
7769
+ input = DeleteTypeTemplatesInput,
7770
+ output = DeleteTypeTemplatesOutput,
7771
+ schema = _SCHEMA_DELETE_TYPE_TEMPLATES,
7772
+ input_schema = _SCHEMA_DELETE_TYPE_TEMPLATES_INPUT,
7773
+ output_schema = _SCHEMA_DELETE_TYPE_TEMPLATES_OUTPUT,
7774
+ error_registry = TypeRegistry({
7775
+ ShapeID("io.superposition#ResourceNotFound"): ResourceNotFound,
7776
+ ShapeID("io.superposition#InternalServerError"): InternalServerError,
7777
+ }),
7778
+ effective_auth_schemes = [
7779
+ ShapeID("smithy.api#httpBearerAuth")
7780
+ ]
7781
+ )
7782
+
7358
7783
  @dataclass(kw_only=True)
7359
- class TypeTemplatesNotFound(ApiError):
7784
+ class DeleteWebhookInput:
7360
7785
 
7361
- code: ClassVar[str] = "TypeTemplatesNotFound"
7362
- fault: ClassVar[Literal["client", "server"]] = "client"
7786
+ workspace_id: str | None = None
7787
+ org_id: str | None = None
7788
+ name: str | None = None
7363
7789
 
7364
- message: str
7790
+ def serialize(self, serializer: ShapeSerializer):
7791
+ serializer.write_struct(_SCHEMA_DELETE_WEBHOOK_INPUT, self)
7792
+
7793
+ def serialize_members(self, serializer: ShapeSerializer):
7794
+ pass
7795
+
7796
+ @classmethod
7797
+ def deserialize(cls, deserializer: ShapeDeserializer) -> Self:
7798
+ return cls(**cls.deserialize_kwargs(deserializer))
7799
+
7800
+ @classmethod
7801
+ def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]:
7802
+ kwargs: dict[str, Any] = {}
7803
+
7804
+ def _consumer(schema: Schema, de: ShapeDeserializer) -> None:
7805
+ match schema.expect_member_index():
7806
+ case 0:
7807
+ kwargs["workspace_id"] = de.read_string(_SCHEMA_DELETE_WEBHOOK_INPUT.members["workspace_id"])
7808
+
7809
+ case 1:
7810
+ kwargs["org_id"] = de.read_string(_SCHEMA_DELETE_WEBHOOK_INPUT.members["org_id"])
7811
+
7812
+ case 2:
7813
+ kwargs["name"] = de.read_string(_SCHEMA_DELETE_WEBHOOK_INPUT.members["name"])
7814
+
7815
+ case _:
7816
+ logger.debug("Unexpected member schema: %s", schema)
7817
+
7818
+ deserializer.read_struct(_SCHEMA_DELETE_WEBHOOK_INPUT, consumer=_consumer)
7819
+ return kwargs
7820
+
7821
+ @dataclass(kw_only=True)
7822
+ class DeleteWebhookOutput:
7365
7823
 
7366
7824
  def serialize(self, serializer: ShapeSerializer):
7367
- serializer.write_struct(_SCHEMA_TYPE_TEMPLATES_NOT_FOUND, self)
7825
+ serializer.write_struct(_SCHEMA_DELETE_WEBHOOK_OUTPUT, self)
7368
7826
 
7369
7827
  def serialize_members(self, serializer: ShapeSerializer):
7370
7828
  pass
@@ -7383,17 +7841,17 @@ class TypeTemplatesNotFound(ApiError):
7383
7841
  case _:
7384
7842
  logger.debug("Unexpected member schema: %s", schema)
7385
7843
 
7386
- deserializer.read_struct(_SCHEMA_TYPE_TEMPLATES_NOT_FOUND, consumer=_consumer)
7844
+ deserializer.read_struct(_SCHEMA_DELETE_WEBHOOK_OUTPUT, consumer=_consumer)
7387
7845
  return kwargs
7388
7846
 
7389
- DELETE_TYPE_TEMPLATES = APIOperation(
7390
- input = DeleteTypeTemplatesInput,
7391
- output = DeleteTypeTemplatesOutput,
7392
- schema = _SCHEMA_DELETE_TYPE_TEMPLATES,
7393
- input_schema = _SCHEMA_DELETE_TYPE_TEMPLATES_INPUT,
7394
- output_schema = _SCHEMA_DELETE_TYPE_TEMPLATES_OUTPUT,
7847
+ DELETE_WEBHOOK = APIOperation(
7848
+ input = DeleteWebhookInput,
7849
+ output = DeleteWebhookOutput,
7850
+ schema = _SCHEMA_DELETE_WEBHOOK,
7851
+ input_schema = _SCHEMA_DELETE_WEBHOOK_INPUT,
7852
+ output_schema = _SCHEMA_DELETE_WEBHOOK_OUTPUT,
7395
7853
  error_registry = TypeRegistry({
7396
- ShapeID("io.superposition#TypeTemplatesNotFound"): TypeTemplatesNotFound,
7854
+ ShapeID("io.superposition#ResourceNotFound"): ResourceNotFound,
7397
7855
  ShapeID("io.superposition#InternalServerError"): InternalServerError,
7398
7856
  }),
7399
7857
  effective_auth_schemes = [
@@ -7405,7 +7863,7 @@ ShapeID("io.superposition#InternalServerError"): InternalServerError,
7405
7863
  class GetDimensionInput:
7406
7864
 
7407
7865
  workspace_id: str | None = None
7408
- org_id: str = "juspay"
7866
+ org_id: str | None = None
7409
7867
  dimension: str | None = None
7410
7868
 
7411
7869
  def serialize(self, serializer: ShapeSerializer):
@@ -7574,12 +8032,25 @@ ShapeID("io.superposition#InternalServerError"): InternalServerError,
7574
8032
 
7575
8033
  @dataclass(kw_only=True)
7576
8034
  class ListDimensionsInput:
8035
+ """
8036
+
8037
+ :param count:
8038
+ Number of items to be returned in each page.
8039
+
8040
+ :param page:
8041
+ Page number to retrieve, starting from 1.
8042
+
8043
+ :param all:
8044
+ If true, returns all requested items, ignoring pagination parameters page and
8045
+ count.
8046
+
8047
+ """
7577
8048
 
7578
8049
  count: int | None = None
7579
8050
  page: int | None = None
7580
8051
  all: bool | None = None
7581
8052
  workspace_id: str | None = None
7582
- org_id: str = "juspay"
8053
+ org_id: str | None = None
7583
8054
 
7584
8055
  def serialize(self, serializer: ShapeSerializer):
7585
8056
  serializer.write_struct(_SCHEMA_LIST_DIMENSIONS_INPUT, self)
@@ -7823,7 +8294,7 @@ class UpdateDimensionInput:
7823
8294
  """
7824
8295
 
7825
8296
  workspace_id: str | None = None
7826
- org_id: str = "juspay"
8297
+ org_id: str | None = None
7827
8298
  dimension: str | None = None
7828
8299
  schema: dict[str, Document] | None = None
7829
8300
  position: int | None = None
@@ -8034,7 +8505,7 @@ ShapeID("io.superposition#InternalServerError"): InternalServerError,
8034
8505
  class DiscardExperimentInput:
8035
8506
 
8036
8507
  workspace_id: str | None = None
8037
- org_id: str = "juspay"
8508
+ org_id: str | None = None
8038
8509
  id: str | None = None
8039
8510
  change_reason: str | None = None
8040
8511
 
@@ -8237,7 +8708,8 @@ DISCARD_EXPERIMENT = APIOperation(
8237
8708
  input_schema = _SCHEMA_DISCARD_EXPERIMENT_INPUT,
8238
8709
  output_schema = _SCHEMA_DISCARD_EXPERIMENT_OUTPUT,
8239
8710
  error_registry = TypeRegistry({
8240
- ShapeID("io.superposition#InternalServerError"): InternalServerError,
8711
+ ShapeID("io.superposition#ResourceNotFound"): ResourceNotFound,
8712
+ ShapeID("io.superposition#InternalServerError"): InternalServerError,
8241
8713
  }),
8242
8714
  effective_auth_schemes = [
8243
8715
  ShapeID("smithy.api#httpBearerAuth")
@@ -8248,7 +8720,7 @@ DISCARD_EXPERIMENT = APIOperation(
8248
8720
  class GetExperimentGroupInput:
8249
8721
 
8250
8722
  workspace_id: str | None = None
8251
- org_id: str = "juspay"
8723
+ org_id: str | None = None
8252
8724
  id: str | None = None
8253
8725
 
8254
8726
  def serialize(self, serializer: ShapeSerializer):
@@ -8413,6 +8885,24 @@ ShapeID("io.superposition#InternalServerError"): InternalServerError,
8413
8885
  ]
8414
8886
  )
8415
8887
 
8888
+ def _serialize_group_type_list(serializer: ShapeSerializer, schema: Schema, value: list[str]) -> None:
8889
+ member_schema = schema.members["member"]
8890
+ with serializer.begin_list(schema, len(value)) as ls:
8891
+ for e in value:
8892
+ ls.write_string(member_schema, e)
8893
+
8894
+ def _deserialize_group_type_list(deserializer: ShapeDeserializer, schema: Schema) -> list[str]:
8895
+ result: list[str] = []
8896
+ member_schema = schema.members["member"]
8897
+ def _read_value(d: ShapeDeserializer):
8898
+ if d.is_null():
8899
+ d.read_null()
8900
+
8901
+ else:
8902
+ result.append(d.read_string(member_schema))
8903
+ deserializer.read_list(schema, _read_value)
8904
+ return result
8905
+
8416
8906
  class ExperimentGroupSortOn(StrEnum):
8417
8907
  NAME = "name"
8418
8908
  """
@@ -8434,6 +8924,16 @@ class ExperimentGroupSortOn(StrEnum):
8434
8924
  class ListExperimentGroupsInput:
8435
8925
  """
8436
8926
 
8927
+ :param count:
8928
+ Number of items to be returned in each page.
8929
+
8930
+ :param page:
8931
+ Page number to retrieve, starting from 1.
8932
+
8933
+ :param all:
8934
+ If true, returns all requested items, ignoring pagination parameters page and
8935
+ count.
8936
+
8437
8937
  :param name:
8438
8938
  Filter by experiment group name (exact match or substring, depending on backend
8439
8939
  implementation).
@@ -8450,26 +8950,22 @@ class ListExperimentGroupsInput:
8450
8950
  :param sort_by:
8451
8951
  Sort order (ascending or descending).
8452
8952
 
8453
- :param all:
8454
- If true, returns all experiment groups, ignoring pagination parameters page and
8455
- count.
8456
-
8457
8953
  :param group_type:
8458
8954
  Filter by the type of group (USER_CREATED or SYSTEM_GENERATED).
8459
8955
 
8460
8956
  """
8461
8957
 
8462
- workspace_id: str | None = None
8463
- org_id: str = "juspay"
8464
- page: int | None = None
8465
8958
  count: int | None = None
8959
+ page: int | None = None
8960
+ all: bool | None = None
8961
+ workspace_id: str | None = None
8962
+ org_id: str | None = None
8466
8963
  name: str | None = None
8467
8964
  created_by: str | None = None
8468
8965
  last_modified_by: str | None = None
8469
8966
  sort_on: str | None = None
8470
8967
  sort_by: str | None = None
8471
- all: bool | None = None
8472
- group_type: str | None = None
8968
+ group_type: list[str] | None = None
8473
8969
 
8474
8970
  def serialize(self, serializer: ShapeSerializer):
8475
8971
  serializer.write_struct(_SCHEMA_LIST_EXPERIMENT_GROUPS_INPUT, self)
@@ -8488,37 +8984,37 @@ class ListExperimentGroupsInput:
8488
8984
  def _consumer(schema: Schema, de: ShapeDeserializer) -> None:
8489
8985
  match schema.expect_member_index():
8490
8986
  case 0:
8491
- kwargs["workspace_id"] = de.read_string(_SCHEMA_LIST_EXPERIMENT_GROUPS_INPUT.members["workspace_id"])
8987
+ kwargs["count"] = de.read_integer(_SCHEMA_LIST_EXPERIMENT_GROUPS_INPUT.members["count"])
8492
8988
 
8493
8989
  case 1:
8494
- kwargs["org_id"] = de.read_string(_SCHEMA_LIST_EXPERIMENT_GROUPS_INPUT.members["org_id"])
8990
+ kwargs["page"] = de.read_integer(_SCHEMA_LIST_EXPERIMENT_GROUPS_INPUT.members["page"])
8495
8991
 
8496
8992
  case 2:
8497
- kwargs["page"] = de.read_long(_SCHEMA_LIST_EXPERIMENT_GROUPS_INPUT.members["page"])
8993
+ kwargs["all"] = de.read_boolean(_SCHEMA_LIST_EXPERIMENT_GROUPS_INPUT.members["all"])
8498
8994
 
8499
8995
  case 3:
8500
- kwargs["count"] = de.read_long(_SCHEMA_LIST_EXPERIMENT_GROUPS_INPUT.members["count"])
8996
+ kwargs["workspace_id"] = de.read_string(_SCHEMA_LIST_EXPERIMENT_GROUPS_INPUT.members["workspace_id"])
8501
8997
 
8502
8998
  case 4:
8503
- kwargs["name"] = de.read_string(_SCHEMA_LIST_EXPERIMENT_GROUPS_INPUT.members["name"])
8999
+ kwargs["org_id"] = de.read_string(_SCHEMA_LIST_EXPERIMENT_GROUPS_INPUT.members["org_id"])
8504
9000
 
8505
9001
  case 5:
8506
- kwargs["created_by"] = de.read_string(_SCHEMA_LIST_EXPERIMENT_GROUPS_INPUT.members["created_by"])
9002
+ kwargs["name"] = de.read_string(_SCHEMA_LIST_EXPERIMENT_GROUPS_INPUT.members["name"])
8507
9003
 
8508
9004
  case 6:
8509
- kwargs["last_modified_by"] = de.read_string(_SCHEMA_LIST_EXPERIMENT_GROUPS_INPUT.members["last_modified_by"])
9005
+ kwargs["created_by"] = de.read_string(_SCHEMA_LIST_EXPERIMENT_GROUPS_INPUT.members["created_by"])
8510
9006
 
8511
9007
  case 7:
8512
- kwargs["sort_on"] = de.read_string(_SCHEMA_LIST_EXPERIMENT_GROUPS_INPUT.members["sort_on"])
9008
+ kwargs["last_modified_by"] = de.read_string(_SCHEMA_LIST_EXPERIMENT_GROUPS_INPUT.members["last_modified_by"])
8513
9009
 
8514
9010
  case 8:
8515
- kwargs["sort_by"] = de.read_string(_SCHEMA_LIST_EXPERIMENT_GROUPS_INPUT.members["sort_by"])
9011
+ kwargs["sort_on"] = de.read_string(_SCHEMA_LIST_EXPERIMENT_GROUPS_INPUT.members["sort_on"])
8516
9012
 
8517
9013
  case 9:
8518
- kwargs["all"] = de.read_boolean(_SCHEMA_LIST_EXPERIMENT_GROUPS_INPUT.members["all"])
9014
+ kwargs["sort_by"] = de.read_string(_SCHEMA_LIST_EXPERIMENT_GROUPS_INPUT.members["sort_by"])
8519
9015
 
8520
9016
  case 10:
8521
- kwargs["group_type"] = de.read_string(_SCHEMA_LIST_EXPERIMENT_GROUPS_INPUT.members["group_type"])
9017
+ kwargs["group_type"] = _deserialize_group_type_list(de, _SCHEMA_LIST_EXPERIMENT_GROUPS_INPUT.members["group_type"])
8522
9018
 
8523
9019
  case _:
8524
9020
  logger.debug("Unexpected member schema: %s", schema)
@@ -8662,27 +9158,28 @@ def _deserialize_experiment_group_list(deserializer: ShapeDeserializer, schema:
8662
9158
  @dataclass(kw_only=True)
8663
9159
  class ListExperimentGroupsOutput:
8664
9160
  """
8665
- Output structure for the list experiment groups operation, including pagination
8666
- details.
8667
9161
 
8668
9162
  :param data:
8669
- **[Required]** - A list of experiment group responses.
9163
+ A list of experiment group responses.
8670
9164
 
8671
9165
  """
8672
9166
 
8673
- total_pages: int
8674
-
8675
- total_items: int
8676
-
8677
- data: list[ExperimentGroupResponse]
9167
+ total_pages: int | None = None
9168
+ total_items: int | None = None
9169
+ data: list[ExperimentGroupResponse] | None = None
8678
9170
 
8679
9171
  def serialize(self, serializer: ShapeSerializer):
8680
9172
  serializer.write_struct(_SCHEMA_LIST_EXPERIMENT_GROUPS_OUTPUT, self)
8681
9173
 
8682
9174
  def serialize_members(self, serializer: ShapeSerializer):
8683
- serializer.write_long(_SCHEMA_LIST_EXPERIMENT_GROUPS_OUTPUT.members["total_pages"], self.total_pages)
8684
- serializer.write_long(_SCHEMA_LIST_EXPERIMENT_GROUPS_OUTPUT.members["total_items"], self.total_items)
8685
- _serialize_experiment_group_list(serializer, _SCHEMA_LIST_EXPERIMENT_GROUPS_OUTPUT.members["data"], self.data)
9175
+ if self.total_pages is not None:
9176
+ serializer.write_integer(_SCHEMA_LIST_EXPERIMENT_GROUPS_OUTPUT.members["total_pages"], self.total_pages)
9177
+
9178
+ if self.total_items is not None:
9179
+ serializer.write_integer(_SCHEMA_LIST_EXPERIMENT_GROUPS_OUTPUT.members["total_items"], self.total_items)
9180
+
9181
+ if self.data is not None:
9182
+ _serialize_experiment_group_list(serializer, _SCHEMA_LIST_EXPERIMENT_GROUPS_OUTPUT.members["data"], self.data)
8686
9183
 
8687
9184
  @classmethod
8688
9185
  def deserialize(cls, deserializer: ShapeDeserializer) -> Self:
@@ -8695,10 +9192,10 @@ class ListExperimentGroupsOutput:
8695
9192
  def _consumer(schema: Schema, de: ShapeDeserializer) -> None:
8696
9193
  match schema.expect_member_index():
8697
9194
  case 0:
8698
- kwargs["total_pages"] = de.read_long(_SCHEMA_LIST_EXPERIMENT_GROUPS_OUTPUT.members["total_pages"])
9195
+ kwargs["total_pages"] = de.read_integer(_SCHEMA_LIST_EXPERIMENT_GROUPS_OUTPUT.members["total_pages"])
8699
9196
 
8700
9197
  case 1:
8701
- kwargs["total_items"] = de.read_long(_SCHEMA_LIST_EXPERIMENT_GROUPS_OUTPUT.members["total_items"])
9198
+ kwargs["total_items"] = de.read_integer(_SCHEMA_LIST_EXPERIMENT_GROUPS_OUTPUT.members["total_items"])
8702
9199
 
8703
9200
  case 2:
8704
9201
  kwargs["data"] = _deserialize_experiment_group_list(de, _SCHEMA_LIST_EXPERIMENT_GROUPS_OUTPUT.members["data"])
@@ -8737,7 +9234,7 @@ class RemoveMembersFromGroupInput:
8737
9234
  """
8738
9235
 
8739
9236
  workspace_id: str | None = None
8740
- org_id: str = "juspay"
9237
+ org_id: str | None = None
8741
9238
  id: str | None = None
8742
9239
  change_reason: str | None = None
8743
9240
  member_experiment_ids: list[str] | None = None
@@ -8931,7 +9428,7 @@ class UpdateExperimentGroupInput:
8931
9428
  """
8932
9429
 
8933
9430
  workspace_id: str | None = None
8934
- org_id: str = "juspay"
9431
+ org_id: str | None = None
8935
9432
  id: str | None = None
8936
9433
  change_reason: str | None = None
8937
9434
  description: str | None = None
@@ -9293,7 +9790,7 @@ def _deserialize_experiment_list(deserializer: ShapeDeserializer, schema: Schema
9293
9790
  class GetExperimentInput:
9294
9791
 
9295
9792
  workspace_id: str | None = None
9296
- org_id: str = "juspay"
9793
+ org_id: str | None = None
9297
9794
  id: str | None = None
9298
9795
 
9299
9796
  def serialize(self, serializer: ShapeSerializer):
@@ -9491,7 +9988,8 @@ GET_EXPERIMENT = APIOperation(
9491
9988
  input_schema = _SCHEMA_GET_EXPERIMENT_INPUT,
9492
9989
  output_schema = _SCHEMA_GET_EXPERIMENT_OUTPUT,
9493
9990
  error_registry = TypeRegistry({
9494
- ShapeID("io.superposition#InternalServerError"): InternalServerError,
9991
+ ShapeID("io.superposition#ResourceNotFound"): ResourceNotFound,
9992
+ ShapeID("io.superposition#InternalServerError"): InternalServerError,
9495
9993
  }),
9496
9994
  effective_auth_schemes = [
9497
9995
  ShapeID("smithy.api#httpBearerAuth")
@@ -9502,10 +10000,38 @@ class ExperimentSortOn(StrEnum):
9502
10000
  LAST_MODIFIED_AT = "last_modified_at"
9503
10001
  CREATED_AT = "created_at"
9504
10002
 
10003
+ def _serialize_experiment_status_type_list(serializer: ShapeSerializer, schema: Schema, value: list[str]) -> None:
10004
+ member_schema = schema.members["member"]
10005
+ with serializer.begin_list(schema, len(value)) as ls:
10006
+ for e in value:
10007
+ ls.write_string(member_schema, e)
10008
+
10009
+ def _deserialize_experiment_status_type_list(deserializer: ShapeDeserializer, schema: Schema) -> list[str]:
10010
+ result: list[str] = []
10011
+ member_schema = schema.members["member"]
10012
+ def _read_value(d: ShapeDeserializer):
10013
+ if d.is_null():
10014
+ d.read_null()
10015
+
10016
+ else:
10017
+ result.append(d.read_string(member_schema))
10018
+ deserializer.read_list(schema, _read_value)
10019
+ return result
10020
+
9505
10021
  @dataclass(kw_only=True)
9506
10022
  class ListExperimentInput:
9507
10023
  """
9508
10024
 
10025
+ :param count:
10026
+ Number of items to be returned in each page.
10027
+
10028
+ :param page:
10029
+ Page number to retrieve, starting from 1.
10030
+
10031
+ :param all:
10032
+ If true, returns all requested items, ignoring pagination parameters page and
10033
+ count.
10034
+
9509
10035
  :param sort_by:
9510
10036
  Sort order enumeration for list operations.
9511
10037
 
@@ -9514,18 +10040,18 @@ class ListExperimentInput:
9514
10040
 
9515
10041
  """
9516
10042
 
9517
- workspace_id: str | None = None
9518
- org_id: str = "juspay"
9519
- page: int | None = None
9520
10043
  count: int | None = None
10044
+ page: int | None = None
9521
10045
  all: bool | None = None
9522
- status: str | None = None
10046
+ workspace_id: str | None = None
10047
+ org_id: str | None = None
10048
+ status: list[str] | None = None
9523
10049
  from_date: datetime | None = None
9524
10050
  to_date: datetime | None = None
9525
10051
  experiment_name: str | None = None
9526
- experiment_ids: str | None = None
9527
- experiment_group_ids: str | None = None
9528
- created_by: str | None = None
10052
+ experiment_ids: list[str] | None = None
10053
+ experiment_group_ids: list[str] | None = None
10054
+ created_by: list[str] | None = None
9529
10055
  sort_on: str | None = None
9530
10056
  sort_by: str | None = None
9531
10057
  global_experiments_only: bool | None = None
@@ -9548,22 +10074,22 @@ class ListExperimentInput:
9548
10074
  def _consumer(schema: Schema, de: ShapeDeserializer) -> None:
9549
10075
  match schema.expect_member_index():
9550
10076
  case 0:
9551
- kwargs["workspace_id"] = de.read_string(_SCHEMA_LIST_EXPERIMENT_INPUT.members["workspace_id"])
10077
+ kwargs["count"] = de.read_integer(_SCHEMA_LIST_EXPERIMENT_INPUT.members["count"])
9552
10078
 
9553
10079
  case 1:
9554
- kwargs["org_id"] = de.read_string(_SCHEMA_LIST_EXPERIMENT_INPUT.members["org_id"])
10080
+ kwargs["page"] = de.read_integer(_SCHEMA_LIST_EXPERIMENT_INPUT.members["page"])
9555
10081
 
9556
10082
  case 2:
9557
- kwargs["page"] = de.read_long(_SCHEMA_LIST_EXPERIMENT_INPUT.members["page"])
10083
+ kwargs["all"] = de.read_boolean(_SCHEMA_LIST_EXPERIMENT_INPUT.members["all"])
9558
10084
 
9559
10085
  case 3:
9560
- kwargs["count"] = de.read_long(_SCHEMA_LIST_EXPERIMENT_INPUT.members["count"])
10086
+ kwargs["workspace_id"] = de.read_string(_SCHEMA_LIST_EXPERIMENT_INPUT.members["workspace_id"])
9561
10087
 
9562
10088
  case 4:
9563
- kwargs["all"] = de.read_boolean(_SCHEMA_LIST_EXPERIMENT_INPUT.members["all"])
10089
+ kwargs["org_id"] = de.read_string(_SCHEMA_LIST_EXPERIMENT_INPUT.members["org_id"])
9564
10090
 
9565
10091
  case 5:
9566
- kwargs["status"] = de.read_string(_SCHEMA_LIST_EXPERIMENT_INPUT.members["status"])
10092
+ kwargs["status"] = _deserialize_experiment_status_type_list(de, _SCHEMA_LIST_EXPERIMENT_INPUT.members["status"])
9567
10093
 
9568
10094
  case 6:
9569
10095
  kwargs["from_date"] = de.read_timestamp(_SCHEMA_LIST_EXPERIMENT_INPUT.members["from_date"])
@@ -9575,13 +10101,13 @@ class ListExperimentInput:
9575
10101
  kwargs["experiment_name"] = de.read_string(_SCHEMA_LIST_EXPERIMENT_INPUT.members["experiment_name"])
9576
10102
 
9577
10103
  case 9:
9578
- kwargs["experiment_ids"] = de.read_string(_SCHEMA_LIST_EXPERIMENT_INPUT.members["experiment_ids"])
10104
+ kwargs["experiment_ids"] = _deserialize_string_list(de, _SCHEMA_LIST_EXPERIMENT_INPUT.members["experiment_ids"])
9579
10105
 
9580
10106
  case 10:
9581
- kwargs["experiment_group_ids"] = de.read_string(_SCHEMA_LIST_EXPERIMENT_INPUT.members["experiment_group_ids"])
10107
+ kwargs["experiment_group_ids"] = _deserialize_string_list(de, _SCHEMA_LIST_EXPERIMENT_INPUT.members["experiment_group_ids"])
9582
10108
 
9583
10109
  case 11:
9584
- kwargs["created_by"] = de.read_string(_SCHEMA_LIST_EXPERIMENT_INPUT.members["created_by"])
10110
+ kwargs["created_by"] = _deserialize_string_list(de, _SCHEMA_LIST_EXPERIMENT_INPUT.members["created_by"])
9585
10111
 
9586
10112
  case 12:
9587
10113
  kwargs["sort_on"] = de.read_string(_SCHEMA_LIST_EXPERIMENT_INPUT.members["sort_on"])
@@ -9604,19 +10130,22 @@ class ListExperimentInput:
9604
10130
  @dataclass(kw_only=True)
9605
10131
  class ListExperimentOutput:
9606
10132
 
9607
- total_pages: int
9608
-
9609
- total_items: int
9610
-
9611
- data: list[ExperimentResponse]
10133
+ total_pages: int | None = None
10134
+ total_items: int | None = None
10135
+ data: list[ExperimentResponse] | None = None
9612
10136
 
9613
10137
  def serialize(self, serializer: ShapeSerializer):
9614
10138
  serializer.write_struct(_SCHEMA_LIST_EXPERIMENT_OUTPUT, self)
9615
10139
 
9616
10140
  def serialize_members(self, serializer: ShapeSerializer):
9617
- serializer.write_long(_SCHEMA_LIST_EXPERIMENT_OUTPUT.members["total_pages"], self.total_pages)
9618
- serializer.write_long(_SCHEMA_LIST_EXPERIMENT_OUTPUT.members["total_items"], self.total_items)
9619
- _serialize_experiment_list(serializer, _SCHEMA_LIST_EXPERIMENT_OUTPUT.members["data"], self.data)
10141
+ if self.total_pages is not None:
10142
+ serializer.write_integer(_SCHEMA_LIST_EXPERIMENT_OUTPUT.members["total_pages"], self.total_pages)
10143
+
10144
+ if self.total_items is not None:
10145
+ serializer.write_integer(_SCHEMA_LIST_EXPERIMENT_OUTPUT.members["total_items"], self.total_items)
10146
+
10147
+ if self.data is not None:
10148
+ _serialize_experiment_list(serializer, _SCHEMA_LIST_EXPERIMENT_OUTPUT.members["data"], self.data)
9620
10149
 
9621
10150
  @classmethod
9622
10151
  def deserialize(cls, deserializer: ShapeDeserializer) -> Self:
@@ -9629,10 +10158,10 @@ class ListExperimentOutput:
9629
10158
  def _consumer(schema: Schema, de: ShapeDeserializer) -> None:
9630
10159
  match schema.expect_member_index():
9631
10160
  case 0:
9632
- kwargs["total_pages"] = de.read_long(_SCHEMA_LIST_EXPERIMENT_OUTPUT.members["total_pages"])
10161
+ kwargs["total_pages"] = de.read_integer(_SCHEMA_LIST_EXPERIMENT_OUTPUT.members["total_pages"])
9633
10162
 
9634
10163
  case 1:
9635
- kwargs["total_items"] = de.read_long(_SCHEMA_LIST_EXPERIMENT_OUTPUT.members["total_items"])
10164
+ kwargs["total_items"] = de.read_integer(_SCHEMA_LIST_EXPERIMENT_OUTPUT.members["total_items"])
9636
10165
 
9637
10166
  case 2:
9638
10167
  kwargs["data"] = _deserialize_experiment_list(de, _SCHEMA_LIST_EXPERIMENT_OUTPUT.members["data"])
@@ -9661,7 +10190,7 @@ LIST_EXPERIMENT = APIOperation(
9661
10190
  class PauseExperimentInput:
9662
10191
 
9663
10192
  workspace_id: str | None = None
9664
- org_id: str = "juspay"
10193
+ org_id: str | None = None
9665
10194
  id: str | None = None
9666
10195
  change_reason: str | None = None
9667
10196
 
@@ -9864,7 +10393,8 @@ PAUSE_EXPERIMENT = APIOperation(
9864
10393
  input_schema = _SCHEMA_PAUSE_EXPERIMENT_INPUT,
9865
10394
  output_schema = _SCHEMA_PAUSE_EXPERIMENT_OUTPUT,
9866
10395
  error_registry = TypeRegistry({
9867
- ShapeID("io.superposition#InternalServerError"): InternalServerError,
10396
+ ShapeID("io.superposition#ResourceNotFound"): ResourceNotFound,
10397
+ ShapeID("io.superposition#InternalServerError"): InternalServerError,
9868
10398
  }),
9869
10399
  effective_auth_schemes = [
9870
10400
  ShapeID("smithy.api#httpBearerAuth")
@@ -9875,7 +10405,7 @@ PAUSE_EXPERIMENT = APIOperation(
9875
10405
  class RampExperimentInput:
9876
10406
 
9877
10407
  workspace_id: str | None = None
9878
- org_id: str = "juspay"
10408
+ org_id: str | None = None
9879
10409
  id: str | None = None
9880
10410
  change_reason: str | None = None
9881
10411
  traffic_percentage: int | None = None
@@ -10085,7 +10615,8 @@ RAMP_EXPERIMENT = APIOperation(
10085
10615
  input_schema = _SCHEMA_RAMP_EXPERIMENT_INPUT,
10086
10616
  output_schema = _SCHEMA_RAMP_EXPERIMENT_OUTPUT,
10087
10617
  error_registry = TypeRegistry({
10088
- ShapeID("io.superposition#InternalServerError"): InternalServerError,
10618
+ ShapeID("io.superposition#ResourceNotFound"): ResourceNotFound,
10619
+ ShapeID("io.superposition#InternalServerError"): InternalServerError,
10089
10620
  }),
10090
10621
  effective_auth_schemes = [
10091
10622
  ShapeID("smithy.api#httpBearerAuth")
@@ -10096,7 +10627,7 @@ RAMP_EXPERIMENT = APIOperation(
10096
10627
  class ResumeExperimentInput:
10097
10628
 
10098
10629
  workspace_id: str | None = None
10099
- org_id: str = "juspay"
10630
+ org_id: str | None = None
10100
10631
  id: str | None = None
10101
10632
  change_reason: str | None = None
10102
10633
 
@@ -10299,7 +10830,8 @@ RESUME_EXPERIMENT = APIOperation(
10299
10830
  input_schema = _SCHEMA_RESUME_EXPERIMENT_INPUT,
10300
10831
  output_schema = _SCHEMA_RESUME_EXPERIMENT_OUTPUT,
10301
10832
  error_registry = TypeRegistry({
10302
- ShapeID("io.superposition#InternalServerError"): InternalServerError,
10833
+ ShapeID("io.superposition#ResourceNotFound"): ResourceNotFound,
10834
+ ShapeID("io.superposition#InternalServerError"): InternalServerError,
10303
10835
  }),
10304
10836
  effective_auth_schemes = [
10305
10837
  ShapeID("smithy.api#httpBearerAuth")
@@ -10363,7 +10895,7 @@ def _deserialize_list_variant_update_request(deserializer: ShapeDeserializer, sc
10363
10895
  class UpdateOverridesExperimentInput:
10364
10896
 
10365
10897
  workspace_id: str | None = None
10366
- org_id: str = "juspay"
10898
+ org_id: str | None = None
10367
10899
  id: str | None = None
10368
10900
  variant_list: list[VariantUpdateRequest] | None = None
10369
10901
  description: str | None = None
@@ -10594,7 +11126,8 @@ UPDATE_OVERRIDES_EXPERIMENT = APIOperation(
10594
11126
  input_schema = _SCHEMA_UPDATE_OVERRIDES_EXPERIMENT_INPUT,
10595
11127
  output_schema = _SCHEMA_UPDATE_OVERRIDES_EXPERIMENT_OUTPUT,
10596
11128
  error_registry = TypeRegistry({
10597
- ShapeID("io.superposition#InternalServerError"): InternalServerError,
11129
+ ShapeID("io.superposition#ResourceNotFound"): ResourceNotFound,
11130
+ ShapeID("io.superposition#InternalServerError"): InternalServerError,
10598
11131
  }),
10599
11132
  effective_auth_schemes = [
10600
11133
  ShapeID("smithy.api#httpBearerAuth")
@@ -10605,7 +11138,7 @@ UPDATE_OVERRIDES_EXPERIMENT = APIOperation(
10605
11138
  class GetFunctionInput:
10606
11139
 
10607
11140
  workspace_id: str | None = None
10608
- org_id: str = "juspay"
11141
+ org_id: str | None = None
10609
11142
  function_name: str | None = None
10610
11143
 
10611
11144
  def serialize(self, serializer: ShapeSerializer):
@@ -10759,7 +11292,7 @@ GET_FUNCTION = APIOperation(
10759
11292
  input_schema = _SCHEMA_GET_FUNCTION_INPUT,
10760
11293
  output_schema = _SCHEMA_GET_FUNCTION_OUTPUT,
10761
11294
  error_registry = TypeRegistry({
10762
- ShapeID("io.superposition#FunctionNotFound"): FunctionNotFound,
11295
+ ShapeID("io.superposition#ResourceNotFound"): ResourceNotFound,
10763
11296
  ShapeID("io.superposition#InternalServerError"): InternalServerError,
10764
11297
  }),
10765
11298
  effective_auth_schemes = [
@@ -10767,14 +11300,46 @@ ShapeID("io.superposition#InternalServerError"): InternalServerError,
10767
11300
  ]
10768
11301
  )
10769
11302
 
11303
+ def _serialize_function_types_list(serializer: ShapeSerializer, schema: Schema, value: list[str]) -> None:
11304
+ member_schema = schema.members["member"]
11305
+ with serializer.begin_list(schema, len(value)) as ls:
11306
+ for e in value:
11307
+ ls.write_string(member_schema, e)
11308
+
11309
+ def _deserialize_function_types_list(deserializer: ShapeDeserializer, schema: Schema) -> list[str]:
11310
+ result: list[str] = []
11311
+ member_schema = schema.members["member"]
11312
+ def _read_value(d: ShapeDeserializer):
11313
+ if d.is_null():
11314
+ d.read_null()
11315
+
11316
+ else:
11317
+ result.append(d.read_string(member_schema))
11318
+ deserializer.read_list(schema, _read_value)
11319
+ return result
11320
+
10770
11321
  @dataclass(kw_only=True)
10771
11322
  class ListFunctionInput:
11323
+ """
11324
+
11325
+ :param count:
11326
+ Number of items to be returned in each page.
11327
+
11328
+ :param page:
11329
+ Page number to retrieve, starting from 1.
11330
+
11331
+ :param all:
11332
+ If true, returns all requested items, ignoring pagination parameters page and
11333
+ count.
11334
+
11335
+ """
10772
11336
 
10773
11337
  count: int | None = None
10774
11338
  page: int | None = None
10775
11339
  all: bool | None = None
10776
11340
  workspace_id: str | None = None
10777
- org_id: str = "juspay"
11341
+ org_id: str | None = None
11342
+ function_type: list[str] | None = None
10778
11343
 
10779
11344
  def serialize(self, serializer: ShapeSerializer):
10780
11345
  serializer.write_struct(_SCHEMA_LIST_FUNCTION_INPUT, self)
@@ -10807,6 +11372,9 @@ class ListFunctionInput:
10807
11372
  case 4:
10808
11373
  kwargs["org_id"] = de.read_string(_SCHEMA_LIST_FUNCTION_INPUT.members["org_id"])
10809
11374
 
11375
+ case 5:
11376
+ kwargs["function_type"] = _deserialize_function_types_list(de, _SCHEMA_LIST_FUNCTION_INPUT.members["function_type"])
11377
+
10810
11378
  case _:
10811
11379
  logger.debug("Unexpected member schema: %s", schema)
10812
11380
 
@@ -11006,7 +11574,7 @@ LIST_FUNCTION = APIOperation(
11006
11574
  class PublishInput:
11007
11575
 
11008
11576
  workspace_id: str | None = None
11009
- org_id: str = "juspay"
11577
+ org_id: str | None = None
11010
11578
  function_name: str | None = None
11011
11579
  change_reason: str | None = None
11012
11580
 
@@ -11165,7 +11733,7 @@ PUBLISH = APIOperation(
11165
11733
  input_schema = _SCHEMA_PUBLISH_INPUT,
11166
11734
  output_schema = _SCHEMA_PUBLISH_OUTPUT,
11167
11735
  error_registry = TypeRegistry({
11168
- ShapeID("io.superposition#FunctionNotFound"): FunctionNotFound,
11736
+ ShapeID("io.superposition#ResourceNotFound"): ResourceNotFound,
11169
11737
  ShapeID("io.superposition#InternalServerError"): InternalServerError,
11170
11738
  }),
11171
11739
  effective_auth_schemes = [
@@ -11301,7 +11869,7 @@ class Stage(StrEnum):
11301
11869
  class TestInput:
11302
11870
 
11303
11871
  workspace_id: str | None = None
11304
- org_id: str = "juspay"
11872
+ org_id: str | None = None
11305
11873
  function_name: str | None = None
11306
11874
  stage: str | None = None
11307
11875
  request: FunctionExecutionRequest | None = None
@@ -11392,7 +11960,7 @@ TEST = APIOperation(
11392
11960
  input_schema = _SCHEMA_TEST_INPUT,
11393
11961
  output_schema = _SCHEMA_TEST_OUTPUT,
11394
11962
  error_registry = TypeRegistry({
11395
- ShapeID("io.superposition#FunctionNotFound"): FunctionNotFound,
11963
+ ShapeID("io.superposition#ResourceNotFound"): ResourceNotFound,
11396
11964
  ShapeID("io.superposition#InternalServerError"): InternalServerError,
11397
11965
  }),
11398
11966
  effective_auth_schemes = [
@@ -11404,7 +11972,7 @@ ShapeID("io.superposition#InternalServerError"): InternalServerError,
11404
11972
  class UpdateFunctionInput:
11405
11973
 
11406
11974
  workspace_id: str | None = None
11407
- org_id: str = "juspay"
11975
+ org_id: str | None = None
11408
11976
  function_name: str | None = None
11409
11977
  description: str | None = None
11410
11978
  change_reason: str | None = None
@@ -11584,7 +12152,7 @@ UPDATE_FUNCTION = APIOperation(
11584
12152
  input_schema = _SCHEMA_UPDATE_FUNCTION_INPUT,
11585
12153
  output_schema = _SCHEMA_UPDATE_FUNCTION_OUTPUT,
11586
12154
  error_registry = TypeRegistry({
11587
- ShapeID("io.superposition#FunctionNotFound"): FunctionNotFound,
12155
+ ShapeID("io.superposition#ResourceNotFound"): ResourceNotFound,
11588
12156
  ShapeID("io.superposition#InternalServerError"): InternalServerError,
11589
12157
  }),
11590
12158
  effective_auth_schemes = [
@@ -11723,16 +12291,30 @@ class GetOrganisationOutput:
11723
12291
  deserializer.read_struct(_SCHEMA_GET_ORGANISATION_OUTPUT, consumer=_consumer)
11724
12292
  return kwargs
11725
12293
 
11726
- @dataclass(kw_only=True)
11727
- class OrganisationNotFound(ApiError):
12294
+ GET_ORGANISATION = APIOperation(
12295
+ input = GetOrganisationInput,
12296
+ output = GetOrganisationOutput,
12297
+ schema = _SCHEMA_GET_ORGANISATION,
12298
+ input_schema = _SCHEMA_GET_ORGANISATION_INPUT,
12299
+ output_schema = _SCHEMA_GET_ORGANISATION_OUTPUT,
12300
+ error_registry = TypeRegistry({
12301
+ ShapeID("io.superposition#ResourceNotFound"): ResourceNotFound,
12302
+ ShapeID("io.superposition#InternalServerError"): InternalServerError,
12303
+ }),
12304
+ effective_auth_schemes = [
12305
+ ShapeID("smithy.api#httpBearerAuth")
12306
+ ]
12307
+ )
11728
12308
 
11729
- code: ClassVar[str] = "OrganisationNotFound"
11730
- fault: ClassVar[Literal["client", "server"]] = "client"
12309
+ @dataclass(kw_only=True)
12310
+ class GetTypeTemplateInput:
11731
12311
 
11732
- message: str
12312
+ workspace_id: str | None = None
12313
+ org_id: str | None = None
12314
+ type_name: str | None = None
11733
12315
 
11734
12316
  def serialize(self, serializer: ShapeSerializer):
11735
- serializer.write_struct(_SCHEMA_ORGANISATION_NOT_FOUND, self)
12317
+ serializer.write_struct(_SCHEMA_GET_TYPE_TEMPLATE_INPUT, self)
11736
12318
 
11737
12319
  def serialize_members(self, serializer: ShapeSerializer):
11738
12320
  pass
@@ -11747,21 +12329,108 @@ class OrganisationNotFound(ApiError):
11747
12329
 
11748
12330
  def _consumer(schema: Schema, de: ShapeDeserializer) -> None:
11749
12331
  match schema.expect_member_index():
12332
+ case 0:
12333
+ kwargs["workspace_id"] = de.read_string(_SCHEMA_GET_TYPE_TEMPLATE_INPUT.members["workspace_id"])
11750
12334
 
11751
- case _:
11752
- logger.debug("Unexpected member schema: %s", schema)
12335
+ case 1:
12336
+ kwargs["org_id"] = de.read_string(_SCHEMA_GET_TYPE_TEMPLATE_INPUT.members["org_id"])
11753
12337
 
11754
- deserializer.read_struct(_SCHEMA_ORGANISATION_NOT_FOUND, consumer=_consumer)
12338
+ case 2:
12339
+ kwargs["type_name"] = de.read_string(_SCHEMA_GET_TYPE_TEMPLATE_INPUT.members["type_name"])
12340
+
12341
+ case _:
12342
+ logger.debug("Unexpected member schema: %s", schema)
12343
+
12344
+ deserializer.read_struct(_SCHEMA_GET_TYPE_TEMPLATE_INPUT, consumer=_consumer)
11755
12345
  return kwargs
11756
12346
 
11757
- GET_ORGANISATION = APIOperation(
11758
- input = GetOrganisationInput,
11759
- output = GetOrganisationOutput,
11760
- schema = _SCHEMA_GET_ORGANISATION,
11761
- input_schema = _SCHEMA_GET_ORGANISATION_INPUT,
11762
- output_schema = _SCHEMA_GET_ORGANISATION_OUTPUT,
12347
+ @dataclass(kw_only=True)
12348
+ class GetTypeTemplateOutput:
12349
+ """
12350
+
12351
+ :param type_schema:
12352
+ **[Required]** - Generic key-value object structure used for flexible data
12353
+ representation throughout the API.
12354
+
12355
+ """
12356
+
12357
+ type_name: str
12358
+
12359
+ type_schema: dict[str, Document]
12360
+
12361
+ description: str
12362
+
12363
+ change_reason: str
12364
+
12365
+ created_by: str
12366
+
12367
+ created_at: datetime
12368
+
12369
+ last_modified_at: datetime
12370
+
12371
+ last_modified_by: str
12372
+
12373
+ def serialize(self, serializer: ShapeSerializer):
12374
+ serializer.write_struct(_SCHEMA_GET_TYPE_TEMPLATE_OUTPUT, self)
12375
+
12376
+ def serialize_members(self, serializer: ShapeSerializer):
12377
+ serializer.write_string(_SCHEMA_GET_TYPE_TEMPLATE_OUTPUT.members["type_name"], self.type_name)
12378
+ _serialize_object(serializer, _SCHEMA_GET_TYPE_TEMPLATE_OUTPUT.members["type_schema"], self.type_schema)
12379
+ serializer.write_string(_SCHEMA_GET_TYPE_TEMPLATE_OUTPUT.members["description"], self.description)
12380
+ serializer.write_string(_SCHEMA_GET_TYPE_TEMPLATE_OUTPUT.members["change_reason"], self.change_reason)
12381
+ serializer.write_string(_SCHEMA_GET_TYPE_TEMPLATE_OUTPUT.members["created_by"], self.created_by)
12382
+ serializer.write_timestamp(_SCHEMA_GET_TYPE_TEMPLATE_OUTPUT.members["created_at"], self.created_at)
12383
+ serializer.write_timestamp(_SCHEMA_GET_TYPE_TEMPLATE_OUTPUT.members["last_modified_at"], self.last_modified_at)
12384
+ serializer.write_string(_SCHEMA_GET_TYPE_TEMPLATE_OUTPUT.members["last_modified_by"], self.last_modified_by)
12385
+
12386
+ @classmethod
12387
+ def deserialize(cls, deserializer: ShapeDeserializer) -> Self:
12388
+ return cls(**cls.deserialize_kwargs(deserializer))
12389
+
12390
+ @classmethod
12391
+ def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]:
12392
+ kwargs: dict[str, Any] = {}
12393
+
12394
+ def _consumer(schema: Schema, de: ShapeDeserializer) -> None:
12395
+ match schema.expect_member_index():
12396
+ case 0:
12397
+ kwargs["type_name"] = de.read_string(_SCHEMA_GET_TYPE_TEMPLATE_OUTPUT.members["type_name"])
12398
+
12399
+ case 1:
12400
+ kwargs["type_schema"] = _deserialize_object(de, _SCHEMA_GET_TYPE_TEMPLATE_OUTPUT.members["type_schema"])
12401
+
12402
+ case 2:
12403
+ kwargs["description"] = de.read_string(_SCHEMA_GET_TYPE_TEMPLATE_OUTPUT.members["description"])
12404
+
12405
+ case 3:
12406
+ kwargs["change_reason"] = de.read_string(_SCHEMA_GET_TYPE_TEMPLATE_OUTPUT.members["change_reason"])
12407
+
12408
+ case 4:
12409
+ kwargs["created_by"] = de.read_string(_SCHEMA_GET_TYPE_TEMPLATE_OUTPUT.members["created_by"])
12410
+
12411
+ case 5:
12412
+ kwargs["created_at"] = de.read_timestamp(_SCHEMA_GET_TYPE_TEMPLATE_OUTPUT.members["created_at"])
12413
+
12414
+ case 6:
12415
+ kwargs["last_modified_at"] = de.read_timestamp(_SCHEMA_GET_TYPE_TEMPLATE_OUTPUT.members["last_modified_at"])
12416
+
12417
+ case 7:
12418
+ kwargs["last_modified_by"] = de.read_string(_SCHEMA_GET_TYPE_TEMPLATE_OUTPUT.members["last_modified_by"])
12419
+
12420
+ case _:
12421
+ logger.debug("Unexpected member schema: %s", schema)
12422
+
12423
+ deserializer.read_struct(_SCHEMA_GET_TYPE_TEMPLATE_OUTPUT, consumer=_consumer)
12424
+ return kwargs
12425
+
12426
+ GET_TYPE_TEMPLATE = APIOperation(
12427
+ input = GetTypeTemplateInput,
12428
+ output = GetTypeTemplateOutput,
12429
+ schema = _SCHEMA_GET_TYPE_TEMPLATE,
12430
+ input_schema = _SCHEMA_GET_TYPE_TEMPLATE_INPUT,
12431
+ output_schema = _SCHEMA_GET_TYPE_TEMPLATE_OUTPUT,
11763
12432
  error_registry = TypeRegistry({
11764
- ShapeID("io.superposition#OrganisationNotFound"): OrganisationNotFound,
12433
+ ShapeID("io.superposition#ResourceNotFound"): ResourceNotFound,
11765
12434
  ShapeID("io.superposition#InternalServerError"): InternalServerError,
11766
12435
  }),
11767
12436
  effective_auth_schemes = [
@@ -11771,12 +12440,25 @@ ShapeID("io.superposition#InternalServerError"): InternalServerError,
11771
12440
 
11772
12441
  @dataclass(kw_only=True)
11773
12442
  class GetTypeTemplatesListInput:
12443
+ """
12444
+
12445
+ :param count:
12446
+ Number of items to be returned in each page.
12447
+
12448
+ :param page:
12449
+ Page number to retrieve, starting from 1.
12450
+
12451
+ :param all:
12452
+ If true, returns all requested items, ignoring pagination parameters page and
12453
+ count.
12454
+
12455
+ """
11774
12456
 
11775
12457
  count: int | None = None
11776
12458
  page: int | None = None
11777
12459
  all: bool | None = None
11778
12460
  workspace_id: str | None = None
11779
- org_id: str = "juspay"
12461
+ org_id: str | None = None
11780
12462
 
11781
12463
  def serialize(self, serializer: ShapeSerializer):
11782
12464
  serializer.write_struct(_SCHEMA_GET_TYPE_TEMPLATES_LIST_INPUT, self)
@@ -11974,7 +12656,7 @@ GET_TYPE_TEMPLATES_LIST = APIOperation(
11974
12656
  class GetWebhookInput:
11975
12657
 
11976
12658
  workspace_id: str | None = None
11977
- org_id: str = "juspay"
12659
+ org_id: str | None = None
11978
12660
  name: str | None = None
11979
12661
 
11980
12662
  def serialize(self, serializer: ShapeSerializer):
@@ -12139,7 +12821,358 @@ GET_WEBHOOK = APIOperation(
12139
12821
  input_schema = _SCHEMA_GET_WEBHOOK_INPUT,
12140
12822
  output_schema = _SCHEMA_GET_WEBHOOK_OUTPUT,
12141
12823
  error_registry = TypeRegistry({
12142
- ShapeID("io.superposition#InternalServerError"): InternalServerError,
12824
+ ShapeID("io.superposition#ResourceNotFound"): ResourceNotFound,
12825
+ ShapeID("io.superposition#InternalServerError"): InternalServerError,
12826
+ }),
12827
+ effective_auth_schemes = [
12828
+ ShapeID("smithy.api#httpBearerAuth")
12829
+ ]
12830
+ )
12831
+
12832
+ @dataclass(kw_only=True)
12833
+ class GetWebhookByEventInput:
12834
+
12835
+ workspace_id: str | None = None
12836
+ org_id: str | None = None
12837
+ event: str | None = None
12838
+
12839
+ def serialize(self, serializer: ShapeSerializer):
12840
+ serializer.write_struct(_SCHEMA_GET_WEBHOOK_BY_EVENT_INPUT, self)
12841
+
12842
+ def serialize_members(self, serializer: ShapeSerializer):
12843
+ pass
12844
+
12845
+ @classmethod
12846
+ def deserialize(cls, deserializer: ShapeDeserializer) -> Self:
12847
+ return cls(**cls.deserialize_kwargs(deserializer))
12848
+
12849
+ @classmethod
12850
+ def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]:
12851
+ kwargs: dict[str, Any] = {}
12852
+
12853
+ def _consumer(schema: Schema, de: ShapeDeserializer) -> None:
12854
+ match schema.expect_member_index():
12855
+ case 0:
12856
+ kwargs["workspace_id"] = de.read_string(_SCHEMA_GET_WEBHOOK_BY_EVENT_INPUT.members["workspace_id"])
12857
+
12858
+ case 1:
12859
+ kwargs["org_id"] = de.read_string(_SCHEMA_GET_WEBHOOK_BY_EVENT_INPUT.members["org_id"])
12860
+
12861
+ case 2:
12862
+ kwargs["event"] = de.read_string(_SCHEMA_GET_WEBHOOK_BY_EVENT_INPUT.members["event"])
12863
+
12864
+ case _:
12865
+ logger.debug("Unexpected member schema: %s", schema)
12866
+
12867
+ deserializer.read_struct(_SCHEMA_GET_WEBHOOK_BY_EVENT_INPUT, consumer=_consumer)
12868
+ return kwargs
12869
+
12870
+ @dataclass(kw_only=True)
12871
+ class GetWebhookByEventOutput:
12872
+ """
12873
+
12874
+ :param custom_headers:
12875
+ Generic key-value object structure used for flexible data representation
12876
+ throughout the API.
12877
+
12878
+ """
12879
+
12880
+ name: str
12881
+
12882
+ description: str
12883
+
12884
+ enabled: bool
12885
+
12886
+ url: str
12887
+
12888
+ method: str
12889
+
12890
+ version: str
12891
+
12892
+ events: list[str]
12893
+
12894
+ max_retries: int
12895
+
12896
+ change_reason: str
12897
+
12898
+ created_by: str
12899
+
12900
+ created_at: datetime
12901
+
12902
+ last_modified_by: str
12903
+
12904
+ last_modified_at: datetime
12905
+
12906
+ custom_headers: dict[str, Document] | None = None
12907
+ last_triggered_at: datetime | None = None
12908
+
12909
+ def serialize(self, serializer: ShapeSerializer):
12910
+ serializer.write_struct(_SCHEMA_GET_WEBHOOK_BY_EVENT_OUTPUT, self)
12911
+
12912
+ def serialize_members(self, serializer: ShapeSerializer):
12913
+ serializer.write_string(_SCHEMA_GET_WEBHOOK_BY_EVENT_OUTPUT.members["name"], self.name)
12914
+ serializer.write_string(_SCHEMA_GET_WEBHOOK_BY_EVENT_OUTPUT.members["description"], self.description)
12915
+ serializer.write_boolean(_SCHEMA_GET_WEBHOOK_BY_EVENT_OUTPUT.members["enabled"], self.enabled)
12916
+ serializer.write_string(_SCHEMA_GET_WEBHOOK_BY_EVENT_OUTPUT.members["url"], self.url)
12917
+ serializer.write_string(_SCHEMA_GET_WEBHOOK_BY_EVENT_OUTPUT.members["method"], self.method)
12918
+ serializer.write_string(_SCHEMA_GET_WEBHOOK_BY_EVENT_OUTPUT.members["version"], self.version)
12919
+ if self.custom_headers is not None:
12920
+ _serialize_object(serializer, _SCHEMA_GET_WEBHOOK_BY_EVENT_OUTPUT.members["custom_headers"], self.custom_headers)
12921
+
12922
+ _serialize_events(serializer, _SCHEMA_GET_WEBHOOK_BY_EVENT_OUTPUT.members["events"], self.events)
12923
+ serializer.write_integer(_SCHEMA_GET_WEBHOOK_BY_EVENT_OUTPUT.members["max_retries"], self.max_retries)
12924
+ if self.last_triggered_at is not None:
12925
+ serializer.write_timestamp(_SCHEMA_GET_WEBHOOK_BY_EVENT_OUTPUT.members["last_triggered_at"], self.last_triggered_at)
12926
+
12927
+ serializer.write_string(_SCHEMA_GET_WEBHOOK_BY_EVENT_OUTPUT.members["change_reason"], self.change_reason)
12928
+ serializer.write_string(_SCHEMA_GET_WEBHOOK_BY_EVENT_OUTPUT.members["created_by"], self.created_by)
12929
+ serializer.write_timestamp(_SCHEMA_GET_WEBHOOK_BY_EVENT_OUTPUT.members["created_at"], self.created_at)
12930
+ serializer.write_string(_SCHEMA_GET_WEBHOOK_BY_EVENT_OUTPUT.members["last_modified_by"], self.last_modified_by)
12931
+ serializer.write_timestamp(_SCHEMA_GET_WEBHOOK_BY_EVENT_OUTPUT.members["last_modified_at"], self.last_modified_at)
12932
+
12933
+ @classmethod
12934
+ def deserialize(cls, deserializer: ShapeDeserializer) -> Self:
12935
+ return cls(**cls.deserialize_kwargs(deserializer))
12936
+
12937
+ @classmethod
12938
+ def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]:
12939
+ kwargs: dict[str, Any] = {}
12940
+
12941
+ def _consumer(schema: Schema, de: ShapeDeserializer) -> None:
12942
+ match schema.expect_member_index():
12943
+ case 0:
12944
+ kwargs["name"] = de.read_string(_SCHEMA_GET_WEBHOOK_BY_EVENT_OUTPUT.members["name"])
12945
+
12946
+ case 1:
12947
+ kwargs["description"] = de.read_string(_SCHEMA_GET_WEBHOOK_BY_EVENT_OUTPUT.members["description"])
12948
+
12949
+ case 2:
12950
+ kwargs["enabled"] = de.read_boolean(_SCHEMA_GET_WEBHOOK_BY_EVENT_OUTPUT.members["enabled"])
12951
+
12952
+ case 3:
12953
+ kwargs["url"] = de.read_string(_SCHEMA_GET_WEBHOOK_BY_EVENT_OUTPUT.members["url"])
12954
+
12955
+ case 4:
12956
+ kwargs["method"] = de.read_string(_SCHEMA_GET_WEBHOOK_BY_EVENT_OUTPUT.members["method"])
12957
+
12958
+ case 5:
12959
+ kwargs["version"] = de.read_string(_SCHEMA_GET_WEBHOOK_BY_EVENT_OUTPUT.members["version"])
12960
+
12961
+ case 6:
12962
+ kwargs["custom_headers"] = _deserialize_object(de, _SCHEMA_GET_WEBHOOK_BY_EVENT_OUTPUT.members["custom_headers"])
12963
+
12964
+ case 7:
12965
+ kwargs["events"] = _deserialize_events(de, _SCHEMA_GET_WEBHOOK_BY_EVENT_OUTPUT.members["events"])
12966
+
12967
+ case 8:
12968
+ kwargs["max_retries"] = de.read_integer(_SCHEMA_GET_WEBHOOK_BY_EVENT_OUTPUT.members["max_retries"])
12969
+
12970
+ case 9:
12971
+ kwargs["last_triggered_at"] = de.read_timestamp(_SCHEMA_GET_WEBHOOK_BY_EVENT_OUTPUT.members["last_triggered_at"])
12972
+
12973
+ case 10:
12974
+ kwargs["change_reason"] = de.read_string(_SCHEMA_GET_WEBHOOK_BY_EVENT_OUTPUT.members["change_reason"])
12975
+
12976
+ case 11:
12977
+ kwargs["created_by"] = de.read_string(_SCHEMA_GET_WEBHOOK_BY_EVENT_OUTPUT.members["created_by"])
12978
+
12979
+ case 12:
12980
+ kwargs["created_at"] = de.read_timestamp(_SCHEMA_GET_WEBHOOK_BY_EVENT_OUTPUT.members["created_at"])
12981
+
12982
+ case 13:
12983
+ kwargs["last_modified_by"] = de.read_string(_SCHEMA_GET_WEBHOOK_BY_EVENT_OUTPUT.members["last_modified_by"])
12984
+
12985
+ case 14:
12986
+ kwargs["last_modified_at"] = de.read_timestamp(_SCHEMA_GET_WEBHOOK_BY_EVENT_OUTPUT.members["last_modified_at"])
12987
+
12988
+ case _:
12989
+ logger.debug("Unexpected member schema: %s", schema)
12990
+
12991
+ deserializer.read_struct(_SCHEMA_GET_WEBHOOK_BY_EVENT_OUTPUT, consumer=_consumer)
12992
+ return kwargs
12993
+
12994
+ GET_WEBHOOK_BY_EVENT = APIOperation(
12995
+ input = GetWebhookByEventInput,
12996
+ output = GetWebhookByEventOutput,
12997
+ schema = _SCHEMA_GET_WEBHOOK_BY_EVENT,
12998
+ input_schema = _SCHEMA_GET_WEBHOOK_BY_EVENT_INPUT,
12999
+ output_schema = _SCHEMA_GET_WEBHOOK_BY_EVENT_OUTPUT,
13000
+ error_registry = TypeRegistry({
13001
+ ShapeID("io.superposition#ResourceNotFound"): ResourceNotFound,
13002
+ ShapeID("io.superposition#InternalServerError"): InternalServerError,
13003
+ }),
13004
+ effective_auth_schemes = [
13005
+ ShapeID("smithy.api#httpBearerAuth")
13006
+ ]
13007
+ )
13008
+
13009
+ @dataclass(kw_only=True)
13010
+ class GetWorkspaceInput:
13011
+
13012
+ org_id: str | None = None
13013
+ workspace_name: str | None = None
13014
+
13015
+ def serialize(self, serializer: ShapeSerializer):
13016
+ serializer.write_struct(_SCHEMA_GET_WORKSPACE_INPUT, self)
13017
+
13018
+ def serialize_members(self, serializer: ShapeSerializer):
13019
+ pass
13020
+
13021
+ @classmethod
13022
+ def deserialize(cls, deserializer: ShapeDeserializer) -> Self:
13023
+ return cls(**cls.deserialize_kwargs(deserializer))
13024
+
13025
+ @classmethod
13026
+ def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]:
13027
+ kwargs: dict[str, Any] = {}
13028
+
13029
+ def _consumer(schema: Schema, de: ShapeDeserializer) -> None:
13030
+ match schema.expect_member_index():
13031
+ case 0:
13032
+ kwargs["org_id"] = de.read_string(_SCHEMA_GET_WORKSPACE_INPUT.members["org_id"])
13033
+
13034
+ case 1:
13035
+ kwargs["workspace_name"] = de.read_string(_SCHEMA_GET_WORKSPACE_INPUT.members["workspace_name"])
13036
+
13037
+ case _:
13038
+ logger.debug("Unexpected member schema: %s", schema)
13039
+
13040
+ deserializer.read_struct(_SCHEMA_GET_WORKSPACE_INPUT, consumer=_consumer)
13041
+ return kwargs
13042
+
13043
+ @dataclass(kw_only=True)
13044
+ class GetWorkspaceOutput:
13045
+
13046
+ workspace_name: str
13047
+
13048
+ organisation_id: str
13049
+
13050
+ organisation_name: str
13051
+
13052
+ workspace_schema_name: str
13053
+
13054
+ workspace_status: str
13055
+
13056
+ workspace_admin_email: str
13057
+
13058
+ created_by: str
13059
+
13060
+ last_modified_by: str
13061
+
13062
+ last_modified_at: datetime
13063
+
13064
+ created_at: datetime
13065
+
13066
+ strict_mode: bool
13067
+
13068
+ allow_experiment_self_approval: bool
13069
+
13070
+ auto_populate_control: bool
13071
+
13072
+ config_version: str | None = None
13073
+ mandatory_dimensions: list[str] | None = None
13074
+ metrics: Document | None = None
13075
+
13076
+ def serialize(self, serializer: ShapeSerializer):
13077
+ serializer.write_struct(_SCHEMA_GET_WORKSPACE_OUTPUT, self)
13078
+
13079
+ def serialize_members(self, serializer: ShapeSerializer):
13080
+ serializer.write_string(_SCHEMA_GET_WORKSPACE_OUTPUT.members["workspace_name"], self.workspace_name)
13081
+ serializer.write_string(_SCHEMA_GET_WORKSPACE_OUTPUT.members["organisation_id"], self.organisation_id)
13082
+ serializer.write_string(_SCHEMA_GET_WORKSPACE_OUTPUT.members["organisation_name"], self.organisation_name)
13083
+ serializer.write_string(_SCHEMA_GET_WORKSPACE_OUTPUT.members["workspace_schema_name"], self.workspace_schema_name)
13084
+ serializer.write_string(_SCHEMA_GET_WORKSPACE_OUTPUT.members["workspace_status"], self.workspace_status)
13085
+ serializer.write_string(_SCHEMA_GET_WORKSPACE_OUTPUT.members["workspace_admin_email"], self.workspace_admin_email)
13086
+ if self.config_version is not None:
13087
+ serializer.write_string(_SCHEMA_GET_WORKSPACE_OUTPUT.members["config_version"], self.config_version)
13088
+
13089
+ serializer.write_string(_SCHEMA_GET_WORKSPACE_OUTPUT.members["created_by"], self.created_by)
13090
+ serializer.write_string(_SCHEMA_GET_WORKSPACE_OUTPUT.members["last_modified_by"], self.last_modified_by)
13091
+ serializer.write_timestamp(_SCHEMA_GET_WORKSPACE_OUTPUT.members["last_modified_at"], self.last_modified_at)
13092
+ serializer.write_timestamp(_SCHEMA_GET_WORKSPACE_OUTPUT.members["created_at"], self.created_at)
13093
+ if self.mandatory_dimensions is not None:
13094
+ _serialize_list_mandatory_dimensions(serializer, _SCHEMA_GET_WORKSPACE_OUTPUT.members["mandatory_dimensions"], self.mandatory_dimensions)
13095
+
13096
+ serializer.write_boolean(_SCHEMA_GET_WORKSPACE_OUTPUT.members["strict_mode"], self.strict_mode)
13097
+ if self.metrics is not None:
13098
+ serializer.write_document(_SCHEMA_GET_WORKSPACE_OUTPUT.members["metrics"], self.metrics)
13099
+
13100
+ serializer.write_boolean(_SCHEMA_GET_WORKSPACE_OUTPUT.members["allow_experiment_self_approval"], self.allow_experiment_self_approval)
13101
+ serializer.write_boolean(_SCHEMA_GET_WORKSPACE_OUTPUT.members["auto_populate_control"], self.auto_populate_control)
13102
+
13103
+ @classmethod
13104
+ def deserialize(cls, deserializer: ShapeDeserializer) -> Self:
13105
+ return cls(**cls.deserialize_kwargs(deserializer))
13106
+
13107
+ @classmethod
13108
+ def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]:
13109
+ kwargs: dict[str, Any] = {}
13110
+
13111
+ def _consumer(schema: Schema, de: ShapeDeserializer) -> None:
13112
+ match schema.expect_member_index():
13113
+ case 0:
13114
+ kwargs["workspace_name"] = de.read_string(_SCHEMA_GET_WORKSPACE_OUTPUT.members["workspace_name"])
13115
+
13116
+ case 1:
13117
+ kwargs["organisation_id"] = de.read_string(_SCHEMA_GET_WORKSPACE_OUTPUT.members["organisation_id"])
13118
+
13119
+ case 2:
13120
+ kwargs["organisation_name"] = de.read_string(_SCHEMA_GET_WORKSPACE_OUTPUT.members["organisation_name"])
13121
+
13122
+ case 3:
13123
+ kwargs["workspace_schema_name"] = de.read_string(_SCHEMA_GET_WORKSPACE_OUTPUT.members["workspace_schema_name"])
13124
+
13125
+ case 4:
13126
+ kwargs["workspace_status"] = de.read_string(_SCHEMA_GET_WORKSPACE_OUTPUT.members["workspace_status"])
13127
+
13128
+ case 5:
13129
+ kwargs["workspace_admin_email"] = de.read_string(_SCHEMA_GET_WORKSPACE_OUTPUT.members["workspace_admin_email"])
13130
+
13131
+ case 6:
13132
+ kwargs["config_version"] = de.read_string(_SCHEMA_GET_WORKSPACE_OUTPUT.members["config_version"])
13133
+
13134
+ case 7:
13135
+ kwargs["created_by"] = de.read_string(_SCHEMA_GET_WORKSPACE_OUTPUT.members["created_by"])
13136
+
13137
+ case 8:
13138
+ kwargs["last_modified_by"] = de.read_string(_SCHEMA_GET_WORKSPACE_OUTPUT.members["last_modified_by"])
13139
+
13140
+ case 9:
13141
+ kwargs["last_modified_at"] = de.read_timestamp(_SCHEMA_GET_WORKSPACE_OUTPUT.members["last_modified_at"])
13142
+
13143
+ case 10:
13144
+ kwargs["created_at"] = de.read_timestamp(_SCHEMA_GET_WORKSPACE_OUTPUT.members["created_at"])
13145
+
13146
+ case 11:
13147
+ kwargs["mandatory_dimensions"] = _deserialize_list_mandatory_dimensions(de, _SCHEMA_GET_WORKSPACE_OUTPUT.members["mandatory_dimensions"])
13148
+
13149
+ case 12:
13150
+ kwargs["strict_mode"] = de.read_boolean(_SCHEMA_GET_WORKSPACE_OUTPUT.members["strict_mode"])
13151
+
13152
+ case 13:
13153
+ kwargs["metrics"] = de.read_document(_SCHEMA_GET_WORKSPACE_OUTPUT.members["metrics"])
13154
+
13155
+ case 14:
13156
+ kwargs["allow_experiment_self_approval"] = de.read_boolean(_SCHEMA_GET_WORKSPACE_OUTPUT.members["allow_experiment_self_approval"])
13157
+
13158
+ case 15:
13159
+ kwargs["auto_populate_control"] = de.read_boolean(_SCHEMA_GET_WORKSPACE_OUTPUT.members["auto_populate_control"])
13160
+
13161
+ case _:
13162
+ logger.debug("Unexpected member schema: %s", schema)
13163
+
13164
+ deserializer.read_struct(_SCHEMA_GET_WORKSPACE_OUTPUT, consumer=_consumer)
13165
+ return kwargs
13166
+
13167
+ GET_WORKSPACE = APIOperation(
13168
+ input = GetWorkspaceInput,
13169
+ output = GetWorkspaceOutput,
13170
+ schema = _SCHEMA_GET_WORKSPACE,
13171
+ input_schema = _SCHEMA_GET_WORKSPACE_INPUT,
13172
+ output_schema = _SCHEMA_GET_WORKSPACE_OUTPUT,
13173
+ error_registry = TypeRegistry({
13174
+ ShapeID("io.superposition#ResourceNotFound"): ResourceNotFound,
13175
+ ShapeID("io.superposition#InternalServerError"): InternalServerError,
12143
13176
  }),
12144
13177
  effective_auth_schemes = [
12145
13178
  ShapeID("smithy.api#httpBearerAuth")
@@ -12148,6 +13181,19 @@ GET_WEBHOOK = APIOperation(
12148
13181
 
12149
13182
  @dataclass(kw_only=True)
12150
13183
  class ListOrganisationInput:
13184
+ """
13185
+
13186
+ :param count:
13187
+ Number of items to be returned in each page.
13188
+
13189
+ :param page:
13190
+ Page number to retrieve, starting from 1.
13191
+
13192
+ :param all:
13193
+ If true, returns all requested items, ignoring pagination parameters page and
13194
+ count.
13195
+
13196
+ """
12151
13197
 
12152
13198
  count: int | None = None
12153
13199
  page: int | None = None
@@ -12363,12 +13409,25 @@ LIST_ORGANISATION = APIOperation(
12363
13409
 
12364
13410
  @dataclass(kw_only=True)
12365
13411
  class ListWebhookInput:
13412
+ """
13413
+
13414
+ :param count:
13415
+ Number of items to be returned in each page.
13416
+
13417
+ :param page:
13418
+ Page number to retrieve, starting from 1.
13419
+
13420
+ :param all:
13421
+ If true, returns all requested items, ignoring pagination parameters page and
13422
+ count.
13423
+
13424
+ """
12366
13425
 
12367
13426
  count: int | None = None
12368
13427
  page: int | None = None
12369
13428
  all: bool | None = None
12370
13429
  workspace_id: str | None = None
12371
- org_id: str = "juspay"
13430
+ org_id: str | None = None
12372
13431
 
12373
13432
  def serialize(self, serializer: ShapeSerializer):
12374
13433
  serializer.write_struct(_SCHEMA_LIST_WEBHOOK_INPUT, self)
@@ -12551,19 +13610,22 @@ def _deserialize_webhook_list(deserializer: ShapeDeserializer, schema: Schema) -
12551
13610
  @dataclass(kw_only=True)
12552
13611
  class ListWebhookOutput:
12553
13612
 
12554
- total_pages: int
12555
-
12556
- total_items: int
12557
-
12558
- data: list[WebhookResponse]
13613
+ total_pages: int | None = None
13614
+ total_items: int | None = None
13615
+ data: list[WebhookResponse] | None = None
12559
13616
 
12560
13617
  def serialize(self, serializer: ShapeSerializer):
12561
13618
  serializer.write_struct(_SCHEMA_LIST_WEBHOOK_OUTPUT, self)
12562
13619
 
12563
13620
  def serialize_members(self, serializer: ShapeSerializer):
12564
- serializer.write_long(_SCHEMA_LIST_WEBHOOK_OUTPUT.members["total_pages"], self.total_pages)
12565
- serializer.write_long(_SCHEMA_LIST_WEBHOOK_OUTPUT.members["total_items"], self.total_items)
12566
- _serialize_webhook_list(serializer, _SCHEMA_LIST_WEBHOOK_OUTPUT.members["data"], self.data)
13621
+ if self.total_pages is not None:
13622
+ serializer.write_integer(_SCHEMA_LIST_WEBHOOK_OUTPUT.members["total_pages"], self.total_pages)
13623
+
13624
+ if self.total_items is not None:
13625
+ serializer.write_integer(_SCHEMA_LIST_WEBHOOK_OUTPUT.members["total_items"], self.total_items)
13626
+
13627
+ if self.data is not None:
13628
+ _serialize_webhook_list(serializer, _SCHEMA_LIST_WEBHOOK_OUTPUT.members["data"], self.data)
12567
13629
 
12568
13630
  @classmethod
12569
13631
  def deserialize(cls, deserializer: ShapeDeserializer) -> Self:
@@ -12576,10 +13638,10 @@ class ListWebhookOutput:
12576
13638
  def _consumer(schema: Schema, de: ShapeDeserializer) -> None:
12577
13639
  match schema.expect_member_index():
12578
13640
  case 0:
12579
- kwargs["total_pages"] = de.read_long(_SCHEMA_LIST_WEBHOOK_OUTPUT.members["total_pages"])
13641
+ kwargs["total_pages"] = de.read_integer(_SCHEMA_LIST_WEBHOOK_OUTPUT.members["total_pages"])
12580
13642
 
12581
13643
  case 1:
12582
- kwargs["total_items"] = de.read_long(_SCHEMA_LIST_WEBHOOK_OUTPUT.members["total_items"])
13644
+ kwargs["total_items"] = de.read_integer(_SCHEMA_LIST_WEBHOOK_OUTPUT.members["total_items"])
12583
13645
 
12584
13646
  case 2:
12585
13647
  kwargs["data"] = _deserialize_webhook_list(de, _SCHEMA_LIST_WEBHOOK_OUTPUT.members["data"])
@@ -12606,11 +13668,24 @@ LIST_WEBHOOK = APIOperation(
12606
13668
 
12607
13669
  @dataclass(kw_only=True)
12608
13670
  class ListWorkspaceInput:
13671
+ """
13672
+
13673
+ :param count:
13674
+ Number of items to be returned in each page.
13675
+
13676
+ :param page:
13677
+ Page number to retrieve, starting from 1.
13678
+
13679
+ :param all:
13680
+ If true, returns all requested items, ignoring pagination parameters page and
13681
+ count.
13682
+
13683
+ """
12609
13684
 
12610
13685
  count: int | None = None
12611
13686
  page: int | None = None
12612
13687
  all: bool | None = None
12613
- org_id: str = "juspay"
13688
+ org_id: str | None = None
12614
13689
 
12615
13690
  def serialize(self, serializer: ShapeSerializer):
12616
13691
  serializer.write_struct(_SCHEMA_LIST_WORKSPACE_INPUT, self)
@@ -12790,19 +13865,22 @@ def _deserialize_workspace_list(deserializer: ShapeDeserializer, schema: Schema)
12790
13865
  @dataclass(kw_only=True)
12791
13866
  class ListWorkspaceOutput:
12792
13867
 
12793
- total_pages: int
12794
-
12795
- total_items: int
12796
-
12797
- data: list[WorkspaceResponse]
13868
+ total_pages: int | None = None
13869
+ total_items: int | None = None
13870
+ data: list[WorkspaceResponse] | None = None
12798
13871
 
12799
13872
  def serialize(self, serializer: ShapeSerializer):
12800
13873
  serializer.write_struct(_SCHEMA_LIST_WORKSPACE_OUTPUT, self)
12801
13874
 
12802
13875
  def serialize_members(self, serializer: ShapeSerializer):
12803
- serializer.write_long(_SCHEMA_LIST_WORKSPACE_OUTPUT.members["total_pages"], self.total_pages)
12804
- serializer.write_long(_SCHEMA_LIST_WORKSPACE_OUTPUT.members["total_items"], self.total_items)
12805
- _serialize_workspace_list(serializer, _SCHEMA_LIST_WORKSPACE_OUTPUT.members["data"], self.data)
13876
+ if self.total_pages is not None:
13877
+ serializer.write_integer(_SCHEMA_LIST_WORKSPACE_OUTPUT.members["total_pages"], self.total_pages)
13878
+
13879
+ if self.total_items is not None:
13880
+ serializer.write_integer(_SCHEMA_LIST_WORKSPACE_OUTPUT.members["total_items"], self.total_items)
13881
+
13882
+ if self.data is not None:
13883
+ _serialize_workspace_list(serializer, _SCHEMA_LIST_WORKSPACE_OUTPUT.members["data"], self.data)
12806
13884
 
12807
13885
  @classmethod
12808
13886
  def deserialize(cls, deserializer: ShapeDeserializer) -> Self:
@@ -12815,10 +13893,10 @@ class ListWorkspaceOutput:
12815
13893
  def _consumer(schema: Schema, de: ShapeDeserializer) -> None:
12816
13894
  match schema.expect_member_index():
12817
13895
  case 0:
12818
- kwargs["total_pages"] = de.read_long(_SCHEMA_LIST_WORKSPACE_OUTPUT.members["total_pages"])
13896
+ kwargs["total_pages"] = de.read_integer(_SCHEMA_LIST_WORKSPACE_OUTPUT.members["total_pages"])
12819
13897
 
12820
13898
  case 1:
12821
- kwargs["total_items"] = de.read_long(_SCHEMA_LIST_WORKSPACE_OUTPUT.members["total_items"])
13899
+ kwargs["total_items"] = de.read_integer(_SCHEMA_LIST_WORKSPACE_OUTPUT.members["total_items"])
12822
13900
 
12823
13901
  case 2:
12824
13902
  kwargs["data"] = _deserialize_workspace_list(de, _SCHEMA_LIST_WORKSPACE_OUTPUT.members["data"])
@@ -12846,7 +13924,7 @@ LIST_WORKSPACE = APIOperation(
12846
13924
  @dataclass(kw_only=True)
12847
13925
  class MigrateWorkspaceSchemaInput:
12848
13926
 
12849
- org_id: str = "juspay"
13927
+ org_id: str | None = None
12850
13928
  workspace_name: str | None = None
12851
13929
 
12852
13930
  def serialize(self, serializer: ShapeSerializer):
@@ -13008,7 +14086,8 @@ MIGRATE_WORKSPACE_SCHEMA = APIOperation(
13008
14086
  input_schema = _SCHEMA_MIGRATE_WORKSPACE_SCHEMA_INPUT,
13009
14087
  output_schema = _SCHEMA_MIGRATE_WORKSPACE_SCHEMA_OUTPUT,
13010
14088
  error_registry = TypeRegistry({
13011
- ShapeID("io.superposition#InternalServerError"): InternalServerError,
14089
+ ShapeID("io.superposition#ResourceNotFound"): ResourceNotFound,
14090
+ ShapeID("io.superposition#InternalServerError"): InternalServerError,
13012
14091
  }),
13013
14092
  effective_auth_schemes = [
13014
14093
  ShapeID("smithy.api#httpBearerAuth")
@@ -13193,7 +14272,7 @@ UPDATE_ORGANISATION = APIOperation(
13193
14272
  input_schema = _SCHEMA_UPDATE_ORGANISATION_INPUT,
13194
14273
  output_schema = _SCHEMA_UPDATE_ORGANISATION_OUTPUT,
13195
14274
  error_registry = TypeRegistry({
13196
- ShapeID("io.superposition#OrganisationNotFound"): OrganisationNotFound,
14275
+ ShapeID("io.superposition#ResourceNotFound"): ResourceNotFound,
13197
14276
  ShapeID("io.superposition#InternalServerError"): InternalServerError,
13198
14277
  }),
13199
14278
  effective_auth_schemes = [
@@ -13212,7 +14291,7 @@ class UpdateTypeTemplatesInput:
13212
14291
  """
13213
14292
 
13214
14293
  workspace_id: str | None = None
13215
- org_id: str = "juspay"
14294
+ org_id: str | None = None
13216
14295
  type_name: str | None = None
13217
14296
  type_schema: dict[str, Document] | None = None
13218
14297
  description: str | None = None
@@ -13351,7 +14430,7 @@ UPDATE_TYPE_TEMPLATES = APIOperation(
13351
14430
  input_schema = _SCHEMA_UPDATE_TYPE_TEMPLATES_INPUT,
13352
14431
  output_schema = _SCHEMA_UPDATE_TYPE_TEMPLATES_OUTPUT,
13353
14432
  error_registry = TypeRegistry({
13354
- ShapeID("io.superposition#TypeTemplatesNotFound"): TypeTemplatesNotFound,
14433
+ ShapeID("io.superposition#ResourceNotFound"): ResourceNotFound,
13355
14434
  ShapeID("io.superposition#InternalServerError"): InternalServerError,
13356
14435
  }),
13357
14436
  effective_auth_schemes = [
@@ -13370,7 +14449,7 @@ class UpdateWebhookInput:
13370
14449
  """
13371
14450
 
13372
14451
  workspace_id: str | None = None
13373
- org_id: str = "juspay"
14452
+ org_id: str | None = None
13374
14453
  name: str | None = None
13375
14454
  description: str | None = None
13376
14455
  enabled: bool | None = None
@@ -13582,37 +14661,6 @@ class UpdateWebhookOutput:
13582
14661
  deserializer.read_struct(_SCHEMA_UPDATE_WEBHOOK_OUTPUT, consumer=_consumer)
13583
14662
  return kwargs
13584
14663
 
13585
- @dataclass(kw_only=True)
13586
- class WebhookNotFound(ApiError):
13587
-
13588
- code: ClassVar[str] = "WebhookNotFound"
13589
- fault: ClassVar[Literal["client", "server"]] = "client"
13590
-
13591
- message: str
13592
-
13593
- def serialize(self, serializer: ShapeSerializer):
13594
- serializer.write_struct(_SCHEMA_WEBHOOK_NOT_FOUND, self)
13595
-
13596
- def serialize_members(self, serializer: ShapeSerializer):
13597
- pass
13598
-
13599
- @classmethod
13600
- def deserialize(cls, deserializer: ShapeDeserializer) -> Self:
13601
- return cls(**cls.deserialize_kwargs(deserializer))
13602
-
13603
- @classmethod
13604
- def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]:
13605
- kwargs: dict[str, Any] = {}
13606
-
13607
- def _consumer(schema: Schema, de: ShapeDeserializer) -> None:
13608
- match schema.expect_member_index():
13609
-
13610
- case _:
13611
- logger.debug("Unexpected member schema: %s", schema)
13612
-
13613
- deserializer.read_struct(_SCHEMA_WEBHOOK_NOT_FOUND, consumer=_consumer)
13614
- return kwargs
13615
-
13616
14664
  UPDATE_WEBHOOK = APIOperation(
13617
14665
  input = UpdateWebhookInput,
13618
14666
  output = UpdateWebhookOutput,
@@ -13620,7 +14668,7 @@ UPDATE_WEBHOOK = APIOperation(
13620
14668
  input_schema = _SCHEMA_UPDATE_WEBHOOK_INPUT,
13621
14669
  output_schema = _SCHEMA_UPDATE_WEBHOOK_OUTPUT,
13622
14670
  error_registry = TypeRegistry({
13623
- ShapeID("io.superposition#WebhookNotFound"): WebhookNotFound,
14671
+ ShapeID("io.superposition#ResourceNotFound"): ResourceNotFound,
13624
14672
  ShapeID("io.superposition#InternalServerError"): InternalServerError,
13625
14673
  }),
13626
14674
  effective_auth_schemes = [
@@ -13631,7 +14679,7 @@ ShapeID("io.superposition#InternalServerError"): InternalServerError,
13631
14679
  @dataclass(kw_only=True)
13632
14680
  class UpdateWorkspaceInput:
13633
14681
 
13634
- org_id: str = "juspay"
14682
+ org_id: str | None = None
13635
14683
  workspace_name: str | None = None
13636
14684
  workspace_admin_email: str | None = None
13637
14685
  config_version: str | None = None
@@ -13833,37 +14881,6 @@ class UpdateWorkspaceOutput:
13833
14881
  deserializer.read_struct(_SCHEMA_UPDATE_WORKSPACE_OUTPUT, consumer=_consumer)
13834
14882
  return kwargs
13835
14883
 
13836
- @dataclass(kw_only=True)
13837
- class WorkspaceNotFound(ApiError):
13838
-
13839
- code: ClassVar[str] = "WorkspaceNotFound"
13840
- fault: ClassVar[Literal["client", "server"]] = "client"
13841
-
13842
- message: str
13843
-
13844
- def serialize(self, serializer: ShapeSerializer):
13845
- serializer.write_struct(_SCHEMA_WORKSPACE_NOT_FOUND, self)
13846
-
13847
- def serialize_members(self, serializer: ShapeSerializer):
13848
- pass
13849
-
13850
- @classmethod
13851
- def deserialize(cls, deserializer: ShapeDeserializer) -> Self:
13852
- return cls(**cls.deserialize_kwargs(deserializer))
13853
-
13854
- @classmethod
13855
- def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]:
13856
- kwargs: dict[str, Any] = {}
13857
-
13858
- def _consumer(schema: Schema, de: ShapeDeserializer) -> None:
13859
- match schema.expect_member_index():
13860
-
13861
- case _:
13862
- logger.debug("Unexpected member schema: %s", schema)
13863
-
13864
- deserializer.read_struct(_SCHEMA_WORKSPACE_NOT_FOUND, consumer=_consumer)
13865
- return kwargs
13866
-
13867
14884
  UPDATE_WORKSPACE = APIOperation(
13868
14885
  input = UpdateWorkspaceInput,
13869
14886
  output = UpdateWorkspaceOutput,
@@ -13871,7 +14888,7 @@ UPDATE_WORKSPACE = APIOperation(
13871
14888
  input_schema = _SCHEMA_UPDATE_WORKSPACE_INPUT,
13872
14889
  output_schema = _SCHEMA_UPDATE_WORKSPACE_OUTPUT,
13873
14890
  error_registry = TypeRegistry({
13874
- ShapeID("io.superposition#WorkspaceNotFound"): WorkspaceNotFound,
14891
+ ShapeID("io.superposition#ResourceNotFound"): ResourceNotFound,
13875
14892
  ShapeID("io.superposition#InternalServerError"): InternalServerError,
13876
14893
  }),
13877
14894
  effective_auth_schemes = [