superposition-sdk 0.93.0__py3-none-any.whl → 0.93.1__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.

@@ -26,9 +26,7 @@ from ._private.schemas import (
26
26
  BUCKET as _SCHEMA_BUCKET,
27
27
  BULK_OPERATION as _SCHEMA_BULK_OPERATION,
28
28
  BULK_OPERATION_INPUT as _SCHEMA_BULK_OPERATION_INPUT,
29
- BULK_OPERATION_OUT as _SCHEMA_BULK_OPERATION_OUT,
30
29
  BULK_OPERATION_OUTPUT as _SCHEMA_BULK_OPERATION_OUTPUT,
31
- BULK_OPERATION_REQ as _SCHEMA_BULK_OPERATION_REQ,
32
30
  CONCLUDE_EXPERIMENT as _SCHEMA_CONCLUDE_EXPERIMENT,
33
31
  CONCLUDE_EXPERIMENT_INPUT as _SCHEMA_CONCLUDE_EXPERIMENT_INPUT,
34
32
  CONCLUDE_EXPERIMENT_OUTPUT as _SCHEMA_CONCLUDE_EXPERIMENT_OUTPUT,
@@ -36,6 +34,7 @@ from ._private.schemas import (
36
34
  CONTEXT_ACTION_OUT as _SCHEMA_CONTEXT_ACTION_OUT,
37
35
  CONTEXT_IDENTIFIER as _SCHEMA_CONTEXT_IDENTIFIER,
38
36
  CONTEXT_MOVE as _SCHEMA_CONTEXT_MOVE,
37
+ CONTEXT_MOVE_BULK_REQUEST as _SCHEMA_CONTEXT_MOVE_BULK_REQUEST,
39
38
  CONTEXT_PARTIAL as _SCHEMA_CONTEXT_PARTIAL,
40
39
  CONTEXT_PUT as _SCHEMA_CONTEXT_PUT,
41
40
  CONTEXT_RESPONSE as _SCHEMA_CONTEXT_RESPONSE,
@@ -69,7 +68,7 @@ from ._private.schemas import (
69
68
  CREATE_WORKSPACE as _SCHEMA_CREATE_WORKSPACE,
70
69
  CREATE_WORKSPACE_INPUT as _SCHEMA_CREATE_WORKSPACE_INPUT,
71
70
  CREATE_WORKSPACE_OUTPUT as _SCHEMA_CREATE_WORKSPACE_OUTPUT,
72
- DEFAULT_CONFIG_FULL as _SCHEMA_DEFAULT_CONFIG_FULL,
71
+ DEFAULT_CONFIG_RESPONSE as _SCHEMA_DEFAULT_CONFIG_RESPONSE,
73
72
  DELETE_CONTEXT as _SCHEMA_DELETE_CONTEXT,
74
73
  DELETE_CONTEXT_INPUT as _SCHEMA_DELETE_CONTEXT_INPUT,
75
74
  DELETE_CONTEXT_OUTPUT as _SCHEMA_DELETE_CONTEXT_OUTPUT,
@@ -91,8 +90,8 @@ from ._private.schemas import (
91
90
  DELETE_WEBHOOK as _SCHEMA_DELETE_WEBHOOK,
92
91
  DELETE_WEBHOOK_INPUT as _SCHEMA_DELETE_WEBHOOK_INPUT,
93
92
  DELETE_WEBHOOK_OUTPUT as _SCHEMA_DELETE_WEBHOOK_OUTPUT,
94
- DIMENSION_EXT as _SCHEMA_DIMENSION_EXT,
95
93
  DIMENSION_INFO as _SCHEMA_DIMENSION_INFO,
94
+ DIMENSION_RESPONSE as _SCHEMA_DIMENSION_RESPONSE,
96
95
  DIMENSION_TYPE as _SCHEMA_DIMENSION_TYPE,
97
96
  DISCARD_EXPERIMENT as _SCHEMA_DISCARD_EXPERIMENT,
98
97
  DISCARD_EXPERIMENT_INPUT as _SCHEMA_DISCARD_EXPERIMENT_INPUT,
@@ -311,7 +310,7 @@ class AddMembersToGroupInput:
311
310
  **[Required]** - Reason for adding these members.
312
311
 
313
312
  :param member_experiment_ids:
314
- **[Required]** - List of experiment IDs to add to this group.
313
+ **[Required]** - List of experiment IDs to add/remove to this group.
315
314
 
316
315
  """
317
316
 
@@ -690,18 +689,44 @@ class ApplicableVariantsInput:
690
689
  deserializer.read_struct(_SCHEMA_APPLICABLE_VARIANTS_INPUT, consumer=_consumer)
691
690
  return kwargs
692
691
 
692
+ def _serialize_overrides(serializer: ShapeSerializer, schema: Schema, value: dict[str, Document]) -> None:
693
+ with serializer.begin_map(schema, len(value)) as m:
694
+ value_schema = schema.members["value"]
695
+ for k, v in value.items():
696
+ m.entry(k, lambda vs: vs.write_document(value_schema, v))
697
+
698
+ def _deserialize_overrides(deserializer: ShapeDeserializer, schema: Schema) -> dict[str, Document]:
699
+ result: dict[str, Document] = {}
700
+ value_schema = schema.members["value"]
701
+ def _read_value(k: str, d: ShapeDeserializer):
702
+ if d.is_null():
703
+ d.read_null()
704
+
705
+ else:
706
+ result[k] = d.read_document(value_schema)
707
+ deserializer.read_map(schema, _read_value)
708
+ return result
709
+
693
710
  class VariantType(StrEnum):
694
711
  CONTROL = "CONTROL"
695
712
  EXPERIMENTAL = "EXPERIMENTAL"
696
713
 
697
714
  @dataclass(kw_only=True)
698
715
  class Variant:
716
+ """
717
+
718
+ :param overrides:
719
+ **[Required]** - Configuration overrides that replace default values when
720
+ context conditions are met. Keys represent configuration keys and values are the
721
+ override data.
722
+
723
+ """
699
724
 
700
725
  id: str
701
726
 
702
727
  variant_type: str
703
728
 
704
- overrides: Document
729
+ overrides: dict[str, Document]
705
730
 
706
731
  context_id: str | None = None
707
732
  override_id: str | None = None
@@ -718,7 +743,7 @@ class Variant:
718
743
  if self.override_id is not None:
719
744
  serializer.write_string(_SCHEMA_VARIANT.members["override_id"], self.override_id)
720
745
 
721
- serializer.write_document(_SCHEMA_VARIANT.members["overrides"], self.overrides)
746
+ _serialize_overrides(serializer, _SCHEMA_VARIANT.members["overrides"], self.overrides)
722
747
 
723
748
  @classmethod
724
749
  def deserialize(cls, deserializer: ShapeDeserializer) -> Self:
@@ -743,7 +768,7 @@ class Variant:
743
768
  kwargs["override_id"] = de.read_string(_SCHEMA_VARIANT.members["override_id"])
744
769
 
745
770
  case 4:
746
- kwargs["overrides"] = de.read_document(_SCHEMA_VARIANT.members["overrides"])
771
+ kwargs["overrides"] = _deserialize_overrides(de, _SCHEMA_VARIANT.members["overrides"])
747
772
 
748
773
  case _:
749
774
  logger.debug("Unexpected member schema: %s", schema)
@@ -940,38 +965,37 @@ class ListAuditLogsInput:
940
965
  @dataclass(kw_only=True)
941
966
  class AuditLogFull:
942
967
 
943
- table_name: str | None = None
944
- user_name: str | None = None
945
- timestamp: datetime | None = None
946
- action: str | None = None
968
+ id: str
969
+
970
+ table_name: str
971
+
972
+ user_name: str
973
+
974
+ timestamp: datetime
975
+
976
+ action: str
977
+
978
+ query: str
979
+
947
980
  original_data: Document | None = None
948
981
  new_data: Document | None = None
949
- query: str | None = None
950
982
 
951
983
  def serialize(self, serializer: ShapeSerializer):
952
984
  serializer.write_struct(_SCHEMA_AUDIT_LOG_FULL, self)
953
985
 
954
986
  def serialize_members(self, serializer: ShapeSerializer):
955
- if self.table_name is not None:
956
- serializer.write_string(_SCHEMA_AUDIT_LOG_FULL.members["table_name"], self.table_name)
957
-
958
- if self.user_name is not None:
959
- serializer.write_string(_SCHEMA_AUDIT_LOG_FULL.members["user_name"], self.user_name)
960
-
961
- if self.timestamp is not None:
962
- serializer.write_timestamp(_SCHEMA_AUDIT_LOG_FULL.members["timestamp"], self.timestamp)
963
-
964
- if self.action is not None:
965
- serializer.write_string(_SCHEMA_AUDIT_LOG_FULL.members["action"], self.action)
966
-
987
+ serializer.write_string(_SCHEMA_AUDIT_LOG_FULL.members["id"], self.id)
988
+ serializer.write_string(_SCHEMA_AUDIT_LOG_FULL.members["table_name"], self.table_name)
989
+ serializer.write_string(_SCHEMA_AUDIT_LOG_FULL.members["user_name"], self.user_name)
990
+ serializer.write_timestamp(_SCHEMA_AUDIT_LOG_FULL.members["timestamp"], self.timestamp)
991
+ serializer.write_string(_SCHEMA_AUDIT_LOG_FULL.members["action"], self.action)
967
992
  if self.original_data is not None:
968
993
  serializer.write_document(_SCHEMA_AUDIT_LOG_FULL.members["original_data"], self.original_data)
969
994
 
970
995
  if self.new_data is not None:
971
996
  serializer.write_document(_SCHEMA_AUDIT_LOG_FULL.members["new_data"], self.new_data)
972
997
 
973
- if self.query is not None:
974
- serializer.write_string(_SCHEMA_AUDIT_LOG_FULL.members["query"], self.query)
998
+ serializer.write_string(_SCHEMA_AUDIT_LOG_FULL.members["query"], self.query)
975
999
 
976
1000
  @classmethod
977
1001
  def deserialize(cls, deserializer: ShapeDeserializer) -> Self:
@@ -984,24 +1008,27 @@ class AuditLogFull:
984
1008
  def _consumer(schema: Schema, de: ShapeDeserializer) -> None:
985
1009
  match schema.expect_member_index():
986
1010
  case 0:
987
- kwargs["table_name"] = de.read_string(_SCHEMA_AUDIT_LOG_FULL.members["table_name"])
1011
+ kwargs["id"] = de.read_string(_SCHEMA_AUDIT_LOG_FULL.members["id"])
988
1012
 
989
1013
  case 1:
990
- kwargs["user_name"] = de.read_string(_SCHEMA_AUDIT_LOG_FULL.members["user_name"])
1014
+ kwargs["table_name"] = de.read_string(_SCHEMA_AUDIT_LOG_FULL.members["table_name"])
991
1015
 
992
1016
  case 2:
993
- kwargs["timestamp"] = de.read_timestamp(_SCHEMA_AUDIT_LOG_FULL.members["timestamp"])
1017
+ kwargs["user_name"] = de.read_string(_SCHEMA_AUDIT_LOG_FULL.members["user_name"])
994
1018
 
995
1019
  case 3:
996
- kwargs["action"] = de.read_string(_SCHEMA_AUDIT_LOG_FULL.members["action"])
1020
+ kwargs["timestamp"] = de.read_timestamp(_SCHEMA_AUDIT_LOG_FULL.members["timestamp"])
997
1021
 
998
1022
  case 4:
999
- kwargs["original_data"] = de.read_document(_SCHEMA_AUDIT_LOG_FULL.members["original_data"])
1023
+ kwargs["action"] = de.read_string(_SCHEMA_AUDIT_LOG_FULL.members["action"])
1000
1024
 
1001
1025
  case 5:
1002
- kwargs["new_data"] = de.read_document(_SCHEMA_AUDIT_LOG_FULL.members["new_data"])
1026
+ kwargs["original_data"] = de.read_document(_SCHEMA_AUDIT_LOG_FULL.members["original_data"])
1003
1027
 
1004
1028
  case 6:
1029
+ kwargs["new_data"] = de.read_document(_SCHEMA_AUDIT_LOG_FULL.members["new_data"])
1030
+
1031
+ case 7:
1005
1032
  kwargs["query"] = de.read_string(_SCHEMA_AUDIT_LOG_FULL.members["query"])
1006
1033
 
1007
1034
  case _:
@@ -1030,22 +1057,19 @@ def _deserialize_audit_log_list(deserializer: ShapeDeserializer, schema: Schema)
1030
1057
  @dataclass(kw_only=True)
1031
1058
  class ListAuditLogsOutput:
1032
1059
 
1033
- total_pages: int | None = None
1034
- total_items: int | None = None
1035
- data: list[AuditLogFull] | None = None
1060
+ total_pages: int
1061
+
1062
+ total_items: int
1063
+
1064
+ data: list[AuditLogFull]
1036
1065
 
1037
1066
  def serialize(self, serializer: ShapeSerializer):
1038
1067
  serializer.write_struct(_SCHEMA_LIST_AUDIT_LOGS_OUTPUT, self)
1039
1068
 
1040
1069
  def serialize_members(self, serializer: ShapeSerializer):
1041
- if self.total_pages is not None:
1042
- serializer.write_integer(_SCHEMA_LIST_AUDIT_LOGS_OUTPUT.members["total_pages"], self.total_pages)
1043
-
1044
- if self.total_items is not None:
1045
- serializer.write_integer(_SCHEMA_LIST_AUDIT_LOGS_OUTPUT.members["total_items"], self.total_items)
1046
-
1047
- if self.data is not None:
1048
- _serialize_audit_log_list(serializer, _SCHEMA_LIST_AUDIT_LOGS_OUTPUT.members["data"], self.data)
1070
+ serializer.write_integer(_SCHEMA_LIST_AUDIT_LOGS_OUTPUT.members["total_pages"], self.total_pages)
1071
+ serializer.write_integer(_SCHEMA_LIST_AUDIT_LOGS_OUTPUT.members["total_items"], self.total_items)
1072
+ _serialize_audit_log_list(serializer, _SCHEMA_LIST_AUDIT_LOGS_OUTPUT.members["data"], self.data)
1049
1073
 
1050
1074
  @classmethod
1051
1075
  def deserialize(cls, deserializer: ShapeDeserializer) -> Self:
@@ -1089,22 +1113,19 @@ LIST_AUDIT_LOGS = APIOperation(
1089
1113
  @dataclass(kw_only=True)
1090
1114
  class AutocompleteFunctionRequest:
1091
1115
 
1092
- name: str | None = None
1093
- prefix: str | None = None
1094
- environment: Document | None = None
1116
+ name: str
1117
+
1118
+ prefix: str
1119
+
1120
+ environment: Document
1095
1121
 
1096
1122
  def serialize(self, serializer: ShapeSerializer):
1097
1123
  serializer.write_struct(_SCHEMA_AUTOCOMPLETE_FUNCTION_REQUEST, self)
1098
1124
 
1099
1125
  def serialize_members(self, serializer: ShapeSerializer):
1100
- if self.name is not None:
1101
- serializer.write_string(_SCHEMA_AUTOCOMPLETE_FUNCTION_REQUEST.members["name"], self.name)
1102
-
1103
- if self.prefix is not None:
1104
- serializer.write_string(_SCHEMA_AUTOCOMPLETE_FUNCTION_REQUEST.members["prefix"], self.prefix)
1105
-
1106
- if self.environment is not None:
1107
- serializer.write_document(_SCHEMA_AUTOCOMPLETE_FUNCTION_REQUEST.members["environment"], self.environment)
1126
+ serializer.write_string(_SCHEMA_AUTOCOMPLETE_FUNCTION_REQUEST.members["name"], self.name)
1127
+ serializer.write_string(_SCHEMA_AUTOCOMPLETE_FUNCTION_REQUEST.members["prefix"], self.prefix)
1128
+ serializer.write_document(_SCHEMA_AUTOCOMPLETE_FUNCTION_REQUEST.members["environment"], self.environment)
1108
1129
 
1109
1130
  @classmethod
1110
1131
  def deserialize(cls, deserializer: ShapeDeserializer) -> Self:
@@ -1145,16 +1166,12 @@ class ContextMove:
1145
1166
 
1146
1167
  change_reason: str
1147
1168
 
1148
- id: str | None = None
1149
1169
  description: str | None = None
1150
1170
 
1151
1171
  def serialize(self, serializer: ShapeSerializer):
1152
1172
  serializer.write_struct(_SCHEMA_CONTEXT_MOVE, self)
1153
1173
 
1154
1174
  def serialize_members(self, serializer: ShapeSerializer):
1155
- if self.id is not None:
1156
- serializer.write_string(_SCHEMA_CONTEXT_MOVE.members["id"], self.id)
1157
-
1158
1175
  _serialize_condition(serializer, _SCHEMA_CONTEXT_MOVE.members["context"], self.context)
1159
1176
  if self.description is not None:
1160
1177
  serializer.write_string(_SCHEMA_CONTEXT_MOVE.members["description"], self.description)
@@ -1172,15 +1189,12 @@ class ContextMove:
1172
1189
  def _consumer(schema: Schema, de: ShapeDeserializer) -> None:
1173
1190
  match schema.expect_member_index():
1174
1191
  case 0:
1175
- kwargs["id"] = de.read_string(_SCHEMA_CONTEXT_MOVE.members["id"])
1176
-
1177
- case 1:
1178
1192
  kwargs["context"] = _deserialize_condition(de, _SCHEMA_CONTEXT_MOVE.members["context"])
1179
1193
 
1180
- case 2:
1194
+ case 1:
1181
1195
  kwargs["description"] = de.read_string(_SCHEMA_CONTEXT_MOVE.members["description"])
1182
1196
 
1183
- case 3:
1197
+ case 2:
1184
1198
  kwargs["change_reason"] = de.read_string(_SCHEMA_CONTEXT_MOVE.members["change_reason"])
1185
1199
 
1186
1200
  case _:
@@ -1189,23 +1203,41 @@ class ContextMove:
1189
1203
  deserializer.read_struct(_SCHEMA_CONTEXT_MOVE, consumer=_consumer)
1190
1204
  return kwargs
1191
1205
 
1192
- def _serialize_overrides(serializer: ShapeSerializer, schema: Schema, value: dict[str, Document]) -> None:
1193
- with serializer.begin_map(schema, len(value)) as m:
1194
- value_schema = schema.members["value"]
1195
- for k, v in value.items():
1196
- m.entry(k, lambda vs: vs.write_document(value_schema, v))
1206
+ @dataclass(kw_only=True)
1207
+ class ContextMoveBulkRequest:
1197
1208
 
1198
- def _deserialize_overrides(deserializer: ShapeDeserializer, schema: Schema) -> dict[str, Document]:
1199
- result: dict[str, Document] = {}
1200
- value_schema = schema.members["value"]
1201
- def _read_value(k: str, d: ShapeDeserializer):
1202
- if d.is_null():
1203
- d.read_null()
1209
+ id: str
1204
1210
 
1205
- else:
1206
- result[k] = d.read_document(value_schema)
1207
- deserializer.read_map(schema, _read_value)
1208
- return result
1211
+ request: ContextMove
1212
+
1213
+ def serialize(self, serializer: ShapeSerializer):
1214
+ serializer.write_struct(_SCHEMA_CONTEXT_MOVE_BULK_REQUEST, self)
1215
+
1216
+ def serialize_members(self, serializer: ShapeSerializer):
1217
+ serializer.write_string(_SCHEMA_CONTEXT_MOVE_BULK_REQUEST.members["id"], self.id)
1218
+ serializer.write_struct(_SCHEMA_CONTEXT_MOVE_BULK_REQUEST.members["request"], self.request)
1219
+
1220
+ @classmethod
1221
+ def deserialize(cls, deserializer: ShapeDeserializer) -> Self:
1222
+ return cls(**cls.deserialize_kwargs(deserializer))
1223
+
1224
+ @classmethod
1225
+ def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]:
1226
+ kwargs: dict[str, Any] = {}
1227
+
1228
+ def _consumer(schema: Schema, de: ShapeDeserializer) -> None:
1229
+ match schema.expect_member_index():
1230
+ case 0:
1231
+ kwargs["id"] = de.read_string(_SCHEMA_CONTEXT_MOVE_BULK_REQUEST.members["id"])
1232
+
1233
+ case 1:
1234
+ kwargs["request"] = ContextMove.deserialize(de)
1235
+
1236
+ case _:
1237
+ logger.debug("Unexpected member schema: %s", schema)
1238
+
1239
+ deserializer.read_struct(_SCHEMA_CONTEXT_MOVE_BULK_REQUEST, consumer=_consumer)
1240
+ return kwargs
1209
1241
 
1210
1242
  @dataclass(kw_only=True)
1211
1243
  class ContextPut:
@@ -1462,7 +1494,7 @@ class ContextActionDELETE:
1462
1494
  @dataclass
1463
1495
  class ContextActionMOVE:
1464
1496
 
1465
- value: ContextMove
1497
+ value: ContextMoveBulkRequest
1466
1498
 
1467
1499
  def serialize(self, serializer: ShapeSerializer):
1468
1500
  serializer.write_struct(_SCHEMA_CONTEXT_ACTION, self)
@@ -1472,7 +1504,7 @@ class ContextActionMOVE:
1472
1504
 
1473
1505
  @classmethod
1474
1506
  def deserialize(cls, deserializer: ShapeDeserializer) -> Self:
1475
- return cls(value=ContextMove.deserialize(deserializer))
1507
+ return cls(value=ContextMoveBulkRequest.deserialize(deserializer))
1476
1508
 
1477
1509
  @dataclass
1478
1510
  class ContextActionUnknown:
@@ -1549,50 +1581,20 @@ def _deserialize_bulk_operation_list(deserializer: ShapeDeserializer, schema: Sc
1549
1581
  deserializer.read_list(schema, _read_value)
1550
1582
  return result
1551
1583
 
1552
- @dataclass(kw_only=True)
1553
- class BulkOperationReq:
1554
-
1555
- operations: list[ContextAction] | None = None
1556
-
1557
- def serialize(self, serializer: ShapeSerializer):
1558
- serializer.write_struct(_SCHEMA_BULK_OPERATION_REQ, self)
1559
-
1560
- def serialize_members(self, serializer: ShapeSerializer):
1561
- if self.operations is not None:
1562
- _serialize_bulk_operation_list(serializer, _SCHEMA_BULK_OPERATION_REQ.members["operations"], self.operations)
1563
-
1564
- @classmethod
1565
- def deserialize(cls, deserializer: ShapeDeserializer) -> Self:
1566
- return cls(**cls.deserialize_kwargs(deserializer))
1567
-
1568
- @classmethod
1569
- def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]:
1570
- kwargs: dict[str, Any] = {}
1571
-
1572
- def _consumer(schema: Schema, de: ShapeDeserializer) -> None:
1573
- match schema.expect_member_index():
1574
- case 0:
1575
- kwargs["operations"] = _deserialize_bulk_operation_list(de, _SCHEMA_BULK_OPERATION_REQ.members["operations"])
1576
-
1577
- case _:
1578
- logger.debug("Unexpected member schema: %s", schema)
1579
-
1580
- deserializer.read_struct(_SCHEMA_BULK_OPERATION_REQ, consumer=_consumer)
1581
- return kwargs
1582
-
1583
1584
  @dataclass(kw_only=True)
1584
1585
  class BulkOperationInput:
1585
1586
 
1586
1587
  workspace_id: str | None = None
1587
1588
  org_id: str | None = None
1588
1589
  config_tags: str | None = None
1589
- bulk_operation: BulkOperationReq | None = None
1590
+ operations: list[ContextAction] | None = None
1590
1591
 
1591
1592
  def serialize(self, serializer: ShapeSerializer):
1592
1593
  serializer.write_struct(_SCHEMA_BULK_OPERATION_INPUT, self)
1593
1594
 
1594
1595
  def serialize_members(self, serializer: ShapeSerializer):
1595
- pass
1596
+ if self.operations is not None:
1597
+ _serialize_bulk_operation_list(serializer, _SCHEMA_BULK_OPERATION_INPUT.members["operations"], self.operations)
1596
1598
 
1597
1599
  @classmethod
1598
1600
  def deserialize(cls, deserializer: ShapeDeserializer) -> Self:
@@ -1614,7 +1616,7 @@ class BulkOperationInput:
1614
1616
  kwargs["config_tags"] = de.read_string(_SCHEMA_BULK_OPERATION_INPUT.members["config_tags"])
1615
1617
 
1616
1618
  case 3:
1617
- kwargs["bulk_operation"] = BulkOperationReq.deserialize(de)
1619
+ kwargs["operations"] = _deserialize_bulk_operation_list(de, _SCHEMA_BULK_OPERATION_INPUT.members["operations"])
1618
1620
 
1619
1621
  case _:
1620
1622
  logger.debug("Unexpected member schema: %s", schema)
@@ -1627,66 +1629,57 @@ class ContextResponse:
1627
1629
  """
1628
1630
 
1629
1631
  :param value:
1630
- Represents conditional criteria used for context matching. Keys define dimension
1631
- names and values specify the criteria that must be met.
1632
+ **[Required]** - Represents conditional criteria used for context matching. Keys
1633
+ define dimension names and values specify the criteria that must be met.
1632
1634
 
1633
1635
  :param override:
1634
- Configuration overrides that replace default values when context conditions are
1635
- met. Keys represent configuration keys and values are the override data.
1636
+ **[Required]** - Configuration overrides that replace default values when
1637
+ context conditions are met. Keys represent configuration keys and values are the
1638
+ override data.
1636
1639
 
1637
1640
  :param weight:
1638
- Priority weight used to determine the order of context evaluation. Higher
1639
- weights take precedence during configuration resolution.
1641
+ **[Required]** - Priority weight used to determine the order of context
1642
+ evaluation. Higher weights take precedence during configuration resolution.
1640
1643
 
1641
1644
  """
1642
1645
 
1643
1646
  id: str
1644
1647
 
1645
- value: dict[str, Document] | None = None
1646
- override: dict[str, Document] | None = None
1647
- override_id: str | None = None
1648
- weight: str | None = None
1649
- description: str | None = None
1650
- change_reason: str | None = None
1651
- created_at: datetime | None = None
1652
- created_by: str | None = None
1653
- last_modified_at: datetime | None = None
1654
- last_modified_by: str | None = None
1648
+ value: dict[str, Document]
1655
1649
 
1656
- def serialize(self, serializer: ShapeSerializer):
1657
- serializer.write_struct(_SCHEMA_CONTEXT_RESPONSE, self)
1650
+ override: dict[str, Document]
1658
1651
 
1659
- def serialize_members(self, serializer: ShapeSerializer):
1660
- serializer.write_string(_SCHEMA_CONTEXT_RESPONSE.members["id"], self.id)
1661
- if self.value is not None:
1662
- _serialize_condition(serializer, _SCHEMA_CONTEXT_RESPONSE.members["value"], self.value)
1652
+ override_id: str
1663
1653
 
1664
- if self.override is not None:
1665
- _serialize_overrides(serializer, _SCHEMA_CONTEXT_RESPONSE.members["override"], self.override)
1654
+ weight: str
1666
1655
 
1667
- if self.override_id is not None:
1668
- serializer.write_string(_SCHEMA_CONTEXT_RESPONSE.members["override_id"], self.override_id)
1656
+ description: str
1669
1657
 
1670
- if self.weight is not None:
1671
- serializer.write_string(_SCHEMA_CONTEXT_RESPONSE.members["weight"], self.weight)
1658
+ change_reason: str
1672
1659
 
1673
- if self.description is not None:
1674
- serializer.write_string(_SCHEMA_CONTEXT_RESPONSE.members["description"], self.description)
1660
+ created_at: datetime
1675
1661
 
1676
- if self.change_reason is not None:
1677
- serializer.write_string(_SCHEMA_CONTEXT_RESPONSE.members["change_reason"], self.change_reason)
1662
+ created_by: str
1678
1663
 
1679
- if self.created_at is not None:
1680
- serializer.write_timestamp(_SCHEMA_CONTEXT_RESPONSE.members["created_at"], self.created_at)
1664
+ last_modified_at: datetime
1681
1665
 
1682
- if self.created_by is not None:
1683
- serializer.write_string(_SCHEMA_CONTEXT_RESPONSE.members["created_by"], self.created_by)
1666
+ last_modified_by: str
1684
1667
 
1685
- if self.last_modified_at is not None:
1686
- serializer.write_timestamp(_SCHEMA_CONTEXT_RESPONSE.members["last_modified_at"], self.last_modified_at)
1668
+ def serialize(self, serializer: ShapeSerializer):
1669
+ serializer.write_struct(_SCHEMA_CONTEXT_RESPONSE, self)
1687
1670
 
1688
- if self.last_modified_by is not None:
1689
- serializer.write_string(_SCHEMA_CONTEXT_RESPONSE.members["last_modified_by"], self.last_modified_by)
1671
+ def serialize_members(self, serializer: ShapeSerializer):
1672
+ serializer.write_string(_SCHEMA_CONTEXT_RESPONSE.members["id"], self.id)
1673
+ _serialize_condition(serializer, _SCHEMA_CONTEXT_RESPONSE.members["value"], self.value)
1674
+ _serialize_overrides(serializer, _SCHEMA_CONTEXT_RESPONSE.members["override"], self.override)
1675
+ serializer.write_string(_SCHEMA_CONTEXT_RESPONSE.members["override_id"], self.override_id)
1676
+ serializer.write_string(_SCHEMA_CONTEXT_RESPONSE.members["weight"], self.weight)
1677
+ serializer.write_string(_SCHEMA_CONTEXT_RESPONSE.members["description"], self.description)
1678
+ serializer.write_string(_SCHEMA_CONTEXT_RESPONSE.members["change_reason"], self.change_reason)
1679
+ serializer.write_timestamp(_SCHEMA_CONTEXT_RESPONSE.members["created_at"], self.created_at)
1680
+ serializer.write_string(_SCHEMA_CONTEXT_RESPONSE.members["created_by"], self.created_by)
1681
+ serializer.write_timestamp(_SCHEMA_CONTEXT_RESPONSE.members["last_modified_at"], self.last_modified_at)
1682
+ serializer.write_string(_SCHEMA_CONTEXT_RESPONSE.members["last_modified_by"], self.last_modified_by)
1690
1683
 
1691
1684
  @classmethod
1692
1685
  def deserialize(cls, deserializer: ShapeDeserializer) -> Self:
@@ -1872,47 +1865,16 @@ def _deserialize_bulk_operation_out_list(deserializer: ShapeDeserializer, schema
1872
1865
  deserializer.read_list(schema, _read_value)
1873
1866
  return result
1874
1867
 
1875
- @dataclass(kw_only=True)
1876
- class BulkOperationOut:
1877
-
1878
- output: list[ContextActionOut] | None = None
1879
-
1880
- def serialize(self, serializer: ShapeSerializer):
1881
- serializer.write_struct(_SCHEMA_BULK_OPERATION_OUT, self)
1882
-
1883
- def serialize_members(self, serializer: ShapeSerializer):
1884
- if self.output is not None:
1885
- _serialize_bulk_operation_out_list(serializer, _SCHEMA_BULK_OPERATION_OUT.members["output"], self.output)
1886
-
1887
- @classmethod
1888
- def deserialize(cls, deserializer: ShapeDeserializer) -> Self:
1889
- return cls(**cls.deserialize_kwargs(deserializer))
1890
-
1891
- @classmethod
1892
- def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]:
1893
- kwargs: dict[str, Any] = {}
1894
-
1895
- def _consumer(schema: Schema, de: ShapeDeserializer) -> None:
1896
- match schema.expect_member_index():
1897
- case 0:
1898
- kwargs["output"] = _deserialize_bulk_operation_out_list(de, _SCHEMA_BULK_OPERATION_OUT.members["output"])
1899
-
1900
- case _:
1901
- logger.debug("Unexpected member schema: %s", schema)
1902
-
1903
- deserializer.read_struct(_SCHEMA_BULK_OPERATION_OUT, consumer=_consumer)
1904
- return kwargs
1905
-
1906
1868
  @dataclass(kw_only=True)
1907
1869
  class BulkOperationOutput:
1908
1870
 
1909
- bulk_operation_output: BulkOperationOut | None = None
1871
+ output: list[ContextActionOut]
1910
1872
 
1911
1873
  def serialize(self, serializer: ShapeSerializer):
1912
1874
  serializer.write_struct(_SCHEMA_BULK_OPERATION_OUTPUT, self)
1913
1875
 
1914
1876
  def serialize_members(self, serializer: ShapeSerializer):
1915
- pass
1877
+ _serialize_bulk_operation_out_list(serializer, _SCHEMA_BULK_OPERATION_OUTPUT.members["output"], self.output)
1916
1878
 
1917
1879
  @classmethod
1918
1880
  def deserialize(cls, deserializer: ShapeDeserializer) -> Self:
@@ -1925,7 +1887,7 @@ class BulkOperationOutput:
1925
1887
  def _consumer(schema: Schema, de: ShapeDeserializer) -> None:
1926
1888
  match schema.expect_member_index():
1927
1889
  case 0:
1928
- kwargs["bulk_operation_output"] = BulkOperationOut.deserialize(de)
1890
+ kwargs["output"] = _deserialize_bulk_operation_out_list(de, _SCHEMA_BULK_OPERATION_OUTPUT.members["output"])
1929
1891
 
1930
1892
  case _:
1931
1893
  logger.debug("Unexpected member schema: %s", schema)
@@ -2300,35 +2262,30 @@ class ContextPartial:
2300
2262
  """
2301
2263
 
2302
2264
  :param condition:
2303
- Represents conditional criteria used for context matching. Keys define dimension
2304
- names and values specify the criteria that must be met.
2265
+ **[Required]** - Represents conditional criteria used for context matching. Keys
2266
+ define dimension names and values specify the criteria that must be met.
2305
2267
 
2306
2268
  """
2307
2269
 
2308
- id: str | None = None
2309
- condition: dict[str, Document] | None = None
2310
- priority: int | None = None
2311
- weight: int | None = None
2312
- override_with_keys: list[str] | None = None
2270
+ id: str
2313
2271
 
2314
- def serialize(self, serializer: ShapeSerializer):
2315
- serializer.write_struct(_SCHEMA_CONTEXT_PARTIAL, self)
2272
+ condition: dict[str, Document]
2316
2273
 
2317
- def serialize_members(self, serializer: ShapeSerializer):
2318
- if self.id is not None:
2319
- serializer.write_string(_SCHEMA_CONTEXT_PARTIAL.members["id"], self.id)
2274
+ priority: int
2320
2275
 
2321
- if self.condition is not None:
2322
- _serialize_condition(serializer, _SCHEMA_CONTEXT_PARTIAL.members["condition"], self.condition)
2276
+ weight: int
2323
2277
 
2324
- if self.priority is not None:
2325
- serializer.write_integer(_SCHEMA_CONTEXT_PARTIAL.members["priority"], self.priority)
2278
+ override_with_keys: list[str]
2326
2279
 
2327
- if self.weight is not None:
2328
- serializer.write_integer(_SCHEMA_CONTEXT_PARTIAL.members["weight"], self.weight)
2280
+ def serialize(self, serializer: ShapeSerializer):
2281
+ serializer.write_struct(_SCHEMA_CONTEXT_PARTIAL, self)
2329
2282
 
2330
- if self.override_with_keys is not None:
2331
- _serialize_override_with_keys(serializer, _SCHEMA_CONTEXT_PARTIAL.members["override_with_keys"], self.override_with_keys)
2283
+ def serialize_members(self, serializer: ShapeSerializer):
2284
+ serializer.write_string(_SCHEMA_CONTEXT_PARTIAL.members["id"], self.id)
2285
+ _serialize_condition(serializer, _SCHEMA_CONTEXT_PARTIAL.members["condition"], self.condition)
2286
+ serializer.write_integer(_SCHEMA_CONTEXT_PARTIAL.members["priority"], self.priority)
2287
+ serializer.write_integer(_SCHEMA_CONTEXT_PARTIAL.members["weight"], self.weight)
2288
+ _serialize_override_with_keys(serializer, _SCHEMA_CONTEXT_PARTIAL.members["override_with_keys"], self.override_with_keys)
2332
2289
 
2333
2290
  @classmethod
2334
2291
  def deserialize(cls, deserializer: ShapeDeserializer) -> Self:
@@ -2396,13 +2353,13 @@ def _deserialize_object(deserializer: ShapeDeserializer, schema: Schema) -> dict
2396
2353
  deserializer.read_map(schema, _read_value)
2397
2354
  return result
2398
2355
 
2399
- def _serialize_depedendency_graph(serializer: ShapeSerializer, schema: Schema, value: dict[str, list[str]]) -> None:
2356
+ def _serialize_dependency_graph(serializer: ShapeSerializer, schema: Schema, value: dict[str, list[str]]) -> None:
2400
2357
  with serializer.begin_map(schema, len(value)) as m:
2401
2358
  value_schema = schema.members["value"]
2402
2359
  for k, v in value.items():
2403
2360
  m.entry(k, lambda vs: _serialize_string_list(vs, value_schema, v))
2404
2361
 
2405
- def _deserialize_depedendency_graph(deserializer: ShapeDeserializer, schema: Schema) -> dict[str, list[str]]:
2362
+ def _deserialize_dependency_graph(deserializer: ShapeDeserializer, schema: Schema) -> dict[str, list[str]]:
2406
2363
  result: dict[str, list[str]] = {}
2407
2364
  value_schema = schema.members["value"]
2408
2365
  def _read_value(k: str, d: ShapeDeserializer):
@@ -2545,31 +2502,27 @@ class DimensionInfo:
2545
2502
  """
2546
2503
 
2547
2504
  :param schema:
2548
- Generic key-value object structure used for flexible data representation
2549
- throughout the API.
2505
+ **[Required]** - Generic key-value object structure used for flexible data
2506
+ representation throughout the API.
2550
2507
 
2551
2508
  """
2552
2509
 
2553
- schema: dict[str, Document] | None = None
2554
- position: int | None = None
2555
- dimension_type: DimensionType | None = None
2556
- dependency_graph: dict[str, list[str]] | None = None
2510
+ schema: dict[str, Document]
2557
2511
 
2558
- def serialize(self, serializer: ShapeSerializer):
2559
- serializer.write_struct(_SCHEMA_DIMENSION_INFO, self)
2512
+ position: int
2560
2513
 
2561
- def serialize_members(self, serializer: ShapeSerializer):
2562
- if self.schema is not None:
2563
- _serialize_object(serializer, _SCHEMA_DIMENSION_INFO.members["schema"], self.schema)
2514
+ dimension_type: DimensionType
2564
2515
 
2565
- if self.position is not None:
2566
- serializer.write_integer(_SCHEMA_DIMENSION_INFO.members["position"], self.position)
2516
+ dependency_graph: dict[str, list[str]]
2567
2517
 
2568
- if self.dimension_type is not None:
2569
- serializer.write_struct(_SCHEMA_DIMENSION_INFO.members["dimension_type"], self.dimension_type)
2518
+ def serialize(self, serializer: ShapeSerializer):
2519
+ serializer.write_struct(_SCHEMA_DIMENSION_INFO, self)
2570
2520
 
2571
- if self.dependency_graph is not None:
2572
- _serialize_depedendency_graph(serializer, _SCHEMA_DIMENSION_INFO.members["dependency_graph"], self.dependency_graph)
2521
+ def serialize_members(self, serializer: ShapeSerializer):
2522
+ _serialize_object(serializer, _SCHEMA_DIMENSION_INFO.members["schema"], self.schema)
2523
+ serializer.write_integer(_SCHEMA_DIMENSION_INFO.members["position"], self.position)
2524
+ serializer.write_struct(_SCHEMA_DIMENSION_INFO.members["dimension_type"], self.dimension_type)
2525
+ _serialize_dependency_graph(serializer, _SCHEMA_DIMENSION_INFO.members["dependency_graph"], self.dependency_graph)
2573
2526
 
2574
2527
  @classmethod
2575
2528
  def deserialize(cls, deserializer: ShapeDeserializer) -> Self:
@@ -2591,7 +2544,7 @@ class DimensionInfo:
2591
2544
  kwargs["dimension_type"] = _DimensionTypeDeserializer().deserialize(de)
2592
2545
 
2593
2546
  case 3:
2594
- kwargs["dependency_graph"] = _deserialize_depedendency_graph(de, _SCHEMA_DIMENSION_INFO.members["dependency_graph"])
2547
+ kwargs["dependency_graph"] = _deserialize_dependency_graph(de, _SCHEMA_DIMENSION_INFO.members["dependency_graph"])
2595
2548
 
2596
2549
  case _:
2597
2550
  logger.debug("Unexpected member schema: %s", schema)
@@ -2640,34 +2593,33 @@ class GetConfigOutput:
2640
2593
  """
2641
2594
 
2642
2595
  :param default_configs:
2643
- Generic key-value object structure used for flexible data representation
2644
- throughout the API.
2596
+ **[Required]** - Generic key-value object structure used for flexible data
2597
+ representation throughout the API.
2645
2598
 
2646
2599
  """
2647
2600
 
2648
- contexts: list[ContextPartial] | None = None
2649
- overrides: dict[str, dict[str, Document]] | None = None
2650
- default_configs: dict[str, Document] | None = None
2651
- dimensions: dict[str, DimensionInfo] | None = None
2652
- version: str | None = None
2653
- last_modified: datetime | None = None
2601
+ contexts: list[ContextPartial]
2602
+
2603
+ overrides: dict[str, dict[str, Document]]
2604
+
2605
+ default_configs: dict[str, Document]
2606
+
2607
+ dimensions: dict[str, DimensionInfo]
2608
+
2609
+ version: str
2610
+
2611
+ last_modified: datetime
2612
+
2654
2613
  audit_id: str | None = None
2655
2614
 
2656
2615
  def serialize(self, serializer: ShapeSerializer):
2657
2616
  serializer.write_struct(_SCHEMA_GET_CONFIG_OUTPUT, self)
2658
2617
 
2659
2618
  def serialize_members(self, serializer: ShapeSerializer):
2660
- if self.contexts is not None:
2661
- _serialize_context_list(serializer, _SCHEMA_GET_CONFIG_OUTPUT.members["contexts"], self.contexts)
2662
-
2663
- if self.overrides is not None:
2664
- _serialize_overrides_map(serializer, _SCHEMA_GET_CONFIG_OUTPUT.members["overrides"], self.overrides)
2665
-
2666
- if self.default_configs is not None:
2667
- _serialize_object(serializer, _SCHEMA_GET_CONFIG_OUTPUT.members["default_configs"], self.default_configs)
2668
-
2669
- if self.dimensions is not None:
2670
- _serialize_dimension_data(serializer, _SCHEMA_GET_CONFIG_OUTPUT.members["dimensions"], self.dimensions)
2619
+ _serialize_context_list(serializer, _SCHEMA_GET_CONFIG_OUTPUT.members["contexts"], self.contexts)
2620
+ _serialize_overrides_map(serializer, _SCHEMA_GET_CONFIG_OUTPUT.members["overrides"], self.overrides)
2621
+ _serialize_object(serializer, _SCHEMA_GET_CONFIG_OUTPUT.members["default_configs"], self.default_configs)
2622
+ _serialize_dimension_data(serializer, _SCHEMA_GET_CONFIG_OUTPUT.members["dimensions"], self.dimensions)
2671
2623
 
2672
2624
  @classmethod
2673
2625
  def deserialize(cls, deserializer: ShapeDeserializer) -> Self:
@@ -2882,9 +2834,12 @@ class GetResolvedConfigInput:
2882
2834
  @dataclass(kw_only=True)
2883
2835
  class GetResolvedConfigOutput:
2884
2836
 
2885
- config: Document | None = None
2886
- version: str | None = None
2887
- last_modified: datetime | None = None
2837
+ config: Document
2838
+
2839
+ version: str
2840
+
2841
+ last_modified: datetime
2842
+
2888
2843
  audit_id: str | None = None
2889
2844
 
2890
2845
  def serialize(self, serializer: ShapeSerializer):
@@ -3175,22 +3130,19 @@ def _deserialize_list_versions_out(deserializer: ShapeDeserializer, schema: Sche
3175
3130
  @dataclass(kw_only=True)
3176
3131
  class ListVersionsOutput:
3177
3132
 
3178
- total_pages: int | None = None
3179
- total_items: int | None = None
3180
- data: list[ListVersionsMember] | None = None
3133
+ total_pages: int
3134
+
3135
+ total_items: int
3136
+
3137
+ data: list[ListVersionsMember]
3181
3138
 
3182
3139
  def serialize(self, serializer: ShapeSerializer):
3183
3140
  serializer.write_struct(_SCHEMA_LIST_VERSIONS_OUTPUT, self)
3184
3141
 
3185
3142
  def serialize_members(self, serializer: ShapeSerializer):
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)
3143
+ serializer.write_integer(_SCHEMA_LIST_VERSIONS_OUTPUT.members["total_pages"], self.total_pages)
3144
+ serializer.write_integer(_SCHEMA_LIST_VERSIONS_OUTPUT.members["total_items"], self.total_items)
3145
+ _serialize_list_versions_out(serializer, _SCHEMA_LIST_VERSIONS_OUTPUT.members["data"], self.data)
3194
3146
 
3195
3147
  @classmethod
3196
3148
  def deserialize(cls, deserializer: ShapeDeserializer) -> Self:
@@ -3233,42 +3185,17 @@ LIST_VERSIONS = APIOperation(
3233
3185
 
3234
3186
  @dataclass(kw_only=True)
3235
3187
  class CreateContextInput:
3236
- """
3237
-
3238
- :param context:
3239
- **[Required]** - Represents conditional criteria used for context matching. Keys
3240
- define dimension names and values specify the criteria that must be met.
3241
-
3242
- :param override:
3243
- **[Required]** - Configuration overrides that replace default values when
3244
- context conditions are met. Keys represent configuration keys and values are the
3245
- override data.
3246
-
3247
- """
3248
3188
 
3249
3189
  workspace_id: str | None = None
3250
3190
  org_id: str | None = None
3251
- context: dict[str, Document] | None = None
3252
3191
  config_tags: str | None = None
3253
- override: dict[str, Document] | None = None
3254
- description: str | None = None
3255
- change_reason: str | None = None
3192
+ request: ContextPut | None = None
3256
3193
 
3257
3194
  def serialize(self, serializer: ShapeSerializer):
3258
3195
  serializer.write_struct(_SCHEMA_CREATE_CONTEXT_INPUT, self)
3259
3196
 
3260
3197
  def serialize_members(self, serializer: ShapeSerializer):
3261
- if self.context is not None:
3262
- _serialize_condition(serializer, _SCHEMA_CREATE_CONTEXT_INPUT.members["context"], self.context)
3263
-
3264
- if self.override is not None:
3265
- _serialize_overrides(serializer, _SCHEMA_CREATE_CONTEXT_INPUT.members["override"], self.override)
3266
-
3267
- if self.description is not None:
3268
- serializer.write_string(_SCHEMA_CREATE_CONTEXT_INPUT.members["description"], self.description)
3269
-
3270
- if self.change_reason is not None:
3271
- serializer.write_string(_SCHEMA_CREATE_CONTEXT_INPUT.members["change_reason"], self.change_reason)
3198
+ pass
3272
3199
 
3273
3200
  @classmethod
3274
3201
  def deserialize(cls, deserializer: ShapeDeserializer) -> Self:
@@ -3287,19 +3214,10 @@ class CreateContextInput:
3287
3214
  kwargs["org_id"] = de.read_string(_SCHEMA_CREATE_CONTEXT_INPUT.members["org_id"])
3288
3215
 
3289
3216
  case 2:
3290
- kwargs["context"] = _deserialize_condition(de, _SCHEMA_CREATE_CONTEXT_INPUT.members["context"])
3291
-
3292
- case 3:
3293
3217
  kwargs["config_tags"] = de.read_string(_SCHEMA_CREATE_CONTEXT_INPUT.members["config_tags"])
3294
3218
 
3295
- case 4:
3296
- kwargs["override"] = _deserialize_overrides(de, _SCHEMA_CREATE_CONTEXT_INPUT.members["override"])
3297
-
3298
- case 5:
3299
- kwargs["description"] = de.read_string(_SCHEMA_CREATE_CONTEXT_INPUT.members["description"])
3300
-
3301
- case 6:
3302
- kwargs["change_reason"] = de.read_string(_SCHEMA_CREATE_CONTEXT_INPUT.members["change_reason"])
3219
+ case 3:
3220
+ kwargs["request"] = ContextPut.deserialize(de)
3303
3221
 
3304
3222
  case _:
3305
3223
  logger.debug("Unexpected member schema: %s", schema)
@@ -3312,66 +3230,57 @@ class CreateContextOutput:
3312
3230
  """
3313
3231
 
3314
3232
  :param value:
3315
- Represents conditional criteria used for context matching. Keys define dimension
3316
- names and values specify the criteria that must be met.
3233
+ **[Required]** - Represents conditional criteria used for context matching. Keys
3234
+ define dimension names and values specify the criteria that must be met.
3317
3235
 
3318
3236
  :param override:
3319
- Configuration overrides that replace default values when context conditions are
3320
- met. Keys represent configuration keys and values are the override data.
3237
+ **[Required]** - Configuration overrides that replace default values when
3238
+ context conditions are met. Keys represent configuration keys and values are the
3239
+ override data.
3321
3240
 
3322
3241
  :param weight:
3323
- Priority weight used to determine the order of context evaluation. Higher
3324
- weights take precedence during configuration resolution.
3242
+ **[Required]** - Priority weight used to determine the order of context
3243
+ evaluation. Higher weights take precedence during configuration resolution.
3325
3244
 
3326
3245
  """
3327
3246
 
3328
3247
  id: str
3329
3248
 
3330
- value: dict[str, Document] | None = None
3331
- override: dict[str, Document] | None = None
3332
- override_id: str | None = None
3333
- weight: str | None = None
3334
- description: str | None = None
3335
- change_reason: str | None = None
3336
- created_at: datetime | None = None
3337
- created_by: str | None = None
3338
- last_modified_at: datetime | None = None
3339
- last_modified_by: str | None = None
3249
+ value: dict[str, Document]
3340
3250
 
3341
- def serialize(self, serializer: ShapeSerializer):
3342
- serializer.write_struct(_SCHEMA_CREATE_CONTEXT_OUTPUT, self)
3251
+ override: dict[str, Document]
3343
3252
 
3344
- def serialize_members(self, serializer: ShapeSerializer):
3345
- serializer.write_string(_SCHEMA_CREATE_CONTEXT_OUTPUT.members["id"], self.id)
3346
- if self.value is not None:
3347
- _serialize_condition(serializer, _SCHEMA_CREATE_CONTEXT_OUTPUT.members["value"], self.value)
3253
+ override_id: str
3348
3254
 
3349
- if self.override is not None:
3350
- _serialize_overrides(serializer, _SCHEMA_CREATE_CONTEXT_OUTPUT.members["override"], self.override)
3255
+ weight: str
3351
3256
 
3352
- if self.override_id is not None:
3353
- serializer.write_string(_SCHEMA_CREATE_CONTEXT_OUTPUT.members["override_id"], self.override_id)
3257
+ description: str
3354
3258
 
3355
- if self.weight is not None:
3356
- serializer.write_string(_SCHEMA_CREATE_CONTEXT_OUTPUT.members["weight"], self.weight)
3259
+ change_reason: str
3357
3260
 
3358
- if self.description is not None:
3359
- serializer.write_string(_SCHEMA_CREATE_CONTEXT_OUTPUT.members["description"], self.description)
3261
+ created_at: datetime
3360
3262
 
3361
- if self.change_reason is not None:
3362
- serializer.write_string(_SCHEMA_CREATE_CONTEXT_OUTPUT.members["change_reason"], self.change_reason)
3263
+ created_by: str
3363
3264
 
3364
- if self.created_at is not None:
3365
- serializer.write_timestamp(_SCHEMA_CREATE_CONTEXT_OUTPUT.members["created_at"], self.created_at)
3265
+ last_modified_at: datetime
3366
3266
 
3367
- if self.created_by is not None:
3368
- serializer.write_string(_SCHEMA_CREATE_CONTEXT_OUTPUT.members["created_by"], self.created_by)
3267
+ last_modified_by: str
3369
3268
 
3370
- if self.last_modified_at is not None:
3371
- serializer.write_timestamp(_SCHEMA_CREATE_CONTEXT_OUTPUT.members["last_modified_at"], self.last_modified_at)
3269
+ def serialize(self, serializer: ShapeSerializer):
3270
+ serializer.write_struct(_SCHEMA_CREATE_CONTEXT_OUTPUT, self)
3372
3271
 
3373
- if self.last_modified_by is not None:
3374
- serializer.write_string(_SCHEMA_CREATE_CONTEXT_OUTPUT.members["last_modified_by"], self.last_modified_by)
3272
+ def serialize_members(self, serializer: ShapeSerializer):
3273
+ serializer.write_string(_SCHEMA_CREATE_CONTEXT_OUTPUT.members["id"], self.id)
3274
+ _serialize_condition(serializer, _SCHEMA_CREATE_CONTEXT_OUTPUT.members["value"], self.value)
3275
+ _serialize_overrides(serializer, _SCHEMA_CREATE_CONTEXT_OUTPUT.members["override"], self.override)
3276
+ serializer.write_string(_SCHEMA_CREATE_CONTEXT_OUTPUT.members["override_id"], self.override_id)
3277
+ serializer.write_string(_SCHEMA_CREATE_CONTEXT_OUTPUT.members["weight"], self.weight)
3278
+ serializer.write_string(_SCHEMA_CREATE_CONTEXT_OUTPUT.members["description"], self.description)
3279
+ serializer.write_string(_SCHEMA_CREATE_CONTEXT_OUTPUT.members["change_reason"], self.change_reason)
3280
+ serializer.write_timestamp(_SCHEMA_CREATE_CONTEXT_OUTPUT.members["created_at"], self.created_at)
3281
+ serializer.write_string(_SCHEMA_CREATE_CONTEXT_OUTPUT.members["created_by"], self.created_by)
3282
+ serializer.write_timestamp(_SCHEMA_CREATE_CONTEXT_OUTPUT.members["last_modified_at"], self.last_modified_at)
3283
+ serializer.write_string(_SCHEMA_CREATE_CONTEXT_OUTPUT.members["last_modified_by"], self.last_modified_by)
3375
3284
 
3376
3285
  @classmethod
3377
3286
  def deserialize(cls, deserializer: ShapeDeserializer) -> Self:
@@ -3563,66 +3472,57 @@ class GetContextOutput:
3563
3472
  """
3564
3473
 
3565
3474
  :param value:
3566
- Represents conditional criteria used for context matching. Keys define dimension
3567
- names and values specify the criteria that must be met.
3475
+ **[Required]** - Represents conditional criteria used for context matching. Keys
3476
+ define dimension names and values specify the criteria that must be met.
3568
3477
 
3569
3478
  :param override:
3570
- Configuration overrides that replace default values when context conditions are
3571
- met. Keys represent configuration keys and values are the override data.
3479
+ **[Required]** - Configuration overrides that replace default values when
3480
+ context conditions are met. Keys represent configuration keys and values are the
3481
+ override data.
3572
3482
 
3573
3483
  :param weight:
3574
- Priority weight used to determine the order of context evaluation. Higher
3575
- weights take precedence during configuration resolution.
3484
+ **[Required]** - Priority weight used to determine the order of context
3485
+ evaluation. Higher weights take precedence during configuration resolution.
3576
3486
 
3577
3487
  """
3578
3488
 
3579
- id: str
3580
-
3581
- value: dict[str, Document] | None = None
3582
- override: dict[str, Document] | None = None
3583
- override_id: str | None = None
3584
- weight: str | None = None
3585
- description: str | None = None
3586
- change_reason: str | None = None
3587
- created_at: datetime | None = None
3588
- created_by: str | None = None
3589
- last_modified_at: datetime | None = None
3590
- last_modified_by: str | None = None
3591
-
3592
- def serialize(self, serializer: ShapeSerializer):
3593
- serializer.write_struct(_SCHEMA_GET_CONTEXT_OUTPUT, self)
3489
+ id: str
3594
3490
 
3595
- def serialize_members(self, serializer: ShapeSerializer):
3596
- serializer.write_string(_SCHEMA_GET_CONTEXT_OUTPUT.members["id"], self.id)
3597
- if self.value is not None:
3598
- _serialize_condition(serializer, _SCHEMA_GET_CONTEXT_OUTPUT.members["value"], self.value)
3491
+ value: dict[str, Document]
3492
+
3493
+ override: dict[str, Document]
3599
3494
 
3600
- if self.override is not None:
3601
- _serialize_overrides(serializer, _SCHEMA_GET_CONTEXT_OUTPUT.members["override"], self.override)
3495
+ override_id: str
3602
3496
 
3603
- if self.override_id is not None:
3604
- serializer.write_string(_SCHEMA_GET_CONTEXT_OUTPUT.members["override_id"], self.override_id)
3497
+ weight: str
3605
3498
 
3606
- if self.weight is not None:
3607
- serializer.write_string(_SCHEMA_GET_CONTEXT_OUTPUT.members["weight"], self.weight)
3499
+ description: str
3608
3500
 
3609
- if self.description is not None:
3610
- serializer.write_string(_SCHEMA_GET_CONTEXT_OUTPUT.members["description"], self.description)
3501
+ change_reason: str
3611
3502
 
3612
- if self.change_reason is not None:
3613
- serializer.write_string(_SCHEMA_GET_CONTEXT_OUTPUT.members["change_reason"], self.change_reason)
3503
+ created_at: datetime
3504
+
3505
+ created_by: str
3614
3506
 
3615
- if self.created_at is not None:
3616
- serializer.write_timestamp(_SCHEMA_GET_CONTEXT_OUTPUT.members["created_at"], self.created_at)
3507
+ last_modified_at: datetime
3617
3508
 
3618
- if self.created_by is not None:
3619
- serializer.write_string(_SCHEMA_GET_CONTEXT_OUTPUT.members["created_by"], self.created_by)
3509
+ last_modified_by: str
3620
3510
 
3621
- if self.last_modified_at is not None:
3622
- serializer.write_timestamp(_SCHEMA_GET_CONTEXT_OUTPUT.members["last_modified_at"], self.last_modified_at)
3511
+ def serialize(self, serializer: ShapeSerializer):
3512
+ serializer.write_struct(_SCHEMA_GET_CONTEXT_OUTPUT, self)
3623
3513
 
3624
- if self.last_modified_by is not None:
3625
- serializer.write_string(_SCHEMA_GET_CONTEXT_OUTPUT.members["last_modified_by"], self.last_modified_by)
3514
+ def serialize_members(self, serializer: ShapeSerializer):
3515
+ serializer.write_string(_SCHEMA_GET_CONTEXT_OUTPUT.members["id"], self.id)
3516
+ _serialize_condition(serializer, _SCHEMA_GET_CONTEXT_OUTPUT.members["value"], self.value)
3517
+ _serialize_overrides(serializer, _SCHEMA_GET_CONTEXT_OUTPUT.members["override"], self.override)
3518
+ serializer.write_string(_SCHEMA_GET_CONTEXT_OUTPUT.members["override_id"], self.override_id)
3519
+ serializer.write_string(_SCHEMA_GET_CONTEXT_OUTPUT.members["weight"], self.weight)
3520
+ serializer.write_string(_SCHEMA_GET_CONTEXT_OUTPUT.members["description"], self.description)
3521
+ serializer.write_string(_SCHEMA_GET_CONTEXT_OUTPUT.members["change_reason"], self.change_reason)
3522
+ serializer.write_timestamp(_SCHEMA_GET_CONTEXT_OUTPUT.members["created_at"], self.created_at)
3523
+ serializer.write_string(_SCHEMA_GET_CONTEXT_OUTPUT.members["created_by"], self.created_by)
3524
+ serializer.write_timestamp(_SCHEMA_GET_CONTEXT_OUTPUT.members["last_modified_at"], self.last_modified_at)
3525
+ serializer.write_string(_SCHEMA_GET_CONTEXT_OUTPUT.members["last_modified_by"], self.last_modified_by)
3626
3526
 
3627
3527
  @classmethod
3628
3528
  def deserialize(cls, deserializer: ShapeDeserializer) -> Self:
@@ -3731,66 +3631,57 @@ class GetContextFromConditionOutput:
3731
3631
  """
3732
3632
 
3733
3633
  :param value:
3734
- Represents conditional criteria used for context matching. Keys define dimension
3735
- names and values specify the criteria that must be met.
3634
+ **[Required]** - Represents conditional criteria used for context matching. Keys
3635
+ define dimension names and values specify the criteria that must be met.
3736
3636
 
3737
3637
  :param override:
3738
- Configuration overrides that replace default values when context conditions are
3739
- met. Keys represent configuration keys and values are the override data.
3638
+ **[Required]** - Configuration overrides that replace default values when
3639
+ context conditions are met. Keys represent configuration keys and values are the
3640
+ override data.
3740
3641
 
3741
3642
  :param weight:
3742
- Priority weight used to determine the order of context evaluation. Higher
3743
- weights take precedence during configuration resolution.
3643
+ **[Required]** - Priority weight used to determine the order of context
3644
+ evaluation. Higher weights take precedence during configuration resolution.
3744
3645
 
3745
3646
  """
3746
3647
 
3747
3648
  id: str
3748
3649
 
3749
- value: dict[str, Document] | None = None
3750
- override: dict[str, Document] | None = None
3751
- override_id: str | None = None
3752
- weight: str | None = None
3753
- description: str | None = None
3754
- change_reason: str | None = None
3755
- created_at: datetime | None = None
3756
- created_by: str | None = None
3757
- last_modified_at: datetime | None = None
3758
- last_modified_by: str | None = None
3650
+ value: dict[str, Document]
3759
3651
 
3760
- def serialize(self, serializer: ShapeSerializer):
3761
- serializer.write_struct(_SCHEMA_GET_CONTEXT_FROM_CONDITION_OUTPUT, self)
3652
+ override: dict[str, Document]
3762
3653
 
3763
- def serialize_members(self, serializer: ShapeSerializer):
3764
- serializer.write_string(_SCHEMA_GET_CONTEXT_FROM_CONDITION_OUTPUT.members["id"], self.id)
3765
- if self.value is not None:
3766
- _serialize_condition(serializer, _SCHEMA_GET_CONTEXT_FROM_CONDITION_OUTPUT.members["value"], self.value)
3654
+ override_id: str
3767
3655
 
3768
- if self.override is not None:
3769
- _serialize_overrides(serializer, _SCHEMA_GET_CONTEXT_FROM_CONDITION_OUTPUT.members["override"], self.override)
3656
+ weight: str
3770
3657
 
3771
- if self.override_id is not None:
3772
- serializer.write_string(_SCHEMA_GET_CONTEXT_FROM_CONDITION_OUTPUT.members["override_id"], self.override_id)
3658
+ description: str
3773
3659
 
3774
- if self.weight is not None:
3775
- serializer.write_string(_SCHEMA_GET_CONTEXT_FROM_CONDITION_OUTPUT.members["weight"], self.weight)
3660
+ change_reason: str
3776
3661
 
3777
- if self.description is not None:
3778
- serializer.write_string(_SCHEMA_GET_CONTEXT_FROM_CONDITION_OUTPUT.members["description"], self.description)
3662
+ created_at: datetime
3779
3663
 
3780
- if self.change_reason is not None:
3781
- serializer.write_string(_SCHEMA_GET_CONTEXT_FROM_CONDITION_OUTPUT.members["change_reason"], self.change_reason)
3664
+ created_by: str
3782
3665
 
3783
- if self.created_at is not None:
3784
- serializer.write_timestamp(_SCHEMA_GET_CONTEXT_FROM_CONDITION_OUTPUT.members["created_at"], self.created_at)
3666
+ last_modified_at: datetime
3785
3667
 
3786
- if self.created_by is not None:
3787
- serializer.write_string(_SCHEMA_GET_CONTEXT_FROM_CONDITION_OUTPUT.members["created_by"], self.created_by)
3668
+ last_modified_by: str
3788
3669
 
3789
- if self.last_modified_at is not None:
3790
- serializer.write_timestamp(_SCHEMA_GET_CONTEXT_FROM_CONDITION_OUTPUT.members["last_modified_at"], self.last_modified_at)
3670
+ def serialize(self, serializer: ShapeSerializer):
3671
+ serializer.write_struct(_SCHEMA_GET_CONTEXT_FROM_CONDITION_OUTPUT, self)
3791
3672
 
3792
- if self.last_modified_by is not None:
3793
- serializer.write_string(_SCHEMA_GET_CONTEXT_FROM_CONDITION_OUTPUT.members["last_modified_by"], self.last_modified_by)
3673
+ def serialize_members(self, serializer: ShapeSerializer):
3674
+ serializer.write_string(_SCHEMA_GET_CONTEXT_FROM_CONDITION_OUTPUT.members["id"], self.id)
3675
+ _serialize_condition(serializer, _SCHEMA_GET_CONTEXT_FROM_CONDITION_OUTPUT.members["value"], self.value)
3676
+ _serialize_overrides(serializer, _SCHEMA_GET_CONTEXT_FROM_CONDITION_OUTPUT.members["override"], self.override)
3677
+ serializer.write_string(_SCHEMA_GET_CONTEXT_FROM_CONDITION_OUTPUT.members["override_id"], self.override_id)
3678
+ serializer.write_string(_SCHEMA_GET_CONTEXT_FROM_CONDITION_OUTPUT.members["weight"], self.weight)
3679
+ serializer.write_string(_SCHEMA_GET_CONTEXT_FROM_CONDITION_OUTPUT.members["description"], self.description)
3680
+ serializer.write_string(_SCHEMA_GET_CONTEXT_FROM_CONDITION_OUTPUT.members["change_reason"], self.change_reason)
3681
+ serializer.write_timestamp(_SCHEMA_GET_CONTEXT_FROM_CONDITION_OUTPUT.members["created_at"], self.created_at)
3682
+ serializer.write_string(_SCHEMA_GET_CONTEXT_FROM_CONDITION_OUTPUT.members["created_by"], self.created_by)
3683
+ serializer.write_timestamp(_SCHEMA_GET_CONTEXT_FROM_CONDITION_OUTPUT.members["last_modified_at"], self.last_modified_at)
3684
+ serializer.write_string(_SCHEMA_GET_CONTEXT_FROM_CONDITION_OUTPUT.members["last_modified_by"], self.last_modified_by)
3794
3685
 
3795
3686
  @classmethod
3796
3687
  def deserialize(cls, deserializer: ShapeDeserializer) -> Self:
@@ -3990,22 +3881,19 @@ def _deserialize_list_context_out(deserializer: ShapeDeserializer, schema: Schem
3990
3881
  @dataclass(kw_only=True)
3991
3882
  class ListContextsOutput:
3992
3883
 
3993
- total_pages: int | None = None
3994
- total_items: int | None = None
3995
- data: list[ContextResponse] | None = None
3884
+ total_pages: int
3885
+
3886
+ total_items: int
3887
+
3888
+ data: list[ContextResponse]
3996
3889
 
3997
3890
  def serialize(self, serializer: ShapeSerializer):
3998
3891
  serializer.write_struct(_SCHEMA_LIST_CONTEXTS_OUTPUT, self)
3999
3892
 
4000
3893
  def serialize_members(self, serializer: ShapeSerializer):
4001
- if self.total_pages is not None:
4002
- serializer.write_integer(_SCHEMA_LIST_CONTEXTS_OUTPUT.members["total_pages"], self.total_pages)
4003
-
4004
- if self.total_items is not None:
4005
- serializer.write_integer(_SCHEMA_LIST_CONTEXTS_OUTPUT.members["total_items"], self.total_items)
4006
-
4007
- if self.data is not None:
4008
- _serialize_list_context_out(serializer, _SCHEMA_LIST_CONTEXTS_OUTPUT.members["data"], self.data)
3894
+ serializer.write_integer(_SCHEMA_LIST_CONTEXTS_OUTPUT.members["total_pages"], self.total_pages)
3895
+ serializer.write_integer(_SCHEMA_LIST_CONTEXTS_OUTPUT.members["total_items"], self.total_items)
3896
+ _serialize_list_context_out(serializer, _SCHEMA_LIST_CONTEXTS_OUTPUT.members["data"], self.data)
4009
3897
 
4010
3898
  @classmethod
4011
3899
  def deserialize(cls, deserializer: ShapeDeserializer) -> Self:
@@ -4048,33 +3936,17 @@ LIST_CONTEXTS = APIOperation(
4048
3936
 
4049
3937
  @dataclass(kw_only=True)
4050
3938
  class MoveContextInput:
4051
- """
4052
-
4053
- :param context:
4054
- **[Required]** - Represents conditional criteria used for context matching. Keys
4055
- define dimension names and values specify the criteria that must be met.
4056
-
4057
- """
4058
3939
 
4059
3940
  workspace_id: str | None = None
4060
3941
  org_id: str | None = None
4061
3942
  id: str | None = None
4062
- context: dict[str, Document] | None = None
4063
- description: str | None = None
4064
- change_reason: str | None = None
3943
+ request: ContextMove | None = None
4065
3944
 
4066
3945
  def serialize(self, serializer: ShapeSerializer):
4067
3946
  serializer.write_struct(_SCHEMA_MOVE_CONTEXT_INPUT, self)
4068
3947
 
4069
3948
  def serialize_members(self, serializer: ShapeSerializer):
4070
- if self.context is not None:
4071
- _serialize_condition(serializer, _SCHEMA_MOVE_CONTEXT_INPUT.members["context"], self.context)
4072
-
4073
- if self.description is not None:
4074
- serializer.write_string(_SCHEMA_MOVE_CONTEXT_INPUT.members["description"], self.description)
4075
-
4076
- if self.change_reason is not None:
4077
- serializer.write_string(_SCHEMA_MOVE_CONTEXT_INPUT.members["change_reason"], self.change_reason)
3949
+ pass
4078
3950
 
4079
3951
  @classmethod
4080
3952
  def deserialize(cls, deserializer: ShapeDeserializer) -> Self:
@@ -4096,13 +3968,7 @@ class MoveContextInput:
4096
3968
  kwargs["id"] = de.read_string(_SCHEMA_MOVE_CONTEXT_INPUT.members["id"])
4097
3969
 
4098
3970
  case 3:
4099
- kwargs["context"] = _deserialize_condition(de, _SCHEMA_MOVE_CONTEXT_INPUT.members["context"])
4100
-
4101
- case 4:
4102
- kwargs["description"] = de.read_string(_SCHEMA_MOVE_CONTEXT_INPUT.members["description"])
4103
-
4104
- case 5:
4105
- kwargs["change_reason"] = de.read_string(_SCHEMA_MOVE_CONTEXT_INPUT.members["change_reason"])
3971
+ kwargs["request"] = ContextMove.deserialize(de)
4106
3972
 
4107
3973
  case _:
4108
3974
  logger.debug("Unexpected member schema: %s", schema)
@@ -4115,66 +3981,57 @@ class MoveContextOutput:
4115
3981
  """
4116
3982
 
4117
3983
  :param value:
4118
- Represents conditional criteria used for context matching. Keys define dimension
4119
- names and values specify the criteria that must be met.
3984
+ **[Required]** - Represents conditional criteria used for context matching. Keys
3985
+ define dimension names and values specify the criteria that must be met.
4120
3986
 
4121
3987
  :param override:
4122
- Configuration overrides that replace default values when context conditions are
4123
- met. Keys represent configuration keys and values are the override data.
3988
+ **[Required]** - Configuration overrides that replace default values when
3989
+ context conditions are met. Keys represent configuration keys and values are the
3990
+ override data.
4124
3991
 
4125
3992
  :param weight:
4126
- Priority weight used to determine the order of context evaluation. Higher
4127
- weights take precedence during configuration resolution.
3993
+ **[Required]** - Priority weight used to determine the order of context
3994
+ evaluation. Higher weights take precedence during configuration resolution.
4128
3995
 
4129
3996
  """
4130
3997
 
4131
3998
  id: str
4132
3999
 
4133
- value: dict[str, Document] | None = None
4134
- override: dict[str, Document] | None = None
4135
- override_id: str | None = None
4136
- weight: str | None = None
4137
- description: str | None = None
4138
- change_reason: str | None = None
4139
- created_at: datetime | None = None
4140
- created_by: str | None = None
4141
- last_modified_at: datetime | None = None
4142
- last_modified_by: str | None = None
4000
+ value: dict[str, Document]
4143
4001
 
4144
- def serialize(self, serializer: ShapeSerializer):
4145
- serializer.write_struct(_SCHEMA_MOVE_CONTEXT_OUTPUT, self)
4002
+ override: dict[str, Document]
4146
4003
 
4147
- def serialize_members(self, serializer: ShapeSerializer):
4148
- serializer.write_string(_SCHEMA_MOVE_CONTEXT_OUTPUT.members["id"], self.id)
4149
- if self.value is not None:
4150
- _serialize_condition(serializer, _SCHEMA_MOVE_CONTEXT_OUTPUT.members["value"], self.value)
4004
+ override_id: str
4151
4005
 
4152
- if self.override is not None:
4153
- _serialize_overrides(serializer, _SCHEMA_MOVE_CONTEXT_OUTPUT.members["override"], self.override)
4006
+ weight: str
4154
4007
 
4155
- if self.override_id is not None:
4156
- serializer.write_string(_SCHEMA_MOVE_CONTEXT_OUTPUT.members["override_id"], self.override_id)
4008
+ description: str
4157
4009
 
4158
- if self.weight is not None:
4159
- serializer.write_string(_SCHEMA_MOVE_CONTEXT_OUTPUT.members["weight"], self.weight)
4010
+ change_reason: str
4160
4011
 
4161
- if self.description is not None:
4162
- serializer.write_string(_SCHEMA_MOVE_CONTEXT_OUTPUT.members["description"], self.description)
4012
+ created_at: datetime
4163
4013
 
4164
- if self.change_reason is not None:
4165
- serializer.write_string(_SCHEMA_MOVE_CONTEXT_OUTPUT.members["change_reason"], self.change_reason)
4014
+ created_by: str
4166
4015
 
4167
- if self.created_at is not None:
4168
- serializer.write_timestamp(_SCHEMA_MOVE_CONTEXT_OUTPUT.members["created_at"], self.created_at)
4016
+ last_modified_at: datetime
4169
4017
 
4170
- if self.created_by is not None:
4171
- serializer.write_string(_SCHEMA_MOVE_CONTEXT_OUTPUT.members["created_by"], self.created_by)
4018
+ last_modified_by: str
4172
4019
 
4173
- if self.last_modified_at is not None:
4174
- serializer.write_timestamp(_SCHEMA_MOVE_CONTEXT_OUTPUT.members["last_modified_at"], self.last_modified_at)
4020
+ def serialize(self, serializer: ShapeSerializer):
4021
+ serializer.write_struct(_SCHEMA_MOVE_CONTEXT_OUTPUT, self)
4175
4022
 
4176
- if self.last_modified_by is not None:
4177
- serializer.write_string(_SCHEMA_MOVE_CONTEXT_OUTPUT.members["last_modified_by"], self.last_modified_by)
4023
+ def serialize_members(self, serializer: ShapeSerializer):
4024
+ serializer.write_string(_SCHEMA_MOVE_CONTEXT_OUTPUT.members["id"], self.id)
4025
+ _serialize_condition(serializer, _SCHEMA_MOVE_CONTEXT_OUTPUT.members["value"], self.value)
4026
+ _serialize_overrides(serializer, _SCHEMA_MOVE_CONTEXT_OUTPUT.members["override"], self.override)
4027
+ serializer.write_string(_SCHEMA_MOVE_CONTEXT_OUTPUT.members["override_id"], self.override_id)
4028
+ serializer.write_string(_SCHEMA_MOVE_CONTEXT_OUTPUT.members["weight"], self.weight)
4029
+ serializer.write_string(_SCHEMA_MOVE_CONTEXT_OUTPUT.members["description"], self.description)
4030
+ serializer.write_string(_SCHEMA_MOVE_CONTEXT_OUTPUT.members["change_reason"], self.change_reason)
4031
+ serializer.write_timestamp(_SCHEMA_MOVE_CONTEXT_OUTPUT.members["created_at"], self.created_at)
4032
+ serializer.write_string(_SCHEMA_MOVE_CONTEXT_OUTPUT.members["created_by"], self.created_by)
4033
+ serializer.write_timestamp(_SCHEMA_MOVE_CONTEXT_OUTPUT.members["last_modified_at"], self.last_modified_at)
4034
+ serializer.write_string(_SCHEMA_MOVE_CONTEXT_OUTPUT.members["last_modified_by"], self.last_modified_by)
4178
4035
 
4179
4036
  @classmethod
4180
4037
  def deserialize(cls, deserializer: ShapeDeserializer) -> Self:
@@ -4287,66 +4144,57 @@ class UpdateOverrideOutput:
4287
4144
  """
4288
4145
 
4289
4146
  :param value:
4290
- Represents conditional criteria used for context matching. Keys define dimension
4291
- names and values specify the criteria that must be met.
4147
+ **[Required]** - Represents conditional criteria used for context matching. Keys
4148
+ define dimension names and values specify the criteria that must be met.
4292
4149
 
4293
4150
  :param override:
4294
- Configuration overrides that replace default values when context conditions are
4295
- met. Keys represent configuration keys and values are the override data.
4151
+ **[Required]** - Configuration overrides that replace default values when
4152
+ context conditions are met. Keys represent configuration keys and values are the
4153
+ override data.
4296
4154
 
4297
4155
  :param weight:
4298
- Priority weight used to determine the order of context evaluation. Higher
4299
- weights take precedence during configuration resolution.
4156
+ **[Required]** - Priority weight used to determine the order of context
4157
+ evaluation. Higher weights take precedence during configuration resolution.
4300
4158
 
4301
4159
  """
4302
4160
 
4303
4161
  id: str
4304
4162
 
4305
- value: dict[str, Document] | None = None
4306
- override: dict[str, Document] | None = None
4307
- override_id: str | None = None
4308
- weight: str | None = None
4309
- description: str | None = None
4310
- change_reason: str | None = None
4311
- created_at: datetime | None = None
4312
- created_by: str | None = None
4313
- last_modified_at: datetime | None = None
4314
- last_modified_by: str | None = None
4163
+ value: dict[str, Document]
4315
4164
 
4316
- def serialize(self, serializer: ShapeSerializer):
4317
- serializer.write_struct(_SCHEMA_UPDATE_OVERRIDE_OUTPUT, self)
4165
+ override: dict[str, Document]
4318
4166
 
4319
- def serialize_members(self, serializer: ShapeSerializer):
4320
- serializer.write_string(_SCHEMA_UPDATE_OVERRIDE_OUTPUT.members["id"], self.id)
4321
- if self.value is not None:
4322
- _serialize_condition(serializer, _SCHEMA_UPDATE_OVERRIDE_OUTPUT.members["value"], self.value)
4167
+ override_id: str
4323
4168
 
4324
- if self.override is not None:
4325
- _serialize_overrides(serializer, _SCHEMA_UPDATE_OVERRIDE_OUTPUT.members["override"], self.override)
4169
+ weight: str
4326
4170
 
4327
- if self.override_id is not None:
4328
- serializer.write_string(_SCHEMA_UPDATE_OVERRIDE_OUTPUT.members["override_id"], self.override_id)
4171
+ description: str
4329
4172
 
4330
- if self.weight is not None:
4331
- serializer.write_string(_SCHEMA_UPDATE_OVERRIDE_OUTPUT.members["weight"], self.weight)
4173
+ change_reason: str
4332
4174
 
4333
- if self.description is not None:
4334
- serializer.write_string(_SCHEMA_UPDATE_OVERRIDE_OUTPUT.members["description"], self.description)
4175
+ created_at: datetime
4335
4176
 
4336
- if self.change_reason is not None:
4337
- serializer.write_string(_SCHEMA_UPDATE_OVERRIDE_OUTPUT.members["change_reason"], self.change_reason)
4177
+ created_by: str
4338
4178
 
4339
- if self.created_at is not None:
4340
- serializer.write_timestamp(_SCHEMA_UPDATE_OVERRIDE_OUTPUT.members["created_at"], self.created_at)
4179
+ last_modified_at: datetime
4341
4180
 
4342
- if self.created_by is not None:
4343
- serializer.write_string(_SCHEMA_UPDATE_OVERRIDE_OUTPUT.members["created_by"], self.created_by)
4181
+ last_modified_by: str
4344
4182
 
4345
- if self.last_modified_at is not None:
4346
- serializer.write_timestamp(_SCHEMA_UPDATE_OVERRIDE_OUTPUT.members["last_modified_at"], self.last_modified_at)
4183
+ def serialize(self, serializer: ShapeSerializer):
4184
+ serializer.write_struct(_SCHEMA_UPDATE_OVERRIDE_OUTPUT, self)
4347
4185
 
4348
- if self.last_modified_by is not None:
4349
- serializer.write_string(_SCHEMA_UPDATE_OVERRIDE_OUTPUT.members["last_modified_by"], self.last_modified_by)
4186
+ def serialize_members(self, serializer: ShapeSerializer):
4187
+ serializer.write_string(_SCHEMA_UPDATE_OVERRIDE_OUTPUT.members["id"], self.id)
4188
+ _serialize_condition(serializer, _SCHEMA_UPDATE_OVERRIDE_OUTPUT.members["value"], self.value)
4189
+ _serialize_overrides(serializer, _SCHEMA_UPDATE_OVERRIDE_OUTPUT.members["override"], self.override)
4190
+ serializer.write_string(_SCHEMA_UPDATE_OVERRIDE_OUTPUT.members["override_id"], self.override_id)
4191
+ serializer.write_string(_SCHEMA_UPDATE_OVERRIDE_OUTPUT.members["weight"], self.weight)
4192
+ serializer.write_string(_SCHEMA_UPDATE_OVERRIDE_OUTPUT.members["description"], self.description)
4193
+ serializer.write_string(_SCHEMA_UPDATE_OVERRIDE_OUTPUT.members["change_reason"], self.change_reason)
4194
+ serializer.write_timestamp(_SCHEMA_UPDATE_OVERRIDE_OUTPUT.members["created_at"], self.created_at)
4195
+ serializer.write_string(_SCHEMA_UPDATE_OVERRIDE_OUTPUT.members["created_by"], self.created_by)
4196
+ serializer.write_timestamp(_SCHEMA_UPDATE_OVERRIDE_OUTPUT.members["last_modified_at"], self.last_modified_at)
4197
+ serializer.write_string(_SCHEMA_UPDATE_OVERRIDE_OUTPUT.members["last_modified_by"], self.last_modified_by)
4350
4198
 
4351
4199
  @classmethod
4352
4200
  def deserialize(cls, deserializer: ShapeDeserializer) -> Self:
@@ -4541,39 +4389,35 @@ class WeightRecomputeResponse:
4541
4389
  """
4542
4390
 
4543
4391
  :param condition:
4544
- Represents conditional criteria used for context matching. Keys define dimension
4545
- names and values specify the criteria that must be met.
4392
+ **[Required]** - Represents conditional criteria used for context matching. Keys
4393
+ define dimension names and values specify the criteria that must be met.
4546
4394
 
4547
4395
  :param old_weight:
4548
- Priority weight used to determine the order of context evaluation. Higher
4549
- weights take precedence during configuration resolution.
4396
+ **[Required]** - Priority weight used to determine the order of context
4397
+ evaluation. Higher weights take precedence during configuration resolution.
4550
4398
 
4551
4399
  :param new_weight:
4552
- Priority weight used to determine the order of context evaluation. Higher
4553
- weights take precedence during configuration resolution.
4400
+ **[Required]** - Priority weight used to determine the order of context
4401
+ evaluation. Higher weights take precedence during configuration resolution.
4554
4402
 
4555
4403
  """
4556
4404
 
4557
- id: str | None = None
4558
- condition: dict[str, Document] | None = None
4559
- old_weight: str | None = None
4560
- new_weight: str | None = None
4405
+ id: str
4561
4406
 
4562
- def serialize(self, serializer: ShapeSerializer):
4563
- serializer.write_struct(_SCHEMA_WEIGHT_RECOMPUTE_RESPONSE, self)
4407
+ condition: dict[str, Document]
4564
4408
 
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)
4409
+ old_weight: str
4568
4410
 
4569
- if self.condition is not None:
4570
- _serialize_condition(serializer, _SCHEMA_WEIGHT_RECOMPUTE_RESPONSE.members["condition"], self.condition)
4411
+ new_weight: str
4571
4412
 
4572
- if self.old_weight is not None:
4573
- serializer.write_string(_SCHEMA_WEIGHT_RECOMPUTE_RESPONSE.members["old_weight"], self.old_weight)
4413
+ def serialize(self, serializer: ShapeSerializer):
4414
+ serializer.write_struct(_SCHEMA_WEIGHT_RECOMPUTE_RESPONSE, self)
4574
4415
 
4575
- if self.new_weight is not None:
4576
- serializer.write_string(_SCHEMA_WEIGHT_RECOMPUTE_RESPONSE.members["new_weight"], self.new_weight)
4416
+ def serialize_members(self, serializer: ShapeSerializer):
4417
+ serializer.write_string(_SCHEMA_WEIGHT_RECOMPUTE_RESPONSE.members["id"], self.id)
4418
+ _serialize_condition(serializer, _SCHEMA_WEIGHT_RECOMPUTE_RESPONSE.members["condition"], self.condition)
4419
+ serializer.write_string(_SCHEMA_WEIGHT_RECOMPUTE_RESPONSE.members["old_weight"], self.old_weight)
4420
+ serializer.write_string(_SCHEMA_WEIGHT_RECOMPUTE_RESPONSE.members["new_weight"], self.new_weight)
4577
4421
 
4578
4422
  @classmethod
4579
4423
  def deserialize(cls, deserializer: ShapeDeserializer) -> Self:
@@ -4673,9 +4517,6 @@ class CreateDefaultConfigInput:
4673
4517
  **[Required]** - Generic key-value object structure used for flexible data
4674
4518
  representation throughout the API.
4675
4519
 
4676
- :param function_name:
4677
- Optional
4678
-
4679
4520
  """
4680
4521
 
4681
4522
  key: str | None = None
@@ -4764,9 +4605,6 @@ class CreateDefaultConfigOutput:
4764
4605
  **[Required]** - Generic key-value object structure used for flexible data
4765
4606
  representation throughout the API.
4766
4607
 
4767
- :param function_name:
4768
- Optional
4769
-
4770
4608
  """
4771
4609
 
4772
4610
  key: str
@@ -5000,9 +4838,10 @@ class CreateDimensionOutput:
5000
4838
 
5001
4839
  dimension_type: DimensionType
5002
4840
 
4841
+ mandatory: bool
4842
+
5003
4843
  function_name: str | None = None
5004
4844
  autocomplete_function_name: str | None = None
5005
- mandatory: bool | None = None
5006
4845
 
5007
4846
  def serialize(self, serializer: ShapeSerializer):
5008
4847
  serializer.write_struct(_SCHEMA_CREATE_DIMENSION_OUTPUT, self)
@@ -5020,13 +4859,12 @@ class CreateDimensionOutput:
5020
4859
  serializer.write_string(_SCHEMA_CREATE_DIMENSION_OUTPUT.members["last_modified_by"], self.last_modified_by)
5021
4860
  serializer.write_timestamp(_SCHEMA_CREATE_DIMENSION_OUTPUT.members["created_at"], self.created_at)
5022
4861
  serializer.write_string(_SCHEMA_CREATE_DIMENSION_OUTPUT.members["created_by"], self.created_by)
5023
- _serialize_depedendency_graph(serializer, _SCHEMA_CREATE_DIMENSION_OUTPUT.members["dependency_graph"], self.dependency_graph)
4862
+ _serialize_dependency_graph(serializer, _SCHEMA_CREATE_DIMENSION_OUTPUT.members["dependency_graph"], self.dependency_graph)
5024
4863
  serializer.write_struct(_SCHEMA_CREATE_DIMENSION_OUTPUT.members["dimension_type"], self.dimension_type)
5025
4864
  if self.autocomplete_function_name is not None:
5026
4865
  serializer.write_string(_SCHEMA_CREATE_DIMENSION_OUTPUT.members["autocomplete_function_name"], self.autocomplete_function_name)
5027
4866
 
5028
- if self.mandatory is not None:
5029
- serializer.write_boolean(_SCHEMA_CREATE_DIMENSION_OUTPUT.members["mandatory"], self.mandatory)
4867
+ serializer.write_boolean(_SCHEMA_CREATE_DIMENSION_OUTPUT.members["mandatory"], self.mandatory)
5030
4868
 
5031
4869
  @classmethod
5032
4870
  def deserialize(cls, deserializer: ShapeDeserializer) -> Self:
@@ -5069,7 +4907,7 @@ class CreateDimensionOutput:
5069
4907
  kwargs["created_by"] = de.read_string(_SCHEMA_CREATE_DIMENSION_OUTPUT.members["created_by"])
5070
4908
 
5071
4909
  case 10:
5072
- kwargs["dependency_graph"] = _deserialize_depedendency_graph(de, _SCHEMA_CREATE_DIMENSION_OUTPUT.members["dependency_graph"])
4910
+ kwargs["dependency_graph"] = _deserialize_dependency_graph(de, _SCHEMA_CREATE_DIMENSION_OUTPUT.members["dependency_graph"])
5073
4911
 
5074
4912
  case 11:
5075
4913
  kwargs["dimension_type"] = _DimensionTypeDeserializer().deserialize(de)
@@ -6528,13 +6366,14 @@ class CreateWorkspaceOutput:
6528
6366
 
6529
6367
  strict_mode: bool
6530
6368
 
6369
+ metrics: Document
6370
+
6531
6371
  allow_experiment_self_approval: bool
6532
6372
 
6533
6373
  auto_populate_control: bool
6534
6374
 
6535
6375
  config_version: str | None = None
6536
6376
  mandatory_dimensions: list[str] | None = None
6537
- metrics: Document | None = None
6538
6377
 
6539
6378
  def serialize(self, serializer: ShapeSerializer):
6540
6379
  serializer.write_struct(_SCHEMA_CREATE_WORKSPACE_OUTPUT, self)
@@ -6557,9 +6396,7 @@ class CreateWorkspaceOutput:
6557
6396
  _serialize_list_mandatory_dimensions(serializer, _SCHEMA_CREATE_WORKSPACE_OUTPUT.members["mandatory_dimensions"], self.mandatory_dimensions)
6558
6397
 
6559
6398
  serializer.write_boolean(_SCHEMA_CREATE_WORKSPACE_OUTPUT.members["strict_mode"], self.strict_mode)
6560
- if self.metrics is not None:
6561
- serializer.write_document(_SCHEMA_CREATE_WORKSPACE_OUTPUT.members["metrics"], self.metrics)
6562
-
6399
+ serializer.write_document(_SCHEMA_CREATE_WORKSPACE_OUTPUT.members["metrics"], self.metrics)
6563
6400
  serializer.write_boolean(_SCHEMA_CREATE_WORKSPACE_OUTPUT.members["allow_experiment_self_approval"], self.allow_experiment_self_approval)
6564
6401
  serializer.write_boolean(_SCHEMA_CREATE_WORKSPACE_OUTPUT.members["auto_populate_control"], self.auto_populate_control)
6565
6402
 
@@ -6766,9 +6603,6 @@ class GetDefaultConfigOutput:
6766
6603
  **[Required]** - Generic key-value object structure used for flexible data
6767
6604
  representation throughout the API.
6768
6605
 
6769
- :param function_name:
6770
- Optional
6771
-
6772
6606
  """
6773
6607
 
6774
6608
  key: str
@@ -6940,16 +6774,13 @@ class ListDefaultConfigsInput:
6940
6774
  return kwargs
6941
6775
 
6942
6776
  @dataclass(kw_only=True)
6943
- class DefaultConfigFull:
6777
+ class DefaultConfigResponse:
6944
6778
  """
6945
6779
 
6946
6780
  :param schema:
6947
6781
  **[Required]** - Generic key-value object structure used for flexible data
6948
6782
  representation throughout the API.
6949
6783
 
6950
- :param function_name:
6951
- Optional
6952
-
6953
6784
  """
6954
6785
 
6955
6786
  key: str
@@ -6974,24 +6805,24 @@ class DefaultConfigFull:
6974
6805
  autocomplete_function_name: str | None = None
6975
6806
 
6976
6807
  def serialize(self, serializer: ShapeSerializer):
6977
- serializer.write_struct(_SCHEMA_DEFAULT_CONFIG_FULL, self)
6808
+ serializer.write_struct(_SCHEMA_DEFAULT_CONFIG_RESPONSE, self)
6978
6809
 
6979
6810
  def serialize_members(self, serializer: ShapeSerializer):
6980
- serializer.write_string(_SCHEMA_DEFAULT_CONFIG_FULL.members["key"], self.key)
6981
- serializer.write_document(_SCHEMA_DEFAULT_CONFIG_FULL.members["value"], self.value)
6982
- _serialize_object(serializer, _SCHEMA_DEFAULT_CONFIG_FULL.members["schema"], self.schema)
6983
- serializer.write_string(_SCHEMA_DEFAULT_CONFIG_FULL.members["description"], self.description)
6984
- serializer.write_string(_SCHEMA_DEFAULT_CONFIG_FULL.members["change_reason"], self.change_reason)
6811
+ serializer.write_string(_SCHEMA_DEFAULT_CONFIG_RESPONSE.members["key"], self.key)
6812
+ serializer.write_document(_SCHEMA_DEFAULT_CONFIG_RESPONSE.members["value"], self.value)
6813
+ _serialize_object(serializer, _SCHEMA_DEFAULT_CONFIG_RESPONSE.members["schema"], self.schema)
6814
+ serializer.write_string(_SCHEMA_DEFAULT_CONFIG_RESPONSE.members["description"], self.description)
6815
+ serializer.write_string(_SCHEMA_DEFAULT_CONFIG_RESPONSE.members["change_reason"], self.change_reason)
6985
6816
  if self.function_name is not None:
6986
- serializer.write_string(_SCHEMA_DEFAULT_CONFIG_FULL.members["function_name"], self.function_name)
6817
+ serializer.write_string(_SCHEMA_DEFAULT_CONFIG_RESPONSE.members["function_name"], self.function_name)
6987
6818
 
6988
6819
  if self.autocomplete_function_name is not None:
6989
- serializer.write_string(_SCHEMA_DEFAULT_CONFIG_FULL.members["autocomplete_function_name"], self.autocomplete_function_name)
6820
+ serializer.write_string(_SCHEMA_DEFAULT_CONFIG_RESPONSE.members["autocomplete_function_name"], self.autocomplete_function_name)
6990
6821
 
6991
- serializer.write_timestamp(_SCHEMA_DEFAULT_CONFIG_FULL.members["created_at"], self.created_at)
6992
- serializer.write_string(_SCHEMA_DEFAULT_CONFIG_FULL.members["created_by"], self.created_by)
6993
- serializer.write_timestamp(_SCHEMA_DEFAULT_CONFIG_FULL.members["last_modified_at"], self.last_modified_at)
6994
- serializer.write_string(_SCHEMA_DEFAULT_CONFIG_FULL.members["last_modified_by"], self.last_modified_by)
6822
+ serializer.write_timestamp(_SCHEMA_DEFAULT_CONFIG_RESPONSE.members["created_at"], self.created_at)
6823
+ serializer.write_string(_SCHEMA_DEFAULT_CONFIG_RESPONSE.members["created_by"], self.created_by)
6824
+ serializer.write_timestamp(_SCHEMA_DEFAULT_CONFIG_RESPONSE.members["last_modified_at"], self.last_modified_at)
6825
+ serializer.write_string(_SCHEMA_DEFAULT_CONFIG_RESPONSE.members["last_modified_by"], self.last_modified_by)
6995
6826
 
6996
6827
  @classmethod
6997
6828
  def deserialize(cls, deserializer: ShapeDeserializer) -> Self:
@@ -7004,80 +6835,77 @@ class DefaultConfigFull:
7004
6835
  def _consumer(schema: Schema, de: ShapeDeserializer) -> None:
7005
6836
  match schema.expect_member_index():
7006
6837
  case 0:
7007
- kwargs["key"] = de.read_string(_SCHEMA_DEFAULT_CONFIG_FULL.members["key"])
6838
+ kwargs["key"] = de.read_string(_SCHEMA_DEFAULT_CONFIG_RESPONSE.members["key"])
7008
6839
 
7009
6840
  case 1:
7010
- kwargs["value"] = de.read_document(_SCHEMA_DEFAULT_CONFIG_FULL.members["value"])
6841
+ kwargs["value"] = de.read_document(_SCHEMA_DEFAULT_CONFIG_RESPONSE.members["value"])
7011
6842
 
7012
6843
  case 2:
7013
- kwargs["schema"] = _deserialize_object(de, _SCHEMA_DEFAULT_CONFIG_FULL.members["schema"])
6844
+ kwargs["schema"] = _deserialize_object(de, _SCHEMA_DEFAULT_CONFIG_RESPONSE.members["schema"])
7014
6845
 
7015
6846
  case 3:
7016
- kwargs["description"] = de.read_string(_SCHEMA_DEFAULT_CONFIG_FULL.members["description"])
6847
+ kwargs["description"] = de.read_string(_SCHEMA_DEFAULT_CONFIG_RESPONSE.members["description"])
7017
6848
 
7018
6849
  case 4:
7019
- kwargs["change_reason"] = de.read_string(_SCHEMA_DEFAULT_CONFIG_FULL.members["change_reason"])
6850
+ kwargs["change_reason"] = de.read_string(_SCHEMA_DEFAULT_CONFIG_RESPONSE.members["change_reason"])
7020
6851
 
7021
6852
  case 5:
7022
- kwargs["function_name"] = de.read_string(_SCHEMA_DEFAULT_CONFIG_FULL.members["function_name"])
6853
+ kwargs["function_name"] = de.read_string(_SCHEMA_DEFAULT_CONFIG_RESPONSE.members["function_name"])
7023
6854
 
7024
6855
  case 6:
7025
- kwargs["autocomplete_function_name"] = de.read_string(_SCHEMA_DEFAULT_CONFIG_FULL.members["autocomplete_function_name"])
6856
+ kwargs["autocomplete_function_name"] = de.read_string(_SCHEMA_DEFAULT_CONFIG_RESPONSE.members["autocomplete_function_name"])
7026
6857
 
7027
6858
  case 7:
7028
- kwargs["created_at"] = de.read_timestamp(_SCHEMA_DEFAULT_CONFIG_FULL.members["created_at"])
6859
+ kwargs["created_at"] = de.read_timestamp(_SCHEMA_DEFAULT_CONFIG_RESPONSE.members["created_at"])
7029
6860
 
7030
6861
  case 8:
7031
- kwargs["created_by"] = de.read_string(_SCHEMA_DEFAULT_CONFIG_FULL.members["created_by"])
6862
+ kwargs["created_by"] = de.read_string(_SCHEMA_DEFAULT_CONFIG_RESPONSE.members["created_by"])
7032
6863
 
7033
6864
  case 9:
7034
- kwargs["last_modified_at"] = de.read_timestamp(_SCHEMA_DEFAULT_CONFIG_FULL.members["last_modified_at"])
6865
+ kwargs["last_modified_at"] = de.read_timestamp(_SCHEMA_DEFAULT_CONFIG_RESPONSE.members["last_modified_at"])
7035
6866
 
7036
6867
  case 10:
7037
- kwargs["last_modified_by"] = de.read_string(_SCHEMA_DEFAULT_CONFIG_FULL.members["last_modified_by"])
6868
+ kwargs["last_modified_by"] = de.read_string(_SCHEMA_DEFAULT_CONFIG_RESPONSE.members["last_modified_by"])
7038
6869
 
7039
6870
  case _:
7040
6871
  logger.debug("Unexpected member schema: %s", schema)
7041
6872
 
7042
- deserializer.read_struct(_SCHEMA_DEFAULT_CONFIG_FULL, consumer=_consumer)
6873
+ deserializer.read_struct(_SCHEMA_DEFAULT_CONFIG_RESPONSE, consumer=_consumer)
7043
6874
  return kwargs
7044
6875
 
7045
- def _serialize_list_default_config_out(serializer: ShapeSerializer, schema: Schema, value: list[DefaultConfigFull]) -> None:
6876
+ def _serialize_list_default_config_out(serializer: ShapeSerializer, schema: Schema, value: list[DefaultConfigResponse]) -> None:
7046
6877
  member_schema = schema.members["member"]
7047
6878
  with serializer.begin_list(schema, len(value)) as ls:
7048
6879
  for e in value:
7049
6880
  ls.write_struct(member_schema, e)
7050
6881
 
7051
- def _deserialize_list_default_config_out(deserializer: ShapeDeserializer, schema: Schema) -> list[DefaultConfigFull]:
7052
- result: list[DefaultConfigFull] = []
6882
+ def _deserialize_list_default_config_out(deserializer: ShapeDeserializer, schema: Schema) -> list[DefaultConfigResponse]:
6883
+ result: list[DefaultConfigResponse] = []
7053
6884
  def _read_value(d: ShapeDeserializer):
7054
6885
  if d.is_null():
7055
6886
  d.read_null()
7056
6887
 
7057
6888
  else:
7058
- result.append(DefaultConfigFull.deserialize(d))
6889
+ result.append(DefaultConfigResponse.deserialize(d))
7059
6890
  deserializer.read_list(schema, _read_value)
7060
6891
  return result
7061
6892
 
7062
6893
  @dataclass(kw_only=True)
7063
6894
  class ListDefaultConfigsOutput:
7064
6895
 
7065
- total_pages: int | None = None
7066
- total_items: int | None = None
7067
- data: list[DefaultConfigFull] | None = None
6896
+ total_pages: int
6897
+
6898
+ total_items: int
6899
+
6900
+ data: list[DefaultConfigResponse]
7068
6901
 
7069
6902
  def serialize(self, serializer: ShapeSerializer):
7070
6903
  serializer.write_struct(_SCHEMA_LIST_DEFAULT_CONFIGS_OUTPUT, self)
7071
6904
 
7072
6905
  def serialize_members(self, serializer: ShapeSerializer):
7073
- if self.total_pages is not None:
7074
- serializer.write_integer(_SCHEMA_LIST_DEFAULT_CONFIGS_OUTPUT.members["total_pages"], self.total_pages)
7075
-
7076
- if self.total_items is not None:
7077
- serializer.write_integer(_SCHEMA_LIST_DEFAULT_CONFIGS_OUTPUT.members["total_items"], self.total_items)
7078
-
7079
- if self.data is not None:
7080
- _serialize_list_default_config_out(serializer, _SCHEMA_LIST_DEFAULT_CONFIGS_OUTPUT.members["data"], self.data)
6906
+ serializer.write_integer(_SCHEMA_LIST_DEFAULT_CONFIGS_OUTPUT.members["total_pages"], self.total_pages)
6907
+ serializer.write_integer(_SCHEMA_LIST_DEFAULT_CONFIGS_OUTPUT.members["total_items"], self.total_items)
6908
+ _serialize_list_default_config_out(serializer, _SCHEMA_LIST_DEFAULT_CONFIGS_OUTPUT.members["data"], self.data)
7081
6909
 
7082
6910
  @classmethod
7083
6911
  def deserialize(cls, deserializer: ShapeDeserializer) -> Self:
@@ -7126,6 +6954,12 @@ class UpdateDefaultConfigInput:
7126
6954
  Generic key-value object structure used for flexible data representation
7127
6955
  throughout the API.
7128
6956
 
6957
+ :param function_name:
6958
+ To unset the function name, pass "null" string.
6959
+
6960
+ :param autocomplete_function_name:
6961
+ To unset the function name, pass "null" string.
6962
+
7129
6963
  """
7130
6964
 
7131
6965
  workspace_id: str | None = None
@@ -7211,9 +7045,6 @@ class UpdateDefaultConfigOutput:
7211
7045
  **[Required]** - Generic key-value object structure used for flexible data
7212
7046
  representation throughout the API.
7213
7047
 
7214
- :param function_name:
7215
- Optional
7216
-
7217
7048
  """
7218
7049
 
7219
7050
  key: str
@@ -7929,9 +7760,10 @@ class GetDimensionOutput:
7929
7760
 
7930
7761
  dimension_type: DimensionType
7931
7762
 
7763
+ mandatory: bool
7764
+
7932
7765
  function_name: str | None = None
7933
7766
  autocomplete_function_name: str | None = None
7934
- mandatory: bool | None = None
7935
7767
 
7936
7768
  def serialize(self, serializer: ShapeSerializer):
7937
7769
  serializer.write_struct(_SCHEMA_GET_DIMENSION_OUTPUT, self)
@@ -7949,13 +7781,12 @@ class GetDimensionOutput:
7949
7781
  serializer.write_string(_SCHEMA_GET_DIMENSION_OUTPUT.members["last_modified_by"], self.last_modified_by)
7950
7782
  serializer.write_timestamp(_SCHEMA_GET_DIMENSION_OUTPUT.members["created_at"], self.created_at)
7951
7783
  serializer.write_string(_SCHEMA_GET_DIMENSION_OUTPUT.members["created_by"], self.created_by)
7952
- _serialize_depedendency_graph(serializer, _SCHEMA_GET_DIMENSION_OUTPUT.members["dependency_graph"], self.dependency_graph)
7784
+ _serialize_dependency_graph(serializer, _SCHEMA_GET_DIMENSION_OUTPUT.members["dependency_graph"], self.dependency_graph)
7953
7785
  serializer.write_struct(_SCHEMA_GET_DIMENSION_OUTPUT.members["dimension_type"], self.dimension_type)
7954
7786
  if self.autocomplete_function_name is not None:
7955
7787
  serializer.write_string(_SCHEMA_GET_DIMENSION_OUTPUT.members["autocomplete_function_name"], self.autocomplete_function_name)
7956
7788
 
7957
- if self.mandatory is not None:
7958
- serializer.write_boolean(_SCHEMA_GET_DIMENSION_OUTPUT.members["mandatory"], self.mandatory)
7789
+ serializer.write_boolean(_SCHEMA_GET_DIMENSION_OUTPUT.members["mandatory"], self.mandatory)
7959
7790
 
7960
7791
  @classmethod
7961
7792
  def deserialize(cls, deserializer: ShapeDeserializer) -> Self:
@@ -7998,7 +7829,7 @@ class GetDimensionOutput:
7998
7829
  kwargs["created_by"] = de.read_string(_SCHEMA_GET_DIMENSION_OUTPUT.members["created_by"])
7999
7830
 
8000
7831
  case 10:
8001
- kwargs["dependency_graph"] = _deserialize_depedendency_graph(de, _SCHEMA_GET_DIMENSION_OUTPUT.members["dependency_graph"])
7832
+ kwargs["dependency_graph"] = _deserialize_dependency_graph(de, _SCHEMA_GET_DIMENSION_OUTPUT.members["dependency_graph"])
8002
7833
 
8003
7834
  case 11:
8004
7835
  kwargs["dimension_type"] = _DimensionTypeDeserializer().deserialize(de)
@@ -8090,7 +7921,7 @@ class ListDimensionsInput:
8090
7921
  return kwargs
8091
7922
 
8092
7923
  @dataclass(kw_only=True)
8093
- class DimensionExt:
7924
+ class DimensionResponse:
8094
7925
  """
8095
7926
 
8096
7927
  :param schema:
@@ -8121,33 +7952,33 @@ class DimensionExt:
8121
7952
 
8122
7953
  dimension_type: DimensionType
8123
7954
 
7955
+ mandatory: bool
7956
+
8124
7957
  function_name: str | None = None
8125
7958
  autocomplete_function_name: str | None = None
8126
- mandatory: bool | None = None
8127
7959
 
8128
7960
  def serialize(self, serializer: ShapeSerializer):
8129
- serializer.write_struct(_SCHEMA_DIMENSION_EXT, self)
7961
+ serializer.write_struct(_SCHEMA_DIMENSION_RESPONSE, self)
8130
7962
 
8131
7963
  def serialize_members(self, serializer: ShapeSerializer):
8132
- serializer.write_string(_SCHEMA_DIMENSION_EXT.members["dimension"], self.dimension)
8133
- serializer.write_integer(_SCHEMA_DIMENSION_EXT.members["position"], self.position)
8134
- _serialize_object(serializer, _SCHEMA_DIMENSION_EXT.members["schema"], self.schema)
7964
+ serializer.write_string(_SCHEMA_DIMENSION_RESPONSE.members["dimension"], self.dimension)
7965
+ serializer.write_integer(_SCHEMA_DIMENSION_RESPONSE.members["position"], self.position)
7966
+ _serialize_object(serializer, _SCHEMA_DIMENSION_RESPONSE.members["schema"], self.schema)
8135
7967
  if self.function_name is not None:
8136
- serializer.write_string(_SCHEMA_DIMENSION_EXT.members["function_name"], self.function_name)
8137
-
8138
- serializer.write_string(_SCHEMA_DIMENSION_EXT.members["description"], self.description)
8139
- serializer.write_string(_SCHEMA_DIMENSION_EXT.members["change_reason"], self.change_reason)
8140
- serializer.write_timestamp(_SCHEMA_DIMENSION_EXT.members["last_modified_at"], self.last_modified_at)
8141
- serializer.write_string(_SCHEMA_DIMENSION_EXT.members["last_modified_by"], self.last_modified_by)
8142
- serializer.write_timestamp(_SCHEMA_DIMENSION_EXT.members["created_at"], self.created_at)
8143
- serializer.write_string(_SCHEMA_DIMENSION_EXT.members["created_by"], self.created_by)
8144
- _serialize_depedendency_graph(serializer, _SCHEMA_DIMENSION_EXT.members["dependency_graph"], self.dependency_graph)
8145
- serializer.write_struct(_SCHEMA_DIMENSION_EXT.members["dimension_type"], self.dimension_type)
7968
+ serializer.write_string(_SCHEMA_DIMENSION_RESPONSE.members["function_name"], self.function_name)
7969
+
7970
+ serializer.write_string(_SCHEMA_DIMENSION_RESPONSE.members["description"], self.description)
7971
+ serializer.write_string(_SCHEMA_DIMENSION_RESPONSE.members["change_reason"], self.change_reason)
7972
+ serializer.write_timestamp(_SCHEMA_DIMENSION_RESPONSE.members["last_modified_at"], self.last_modified_at)
7973
+ serializer.write_string(_SCHEMA_DIMENSION_RESPONSE.members["last_modified_by"], self.last_modified_by)
7974
+ serializer.write_timestamp(_SCHEMA_DIMENSION_RESPONSE.members["created_at"], self.created_at)
7975
+ serializer.write_string(_SCHEMA_DIMENSION_RESPONSE.members["created_by"], self.created_by)
7976
+ _serialize_dependency_graph(serializer, _SCHEMA_DIMENSION_RESPONSE.members["dependency_graph"], self.dependency_graph)
7977
+ serializer.write_struct(_SCHEMA_DIMENSION_RESPONSE.members["dimension_type"], self.dimension_type)
8146
7978
  if self.autocomplete_function_name is not None:
8147
- serializer.write_string(_SCHEMA_DIMENSION_EXT.members["autocomplete_function_name"], self.autocomplete_function_name)
7979
+ serializer.write_string(_SCHEMA_DIMENSION_RESPONSE.members["autocomplete_function_name"], self.autocomplete_function_name)
8148
7980
 
8149
- if self.mandatory is not None:
8150
- serializer.write_boolean(_SCHEMA_DIMENSION_EXT.members["mandatory"], self.mandatory)
7981
+ serializer.write_boolean(_SCHEMA_DIMENSION_RESPONSE.members["mandatory"], self.mandatory)
8151
7982
 
8152
7983
  @classmethod
8153
7984
  def deserialize(cls, deserializer: ShapeDeserializer) -> Self:
@@ -8160,89 +7991,86 @@ class DimensionExt:
8160
7991
  def _consumer(schema: Schema, de: ShapeDeserializer) -> None:
8161
7992
  match schema.expect_member_index():
8162
7993
  case 0:
8163
- kwargs["dimension"] = de.read_string(_SCHEMA_DIMENSION_EXT.members["dimension"])
7994
+ kwargs["dimension"] = de.read_string(_SCHEMA_DIMENSION_RESPONSE.members["dimension"])
8164
7995
 
8165
7996
  case 1:
8166
- kwargs["position"] = de.read_integer(_SCHEMA_DIMENSION_EXT.members["position"])
7997
+ kwargs["position"] = de.read_integer(_SCHEMA_DIMENSION_RESPONSE.members["position"])
8167
7998
 
8168
7999
  case 2:
8169
- kwargs["schema"] = _deserialize_object(de, _SCHEMA_DIMENSION_EXT.members["schema"])
8000
+ kwargs["schema"] = _deserialize_object(de, _SCHEMA_DIMENSION_RESPONSE.members["schema"])
8170
8001
 
8171
8002
  case 3:
8172
- kwargs["function_name"] = de.read_string(_SCHEMA_DIMENSION_EXT.members["function_name"])
8003
+ kwargs["function_name"] = de.read_string(_SCHEMA_DIMENSION_RESPONSE.members["function_name"])
8173
8004
 
8174
8005
  case 4:
8175
- kwargs["description"] = de.read_string(_SCHEMA_DIMENSION_EXT.members["description"])
8006
+ kwargs["description"] = de.read_string(_SCHEMA_DIMENSION_RESPONSE.members["description"])
8176
8007
 
8177
8008
  case 5:
8178
- kwargs["change_reason"] = de.read_string(_SCHEMA_DIMENSION_EXT.members["change_reason"])
8009
+ kwargs["change_reason"] = de.read_string(_SCHEMA_DIMENSION_RESPONSE.members["change_reason"])
8179
8010
 
8180
8011
  case 6:
8181
- kwargs["last_modified_at"] = de.read_timestamp(_SCHEMA_DIMENSION_EXT.members["last_modified_at"])
8012
+ kwargs["last_modified_at"] = de.read_timestamp(_SCHEMA_DIMENSION_RESPONSE.members["last_modified_at"])
8182
8013
 
8183
8014
  case 7:
8184
- kwargs["last_modified_by"] = de.read_string(_SCHEMA_DIMENSION_EXT.members["last_modified_by"])
8015
+ kwargs["last_modified_by"] = de.read_string(_SCHEMA_DIMENSION_RESPONSE.members["last_modified_by"])
8185
8016
 
8186
8017
  case 8:
8187
- kwargs["created_at"] = de.read_timestamp(_SCHEMA_DIMENSION_EXT.members["created_at"])
8018
+ kwargs["created_at"] = de.read_timestamp(_SCHEMA_DIMENSION_RESPONSE.members["created_at"])
8188
8019
 
8189
8020
  case 9:
8190
- kwargs["created_by"] = de.read_string(_SCHEMA_DIMENSION_EXT.members["created_by"])
8021
+ kwargs["created_by"] = de.read_string(_SCHEMA_DIMENSION_RESPONSE.members["created_by"])
8191
8022
 
8192
8023
  case 10:
8193
- kwargs["dependency_graph"] = _deserialize_depedendency_graph(de, _SCHEMA_DIMENSION_EXT.members["dependency_graph"])
8024
+ kwargs["dependency_graph"] = _deserialize_dependency_graph(de, _SCHEMA_DIMENSION_RESPONSE.members["dependency_graph"])
8194
8025
 
8195
8026
  case 11:
8196
8027
  kwargs["dimension_type"] = _DimensionTypeDeserializer().deserialize(de)
8197
8028
 
8198
8029
  case 12:
8199
- kwargs["autocomplete_function_name"] = de.read_string(_SCHEMA_DIMENSION_EXT.members["autocomplete_function_name"])
8030
+ kwargs["autocomplete_function_name"] = de.read_string(_SCHEMA_DIMENSION_RESPONSE.members["autocomplete_function_name"])
8200
8031
 
8201
8032
  case 13:
8202
- kwargs["mandatory"] = de.read_boolean(_SCHEMA_DIMENSION_EXT.members["mandatory"])
8033
+ kwargs["mandatory"] = de.read_boolean(_SCHEMA_DIMENSION_RESPONSE.members["mandatory"])
8203
8034
 
8204
8035
  case _:
8205
8036
  logger.debug("Unexpected member schema: %s", schema)
8206
8037
 
8207
- deserializer.read_struct(_SCHEMA_DIMENSION_EXT, consumer=_consumer)
8038
+ deserializer.read_struct(_SCHEMA_DIMENSION_RESPONSE, consumer=_consumer)
8208
8039
  return kwargs
8209
8040
 
8210
- def _serialize_dimension_ext_list(serializer: ShapeSerializer, schema: Schema, value: list[DimensionExt]) -> None:
8041
+ def _serialize_dimension_list(serializer: ShapeSerializer, schema: Schema, value: list[DimensionResponse]) -> None:
8211
8042
  member_schema = schema.members["member"]
8212
8043
  with serializer.begin_list(schema, len(value)) as ls:
8213
8044
  for e in value:
8214
8045
  ls.write_struct(member_schema, e)
8215
8046
 
8216
- def _deserialize_dimension_ext_list(deserializer: ShapeDeserializer, schema: Schema) -> list[DimensionExt]:
8217
- result: list[DimensionExt] = []
8047
+ def _deserialize_dimension_list(deserializer: ShapeDeserializer, schema: Schema) -> list[DimensionResponse]:
8048
+ result: list[DimensionResponse] = []
8218
8049
  def _read_value(d: ShapeDeserializer):
8219
8050
  if d.is_null():
8220
8051
  d.read_null()
8221
8052
 
8222
8053
  else:
8223
- result.append(DimensionExt.deserialize(d))
8054
+ result.append(DimensionResponse.deserialize(d))
8224
8055
  deserializer.read_list(schema, _read_value)
8225
8056
  return result
8226
8057
 
8227
8058
  @dataclass(kw_only=True)
8228
8059
  class ListDimensionsOutput:
8229
8060
 
8230
- total_pages: int | None = None
8231
- total_items: int | None = None
8232
- data: list[DimensionExt] | None = None
8061
+ total_pages: int
8062
+
8063
+ total_items: int
8064
+
8065
+ data: list[DimensionResponse]
8233
8066
 
8234
8067
  def serialize(self, serializer: ShapeSerializer):
8235
8068
  serializer.write_struct(_SCHEMA_LIST_DIMENSIONS_OUTPUT, self)
8236
8069
 
8237
8070
  def serialize_members(self, serializer: ShapeSerializer):
8238
- if self.total_pages is not None:
8239
- serializer.write_integer(_SCHEMA_LIST_DIMENSIONS_OUTPUT.members["total_pages"], self.total_pages)
8240
-
8241
- if self.total_items is not None:
8242
- serializer.write_integer(_SCHEMA_LIST_DIMENSIONS_OUTPUT.members["total_items"], self.total_items)
8243
-
8244
- if self.data is not None:
8245
- _serialize_dimension_ext_list(serializer, _SCHEMA_LIST_DIMENSIONS_OUTPUT.members["data"], self.data)
8071
+ serializer.write_integer(_SCHEMA_LIST_DIMENSIONS_OUTPUT.members["total_pages"], self.total_pages)
8072
+ serializer.write_integer(_SCHEMA_LIST_DIMENSIONS_OUTPUT.members["total_items"], self.total_items)
8073
+ _serialize_dimension_list(serializer, _SCHEMA_LIST_DIMENSIONS_OUTPUT.members["data"], self.data)
8246
8074
 
8247
8075
  @classmethod
8248
8076
  def deserialize(cls, deserializer: ShapeDeserializer) -> Self:
@@ -8261,7 +8089,7 @@ class ListDimensionsOutput:
8261
8089
  kwargs["total_items"] = de.read_integer(_SCHEMA_LIST_DIMENSIONS_OUTPUT.members["total_items"])
8262
8090
 
8263
8091
  case 2:
8264
- kwargs["data"] = _deserialize_dimension_ext_list(de, _SCHEMA_LIST_DIMENSIONS_OUTPUT.members["data"])
8092
+ kwargs["data"] = _deserialize_dimension_list(de, _SCHEMA_LIST_DIMENSIONS_OUTPUT.members["data"])
8265
8093
 
8266
8094
  case _:
8267
8095
  logger.debug("Unexpected member schema: %s", schema)
@@ -8291,6 +8119,12 @@ class UpdateDimensionInput:
8291
8119
  Generic key-value object structure used for flexible data representation
8292
8120
  throughout the API.
8293
8121
 
8122
+ :param function_name:
8123
+ To unset the function name, pass "null" string.
8124
+
8125
+ :param autocomplete_function_name:
8126
+ To unset the function name, pass "null" string.
8127
+
8294
8128
  """
8295
8129
 
8296
8130
  workspace_id: str | None = None
@@ -8400,9 +8234,10 @@ class UpdateDimensionOutput:
8400
8234
 
8401
8235
  dimension_type: DimensionType
8402
8236
 
8237
+ mandatory: bool
8238
+
8403
8239
  function_name: str | None = None
8404
8240
  autocomplete_function_name: str | None = None
8405
- mandatory: bool | None = None
8406
8241
 
8407
8242
  def serialize(self, serializer: ShapeSerializer):
8408
8243
  serializer.write_struct(_SCHEMA_UPDATE_DIMENSION_OUTPUT, self)
@@ -8420,13 +8255,12 @@ class UpdateDimensionOutput:
8420
8255
  serializer.write_string(_SCHEMA_UPDATE_DIMENSION_OUTPUT.members["last_modified_by"], self.last_modified_by)
8421
8256
  serializer.write_timestamp(_SCHEMA_UPDATE_DIMENSION_OUTPUT.members["created_at"], self.created_at)
8422
8257
  serializer.write_string(_SCHEMA_UPDATE_DIMENSION_OUTPUT.members["created_by"], self.created_by)
8423
- _serialize_depedendency_graph(serializer, _SCHEMA_UPDATE_DIMENSION_OUTPUT.members["dependency_graph"], self.dependency_graph)
8258
+ _serialize_dependency_graph(serializer, _SCHEMA_UPDATE_DIMENSION_OUTPUT.members["dependency_graph"], self.dependency_graph)
8424
8259
  serializer.write_struct(_SCHEMA_UPDATE_DIMENSION_OUTPUT.members["dimension_type"], self.dimension_type)
8425
8260
  if self.autocomplete_function_name is not None:
8426
8261
  serializer.write_string(_SCHEMA_UPDATE_DIMENSION_OUTPUT.members["autocomplete_function_name"], self.autocomplete_function_name)
8427
8262
 
8428
- if self.mandatory is not None:
8429
- serializer.write_boolean(_SCHEMA_UPDATE_DIMENSION_OUTPUT.members["mandatory"], self.mandatory)
8263
+ serializer.write_boolean(_SCHEMA_UPDATE_DIMENSION_OUTPUT.members["mandatory"], self.mandatory)
8430
8264
 
8431
8265
  @classmethod
8432
8266
  def deserialize(cls, deserializer: ShapeDeserializer) -> Self:
@@ -8469,7 +8303,7 @@ class UpdateDimensionOutput:
8469
8303
  kwargs["created_by"] = de.read_string(_SCHEMA_UPDATE_DIMENSION_OUTPUT.members["created_by"])
8470
8304
 
8471
8305
  case 10:
8472
- kwargs["dependency_graph"] = _deserialize_depedendency_graph(de, _SCHEMA_UPDATE_DIMENSION_OUTPUT.members["dependency_graph"])
8306
+ kwargs["dependency_graph"] = _deserialize_dependency_graph(de, _SCHEMA_UPDATE_DIMENSION_OUTPUT.members["dependency_graph"])
8473
8307
 
8474
8308
  case 11:
8475
8309
  kwargs["dimension_type"] = _DimensionTypeDeserializer().deserialize(de)
@@ -9160,26 +8994,23 @@ class ListExperimentGroupsOutput:
9160
8994
  """
9161
8995
 
9162
8996
  :param data:
9163
- A list of experiment group responses.
8997
+ **[Required]** - A list of experiment group responses.
9164
8998
 
9165
8999
  """
9166
9000
 
9167
- total_pages: int | None = None
9168
- total_items: int | None = None
9169
- data: list[ExperimentGroupResponse] | None = None
9001
+ total_pages: int
9002
+
9003
+ total_items: int
9004
+
9005
+ data: list[ExperimentGroupResponse]
9170
9006
 
9171
9007
  def serialize(self, serializer: ShapeSerializer):
9172
9008
  serializer.write_struct(_SCHEMA_LIST_EXPERIMENT_GROUPS_OUTPUT, self)
9173
9009
 
9174
9010
  def serialize_members(self, serializer: ShapeSerializer):
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)
9011
+ serializer.write_integer(_SCHEMA_LIST_EXPERIMENT_GROUPS_OUTPUT.members["total_pages"], self.total_pages)
9012
+ serializer.write_integer(_SCHEMA_LIST_EXPERIMENT_GROUPS_OUTPUT.members["total_items"], self.total_items)
9013
+ _serialize_experiment_group_list(serializer, _SCHEMA_LIST_EXPERIMENT_GROUPS_OUTPUT.members["data"], self.data)
9183
9014
 
9184
9015
  @classmethod
9185
9016
  def deserialize(cls, deserializer: ShapeDeserializer) -> Self:
@@ -9229,7 +9060,7 @@ class RemoveMembersFromGroupInput:
9229
9060
  **[Required]** - Reason for adding these members.
9230
9061
 
9231
9062
  :param member_experiment_ids:
9232
- **[Required]** - List of experiment IDs to add to this group.
9063
+ **[Required]** - List of experiment IDs to add/remove to this group.
9233
9064
 
9234
9065
  """
9235
9066
 
@@ -10130,22 +9961,19 @@ class ListExperimentInput:
10130
9961
  @dataclass(kw_only=True)
10131
9962
  class ListExperimentOutput:
10132
9963
 
10133
- total_pages: int | None = None
10134
- total_items: int | None = None
10135
- data: list[ExperimentResponse] | None = None
9964
+ total_pages: int
9965
+
9966
+ total_items: int
9967
+
9968
+ data: list[ExperimentResponse]
10136
9969
 
10137
9970
  def serialize(self, serializer: ShapeSerializer):
10138
9971
  serializer.write_struct(_SCHEMA_LIST_EXPERIMENT_OUTPUT, self)
10139
9972
 
10140
9973
  def serialize_members(self, serializer: ShapeSerializer):
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)
9974
+ serializer.write_integer(_SCHEMA_LIST_EXPERIMENT_OUTPUT.members["total_pages"], self.total_pages)
9975
+ serializer.write_integer(_SCHEMA_LIST_EXPERIMENT_OUTPUT.members["total_items"], self.total_items)
9976
+ _serialize_experiment_list(serializer, _SCHEMA_LIST_EXPERIMENT_OUTPUT.members["data"], self.data)
10149
9977
 
10150
9978
  @classmethod
10151
9979
  def deserialize(cls, deserializer: ShapeDeserializer) -> Self:
@@ -10840,17 +10668,25 @@ ShapeID("io.superposition#InternalServerError"): InternalServerError,
10840
10668
 
10841
10669
  @dataclass(kw_only=True)
10842
10670
  class VariantUpdateRequest:
10671
+ """
10672
+
10673
+ :param overrides:
10674
+ **[Required]** - Configuration overrides that replace default values when
10675
+ context conditions are met. Keys represent configuration keys and values are the
10676
+ override data.
10677
+
10678
+ """
10843
10679
 
10844
10680
  id: str
10845
10681
 
10846
- overrides: Document
10682
+ overrides: dict[str, Document]
10847
10683
 
10848
10684
  def serialize(self, serializer: ShapeSerializer):
10849
10685
  serializer.write_struct(_SCHEMA_VARIANT_UPDATE_REQUEST, self)
10850
10686
 
10851
10687
  def serialize_members(self, serializer: ShapeSerializer):
10852
10688
  serializer.write_string(_SCHEMA_VARIANT_UPDATE_REQUEST.members["id"], self.id)
10853
- serializer.write_document(_SCHEMA_VARIANT_UPDATE_REQUEST.members["overrides"], self.overrides)
10689
+ _serialize_overrides(serializer, _SCHEMA_VARIANT_UPDATE_REQUEST.members["overrides"], self.overrides)
10854
10690
 
10855
10691
  @classmethod
10856
10692
  def deserialize(cls, deserializer: ShapeDeserializer) -> Self:
@@ -10866,7 +10702,7 @@ class VariantUpdateRequest:
10866
10702
  kwargs["id"] = de.read_string(_SCHEMA_VARIANT_UPDATE_REQUEST.members["id"])
10867
10703
 
10868
10704
  case 1:
10869
- kwargs["overrides"] = de.read_document(_SCHEMA_VARIANT_UPDATE_REQUEST.members["overrides"])
10705
+ kwargs["overrides"] = _deserialize_overrides(de, _SCHEMA_VARIANT_UPDATE_REQUEST.members["overrides"])
10870
10706
 
10871
10707
  case _:
10872
10708
  logger.debug("Unexpected member schema: %s", schema)
@@ -10893,6 +10729,12 @@ def _deserialize_list_variant_update_request(deserializer: ShapeDeserializer, sc
10893
10729
 
10894
10730
  @dataclass(kw_only=True)
10895
10731
  class UpdateOverridesExperimentInput:
10732
+ """
10733
+
10734
+ :param experiment_group_id:
10735
+ To unset experiment group, pass "null" string.
10736
+
10737
+ """
10896
10738
 
10897
10739
  workspace_id: str | None = None
10898
10740
  org_id: str | None = None
@@ -11514,22 +11356,19 @@ def _deserialize_function_list_response(deserializer: ShapeDeserializer, schema:
11514
11356
  @dataclass(kw_only=True)
11515
11357
  class ListFunctionOutput:
11516
11358
 
11517
- total_pages: int | None = None
11518
- total_items: int | None = None
11519
- data: list[FunctionResponse] | None = None
11359
+ total_pages: int
11360
+
11361
+ total_items: int
11362
+
11363
+ data: list[FunctionResponse]
11520
11364
 
11521
11365
  def serialize(self, serializer: ShapeSerializer):
11522
11366
  serializer.write_struct(_SCHEMA_LIST_FUNCTION_OUTPUT, self)
11523
11367
 
11524
11368
  def serialize_members(self, serializer: ShapeSerializer):
11525
- if self.total_pages is not None:
11526
- serializer.write_integer(_SCHEMA_LIST_FUNCTION_OUTPUT.members["total_pages"], self.total_pages)
11527
-
11528
- if self.total_items is not None:
11529
- serializer.write_integer(_SCHEMA_LIST_FUNCTION_OUTPUT.members["total_items"], self.total_items)
11530
-
11531
- if self.data is not None:
11532
- _serialize_function_list_response(serializer, _SCHEMA_LIST_FUNCTION_OUTPUT.members["data"], self.data)
11369
+ serializer.write_integer(_SCHEMA_LIST_FUNCTION_OUTPUT.members["total_pages"], self.total_pages)
11370
+ serializer.write_integer(_SCHEMA_LIST_FUNCTION_OUTPUT.members["total_items"], self.total_items)
11371
+ _serialize_function_list_response(serializer, _SCHEMA_LIST_FUNCTION_OUTPUT.members["data"], self.data)
11533
11372
 
11534
11373
  @classmethod
11535
11374
  def deserialize(cls, deserializer: ShapeDeserializer) -> Self:
@@ -11744,18 +11583,16 @@ ShapeID("io.superposition#InternalServerError"): InternalServerError,
11744
11583
  @dataclass(kw_only=True)
11745
11584
  class ValidateFunctionRequest:
11746
11585
 
11747
- key: str | None = None
11748
- value: Document | None = None
11586
+ key: str
11587
+
11588
+ value: Document
11749
11589
 
11750
11590
  def serialize(self, serializer: ShapeSerializer):
11751
11591
  serializer.write_struct(_SCHEMA_VALIDATE_FUNCTION_REQUEST, self)
11752
11592
 
11753
11593
  def serialize_members(self, serializer: ShapeSerializer):
11754
- if self.key is not None:
11755
- serializer.write_string(_SCHEMA_VALIDATE_FUNCTION_REQUEST.members["key"], self.key)
11756
-
11757
- if self.value is not None:
11758
- serializer.write_document(_SCHEMA_VALIDATE_FUNCTION_REQUEST.members["value"], self.value)
11594
+ serializer.write_string(_SCHEMA_VALIDATE_FUNCTION_REQUEST.members["key"], self.key)
11595
+ serializer.write_document(_SCHEMA_VALIDATE_FUNCTION_REQUEST.members["value"], self.value)
11759
11596
 
11760
11597
  @classmethod
11761
11598
  def deserialize(cls, deserializer: ShapeDeserializer) -> Self:
@@ -12596,22 +12433,19 @@ def _deserialize_type_templates_list(deserializer: ShapeDeserializer, schema: Sc
12596
12433
  @dataclass(kw_only=True)
12597
12434
  class GetTypeTemplatesListOutput:
12598
12435
 
12599
- total_pages: int | None = None
12600
- total_items: int | None = None
12601
- data: list[TypeTemplatesResponse] | None = None
12436
+ total_pages: int
12437
+
12438
+ total_items: int
12439
+
12440
+ data: list[TypeTemplatesResponse]
12602
12441
 
12603
12442
  def serialize(self, serializer: ShapeSerializer):
12604
12443
  serializer.write_struct(_SCHEMA_GET_TYPE_TEMPLATES_LIST_OUTPUT, self)
12605
12444
 
12606
12445
  def serialize_members(self, serializer: ShapeSerializer):
12607
- if self.total_pages is not None:
12608
- serializer.write_integer(_SCHEMA_GET_TYPE_TEMPLATES_LIST_OUTPUT.members["total_pages"], self.total_pages)
12609
-
12610
- if self.total_items is not None:
12611
- serializer.write_integer(_SCHEMA_GET_TYPE_TEMPLATES_LIST_OUTPUT.members["total_items"], self.total_items)
12612
-
12613
- if self.data is not None:
12614
- _serialize_type_templates_list(serializer, _SCHEMA_GET_TYPE_TEMPLATES_LIST_OUTPUT.members["data"], self.data)
12446
+ serializer.write_integer(_SCHEMA_GET_TYPE_TEMPLATES_LIST_OUTPUT.members["total_pages"], self.total_pages)
12447
+ serializer.write_integer(_SCHEMA_GET_TYPE_TEMPLATES_LIST_OUTPUT.members["total_items"], self.total_items)
12448
+ _serialize_type_templates_list(serializer, _SCHEMA_GET_TYPE_TEMPLATES_LIST_OUTPUT.members["data"], self.data)
12615
12449
 
12616
12450
  @classmethod
12617
12451
  def deserialize(cls, deserializer: ShapeDeserializer) -> Self:
@@ -13065,13 +12899,14 @@ class GetWorkspaceOutput:
13065
12899
 
13066
12900
  strict_mode: bool
13067
12901
 
12902
+ metrics: Document
12903
+
13068
12904
  allow_experiment_self_approval: bool
13069
12905
 
13070
12906
  auto_populate_control: bool
13071
12907
 
13072
12908
  config_version: str | None = None
13073
12909
  mandatory_dimensions: list[str] | None = None
13074
- metrics: Document | None = None
13075
12910
 
13076
12911
  def serialize(self, serializer: ShapeSerializer):
13077
12912
  serializer.write_struct(_SCHEMA_GET_WORKSPACE_OUTPUT, self)
@@ -13094,9 +12929,7 @@ class GetWorkspaceOutput:
13094
12929
  _serialize_list_mandatory_dimensions(serializer, _SCHEMA_GET_WORKSPACE_OUTPUT.members["mandatory_dimensions"], self.mandatory_dimensions)
13095
12930
 
13096
12931
  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
-
12932
+ serializer.write_document(_SCHEMA_GET_WORKSPACE_OUTPUT.members["metrics"], self.metrics)
13100
12933
  serializer.write_boolean(_SCHEMA_GET_WORKSPACE_OUTPUT.members["allow_experiment_self_approval"], self.allow_experiment_self_approval)
13101
12934
  serializer.write_boolean(_SCHEMA_GET_WORKSPACE_OUTPUT.members["auto_populate_control"], self.auto_populate_control)
13102
12935
 
@@ -13351,22 +13184,19 @@ def _deserialize_organisation_list(deserializer: ShapeDeserializer, schema: Sche
13351
13184
  @dataclass(kw_only=True)
13352
13185
  class ListOrganisationOutput:
13353
13186
 
13354
- total_pages: int | None = None
13355
- total_items: int | None = None
13356
- data: list[OrganisationResponse] | None = None
13187
+ total_pages: int
13188
+
13189
+ total_items: int
13190
+
13191
+ data: list[OrganisationResponse]
13357
13192
 
13358
13193
  def serialize(self, serializer: ShapeSerializer):
13359
13194
  serializer.write_struct(_SCHEMA_LIST_ORGANISATION_OUTPUT, self)
13360
13195
 
13361
13196
  def serialize_members(self, serializer: ShapeSerializer):
13362
- if self.total_pages is not None:
13363
- serializer.write_integer(_SCHEMA_LIST_ORGANISATION_OUTPUT.members["total_pages"], self.total_pages)
13364
-
13365
- if self.total_items is not None:
13366
- serializer.write_integer(_SCHEMA_LIST_ORGANISATION_OUTPUT.members["total_items"], self.total_items)
13367
-
13368
- if self.data is not None:
13369
- _serialize_organisation_list(serializer, _SCHEMA_LIST_ORGANISATION_OUTPUT.members["data"], self.data)
13197
+ serializer.write_integer(_SCHEMA_LIST_ORGANISATION_OUTPUT.members["total_pages"], self.total_pages)
13198
+ serializer.write_integer(_SCHEMA_LIST_ORGANISATION_OUTPUT.members["total_items"], self.total_items)
13199
+ _serialize_organisation_list(serializer, _SCHEMA_LIST_ORGANISATION_OUTPUT.members["data"], self.data)
13370
13200
 
13371
13201
  @classmethod
13372
13202
  def deserialize(cls, deserializer: ShapeDeserializer) -> Self:
@@ -13610,22 +13440,19 @@ def _deserialize_webhook_list(deserializer: ShapeDeserializer, schema: Schema) -
13610
13440
  @dataclass(kw_only=True)
13611
13441
  class ListWebhookOutput:
13612
13442
 
13613
- total_pages: int | None = None
13614
- total_items: int | None = None
13615
- data: list[WebhookResponse] | None = None
13443
+ total_pages: int
13444
+
13445
+ total_items: int
13446
+
13447
+ data: list[WebhookResponse]
13616
13448
 
13617
13449
  def serialize(self, serializer: ShapeSerializer):
13618
13450
  serializer.write_struct(_SCHEMA_LIST_WEBHOOK_OUTPUT, self)
13619
13451
 
13620
13452
  def serialize_members(self, serializer: ShapeSerializer):
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)
13453
+ serializer.write_integer(_SCHEMA_LIST_WEBHOOK_OUTPUT.members["total_pages"], self.total_pages)
13454
+ serializer.write_integer(_SCHEMA_LIST_WEBHOOK_OUTPUT.members["total_items"], self.total_items)
13455
+ _serialize_webhook_list(serializer, _SCHEMA_LIST_WEBHOOK_OUTPUT.members["data"], self.data)
13629
13456
 
13630
13457
  @classmethod
13631
13458
  def deserialize(cls, deserializer: ShapeDeserializer) -> Self:
@@ -13746,13 +13573,14 @@ class WorkspaceResponse:
13746
13573
 
13747
13574
  strict_mode: bool
13748
13575
 
13576
+ metrics: Document
13577
+
13749
13578
  allow_experiment_self_approval: bool
13750
13579
 
13751
13580
  auto_populate_control: bool
13752
13581
 
13753
13582
  config_version: str | None = None
13754
13583
  mandatory_dimensions: list[str] | None = None
13755
- metrics: Document | None = None
13756
13584
 
13757
13585
  def serialize(self, serializer: ShapeSerializer):
13758
13586
  serializer.write_struct(_SCHEMA_WORKSPACE_RESPONSE, self)
@@ -13775,9 +13603,7 @@ class WorkspaceResponse:
13775
13603
  _serialize_list_mandatory_dimensions(serializer, _SCHEMA_WORKSPACE_RESPONSE.members["mandatory_dimensions"], self.mandatory_dimensions)
13776
13604
 
13777
13605
  serializer.write_boolean(_SCHEMA_WORKSPACE_RESPONSE.members["strict_mode"], self.strict_mode)
13778
- if self.metrics is not None:
13779
- serializer.write_document(_SCHEMA_WORKSPACE_RESPONSE.members["metrics"], self.metrics)
13780
-
13606
+ serializer.write_document(_SCHEMA_WORKSPACE_RESPONSE.members["metrics"], self.metrics)
13781
13607
  serializer.write_boolean(_SCHEMA_WORKSPACE_RESPONSE.members["allow_experiment_self_approval"], self.allow_experiment_self_approval)
13782
13608
  serializer.write_boolean(_SCHEMA_WORKSPACE_RESPONSE.members["auto_populate_control"], self.auto_populate_control)
13783
13609
 
@@ -13865,22 +13691,19 @@ def _deserialize_workspace_list(deserializer: ShapeDeserializer, schema: Schema)
13865
13691
  @dataclass(kw_only=True)
13866
13692
  class ListWorkspaceOutput:
13867
13693
 
13868
- total_pages: int | None = None
13869
- total_items: int | None = None
13870
- data: list[WorkspaceResponse] | None = None
13694
+ total_pages: int
13695
+
13696
+ total_items: int
13697
+
13698
+ data: list[WorkspaceResponse]
13871
13699
 
13872
13700
  def serialize(self, serializer: ShapeSerializer):
13873
13701
  serializer.write_struct(_SCHEMA_LIST_WORKSPACE_OUTPUT, self)
13874
13702
 
13875
13703
  def serialize_members(self, serializer: ShapeSerializer):
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)
13704
+ serializer.write_integer(_SCHEMA_LIST_WORKSPACE_OUTPUT.members["total_pages"], self.total_pages)
13705
+ serializer.write_integer(_SCHEMA_LIST_WORKSPACE_OUTPUT.members["total_items"], self.total_items)
13706
+ _serialize_workspace_list(serializer, _SCHEMA_LIST_WORKSPACE_OUTPUT.members["data"], self.data)
13884
13707
 
13885
13708
  @classmethod
13886
13709
  def deserialize(cls, deserializer: ShapeDeserializer) -> Self:
@@ -13980,13 +13803,14 @@ class MigrateWorkspaceSchemaOutput:
13980
13803
 
13981
13804
  strict_mode: bool
13982
13805
 
13806
+ metrics: Document
13807
+
13983
13808
  allow_experiment_self_approval: bool
13984
13809
 
13985
13810
  auto_populate_control: bool
13986
13811
 
13987
13812
  config_version: str | None = None
13988
13813
  mandatory_dimensions: list[str] | None = None
13989
- metrics: Document | None = None
13990
13814
 
13991
13815
  def serialize(self, serializer: ShapeSerializer):
13992
13816
  serializer.write_struct(_SCHEMA_MIGRATE_WORKSPACE_SCHEMA_OUTPUT, self)
@@ -14009,9 +13833,7 @@ class MigrateWorkspaceSchemaOutput:
14009
13833
  _serialize_list_mandatory_dimensions(serializer, _SCHEMA_MIGRATE_WORKSPACE_SCHEMA_OUTPUT.members["mandatory_dimensions"], self.mandatory_dimensions)
14010
13834
 
14011
13835
  serializer.write_boolean(_SCHEMA_MIGRATE_WORKSPACE_SCHEMA_OUTPUT.members["strict_mode"], self.strict_mode)
14012
- if self.metrics is not None:
14013
- serializer.write_document(_SCHEMA_MIGRATE_WORKSPACE_SCHEMA_OUTPUT.members["metrics"], self.metrics)
14014
-
13836
+ serializer.write_document(_SCHEMA_MIGRATE_WORKSPACE_SCHEMA_OUTPUT.members["metrics"], self.metrics)
14015
13837
  serializer.write_boolean(_SCHEMA_MIGRATE_WORKSPACE_SCHEMA_OUTPUT.members["allow_experiment_self_approval"], self.allow_experiment_self_approval)
14016
13838
  serializer.write_boolean(_SCHEMA_MIGRATE_WORKSPACE_SCHEMA_OUTPUT.members["auto_populate_control"], self.auto_populate_control)
14017
13839
 
@@ -14678,6 +14500,12 @@ ShapeID("io.superposition#InternalServerError"): InternalServerError,
14678
14500
 
14679
14501
  @dataclass(kw_only=True)
14680
14502
  class UpdateWorkspaceInput:
14503
+ """
14504
+
14505
+ :param config_version:
14506
+ To unset config version, pass "null" string.
14507
+
14508
+ """
14681
14509
 
14682
14510
  org_id: str | None = None
14683
14511
  workspace_name: str | None = None
@@ -14782,13 +14610,14 @@ class UpdateWorkspaceOutput:
14782
14610
 
14783
14611
  strict_mode: bool
14784
14612
 
14613
+ metrics: Document
14614
+
14785
14615
  allow_experiment_self_approval: bool
14786
14616
 
14787
14617
  auto_populate_control: bool
14788
14618
 
14789
14619
  config_version: str | None = None
14790
14620
  mandatory_dimensions: list[str] | None = None
14791
- metrics: Document | None = None
14792
14621
 
14793
14622
  def serialize(self, serializer: ShapeSerializer):
14794
14623
  serializer.write_struct(_SCHEMA_UPDATE_WORKSPACE_OUTPUT, self)
@@ -14811,9 +14640,7 @@ class UpdateWorkspaceOutput:
14811
14640
  _serialize_list_mandatory_dimensions(serializer, _SCHEMA_UPDATE_WORKSPACE_OUTPUT.members["mandatory_dimensions"], self.mandatory_dimensions)
14812
14641
 
14813
14642
  serializer.write_boolean(_SCHEMA_UPDATE_WORKSPACE_OUTPUT.members["strict_mode"], self.strict_mode)
14814
- if self.metrics is not None:
14815
- serializer.write_document(_SCHEMA_UPDATE_WORKSPACE_OUTPUT.members["metrics"], self.metrics)
14816
-
14643
+ serializer.write_document(_SCHEMA_UPDATE_WORKSPACE_OUTPUT.members["metrics"], self.metrics)
14817
14644
  serializer.write_boolean(_SCHEMA_UPDATE_WORKSPACE_OUTPUT.members["allow_experiment_self_approval"], self.allow_experiment_self_approval)
14818
14645
  serializer.write_boolean(_SCHEMA_UPDATE_WORKSPACE_OUTPUT.members["auto_populate_control"], self.auto_populate_control)
14819
14646