windmill-api 1.481.0__py3-none-any.whl → 1.483.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of windmill-api might be problematic. Click here for more details.

Files changed (131) hide show
  1. windmill_api/api/agent_workers/__init__.py +0 -0
  2. windmill_api/api/agent_workers/create_agent_token.py +149 -0
  3. windmill_api/api/app/sign_s3_objects.py +175 -0
  4. windmill_api/api/capture/set_capture_config.py +70 -7
  5. windmill_api/api/concurrency_groups/list_extended_jobs.py +15 -0
  6. windmill_api/api/gcp_trigger/__init__.py +0 -0
  7. windmill_api/api/gcp_trigger/create_gcp_trigger.py +105 -0
  8. windmill_api/api/gcp_trigger/delete_gcp_subscription.py +113 -0
  9. windmill_api/api/gcp_trigger/delete_gcp_trigger.py +101 -0
  10. windmill_api/api/gcp_trigger/exists_gcp_trigger.py +160 -0
  11. windmill_api/api/gcp_trigger/get_gcp_trigger.py +166 -0
  12. windmill_api/api/gcp_trigger/list_all_t_google_topic_subscriptions.py +179 -0
  13. windmill_api/api/gcp_trigger/list_gcp_triggers.py +237 -0
  14. windmill_api/api/gcp_trigger/list_google_topics.py +161 -0
  15. windmill_api/api/gcp_trigger/set_gcp_trigger_enabled.py +113 -0
  16. windmill_api/api/gcp_trigger/test_gcp_connection.py +105 -0
  17. windmill_api/api/gcp_trigger/update_gcp_trigger.py +113 -0
  18. windmill_api/api/job/batch_re_run_jobs.py +105 -0
  19. windmill_api/api/job/list_completed_jobs.py +15 -0
  20. windmill_api/api/job/list_filtered_jobs_uuids.py +633 -0
  21. windmill_api/api/job/{list_filtered_uuids.py → list_filtered_queue_uuids.py} +19 -4
  22. windmill_api/api/job/list_jobs.py +15 -0
  23. windmill_api/api/job/list_queue.py +15 -0
  24. windmill_api/api/job/list_selected_job_groups.py +104 -0
  25. windmill_api/models/add_granular_acls_kind.py +1 -0
  26. windmill_api/models/ai_config_code_completion_model_provider.py +1 -0
  27. windmill_api/models/ai_config_default_model_provider.py +1 -0
  28. windmill_api/models/ai_provider.py +1 -0
  29. windmill_api/models/ai_provider_model_provider.py +1 -0
  30. windmill_api/models/aws_auth_resource_type.py +9 -0
  31. windmill_api/models/batch_re_run_jobs_json_body.py +84 -0
  32. windmill_api/models/batch_re_run_jobs_json_body_flow_options_by_path.py +66 -0
  33. windmill_api/models/batch_re_run_jobs_json_body_flow_options_by_path_additional_property.py +86 -0
  34. windmill_api/models/batch_re_run_jobs_json_body_flow_options_by_path_additional_property_input_transforms.py +123 -0
  35. windmill_api/models/batch_re_run_jobs_json_body_flow_options_by_path_additional_property_input_transforms_additional_property_type_0.py +78 -0
  36. windmill_api/models/batch_re_run_jobs_json_body_flow_options_by_path_additional_property_input_transforms_additional_property_type_0_type.py +8 -0
  37. windmill_api/models/batch_re_run_jobs_json_body_flow_options_by_path_additional_property_input_transforms_additional_property_type_1.py +75 -0
  38. windmill_api/models/batch_re_run_jobs_json_body_flow_options_by_path_additional_property_input_transforms_additional_property_type_1_type.py +8 -0
  39. windmill_api/models/batch_re_run_jobs_json_body_script_options_by_path.py +66 -0
  40. windmill_api/models/batch_re_run_jobs_json_body_script_options_by_path_additional_property.py +86 -0
  41. windmill_api/models/batch_re_run_jobs_json_body_script_options_by_path_additional_property_input_transforms.py +123 -0
  42. windmill_api/models/batch_re_run_jobs_json_body_script_options_by_path_additional_property_input_transforms_additional_property_type_0.py +78 -0
  43. windmill_api/models/batch_re_run_jobs_json_body_script_options_by_path_additional_property_input_transforms_additional_property_type_0_type.py +8 -0
  44. windmill_api/models/batch_re_run_jobs_json_body_script_options_by_path_additional_property_input_transforms_additional_property_type_1.py +75 -0
  45. windmill_api/models/batch_re_run_jobs_json_body_script_options_by_path_additional_property_input_transforms_additional_property_type_1_type.py +8 -0
  46. windmill_api/models/capture_config_trigger_kind.py +1 -0
  47. windmill_api/models/capture_trigger_kind.py +1 -0
  48. windmill_api/models/create_agent_token_json_body.py +73 -0
  49. windmill_api/models/create_gcp_trigger_json_body.py +115 -0
  50. windmill_api/models/create_gcp_trigger_json_body_subscription_mode.py +69 -0
  51. windmill_api/models/create_gcp_trigger_json_body_subscription_mode_subscription_mode.py +9 -0
  52. windmill_api/models/create_sqs_trigger_json_body.py +9 -0
  53. windmill_api/models/create_sqs_trigger_json_body_aws_auth_resource_type.py +9 -0
  54. windmill_api/models/delete_gcp_subscription.py +58 -0
  55. windmill_api/models/delete_gcp_subscription_json_body.py +58 -0
  56. windmill_api/models/delivery_type.py +9 -0
  57. windmill_api/models/edit_copilot_config_json_body_code_completion_model_provider.py +1 -0
  58. windmill_api/models/edit_copilot_config_json_body_default_model_provider.py +1 -0
  59. windmill_api/models/edit_gcp_trigger.py +114 -0
  60. windmill_api/models/edit_gcp_trigger_subscription_mode.py +66 -0
  61. windmill_api/models/edit_gcp_trigger_subscription_mode_subscription_mode.py +9 -0
  62. windmill_api/models/edit_sqs_trigger.py +9 -0
  63. windmill_api/models/edit_sqs_trigger_aws_auth_resource_type.py +9 -0
  64. windmill_api/models/gcp_create_update_subscription.py +91 -0
  65. windmill_api/models/gcp_create_update_subscription_delivery_config.py +75 -0
  66. windmill_api/models/gcp_create_update_subscription_delivery_type.py +9 -0
  67. windmill_api/models/gcp_existing_subscription.py +65 -0
  68. windmill_api/models/gcp_subscription_mode_config.py +66 -0
  69. windmill_api/models/gcp_subscription_mode_config_subscription_mode.py +9 -0
  70. windmill_api/models/gcp_trigger.py +206 -0
  71. windmill_api/models/gcp_trigger_delivery_config.py +75 -0
  72. windmill_api/models/gcp_trigger_delivery_type.py +9 -0
  73. windmill_api/models/gcp_trigger_extra_perms.py +44 -0
  74. windmill_api/models/get_all_topic_subscription.py +58 -0
  75. windmill_api/models/get_capture_configs_response_200_item_trigger_kind.py +1 -0
  76. windmill_api/models/get_capture_response_200_trigger_kind.py +1 -0
  77. windmill_api/models/get_copilot_info_response_200_code_completion_model_provider.py +1 -0
  78. windmill_api/models/get_copilot_info_response_200_default_model_provider.py +1 -0
  79. windmill_api/models/get_gcp_trigger_response_200.py +206 -0
  80. windmill_api/models/get_gcp_trigger_response_200_delivery_config.py +75 -0
  81. windmill_api/models/get_gcp_trigger_response_200_delivery_type.py +9 -0
  82. windmill_api/models/get_gcp_trigger_response_200_extra_perms.py +44 -0
  83. windmill_api/models/get_granular_acls_kind.py +1 -0
  84. windmill_api/models/get_settings_response_200_ai_config_code_completion_model_provider.py +1 -0
  85. windmill_api/models/get_settings_response_200_ai_config_default_model_provider.py +1 -0
  86. windmill_api/models/get_sqs_trigger_response_200.py +9 -0
  87. windmill_api/models/get_sqs_trigger_response_200_aws_auth_resource_type.py +9 -0
  88. windmill_api/models/get_triggers_count_of_flow_response_200.py +8 -0
  89. windmill_api/models/get_triggers_count_of_script_response_200.py +8 -0
  90. windmill_api/models/get_used_triggers_response_200.py +7 -0
  91. windmill_api/models/list_all_t_google_topic_subscriptions_json_body.py +58 -0
  92. windmill_api/models/list_captures_response_200_item_trigger_kind.py +1 -0
  93. windmill_api/models/list_captures_trigger_kind.py +1 -0
  94. windmill_api/models/list_gcp_triggers_response_200_item.py +210 -0
  95. windmill_api/models/list_gcp_triggers_response_200_item_delivery_config.py +75 -0
  96. windmill_api/models/list_gcp_triggers_response_200_item_delivery_type.py +9 -0
  97. windmill_api/models/list_gcp_triggers_response_200_item_extra_perms.py +44 -0
  98. windmill_api/models/list_sqs_triggers_response_200_item.py +11 -0
  99. windmill_api/models/list_sqs_triggers_response_200_item_aws_auth_resource_type.py +9 -0
  100. windmill_api/models/new_gcp_trigger.py +114 -0
  101. windmill_api/models/new_gcp_trigger_subscription_mode.py +66 -0
  102. windmill_api/models/new_gcp_trigger_subscription_mode_subscription_mode.py +9 -0
  103. windmill_api/models/new_sqs_trigger.py +9 -0
  104. windmill_api/models/new_sqs_trigger_aws_auth_resource_type.py +9 -0
  105. windmill_api/models/ping_capture_config_trigger_kind.py +1 -0
  106. windmill_api/models/preview.py +8 -0
  107. windmill_api/models/push_config.py +75 -0
  108. windmill_api/models/remove_granular_acls_kind.py +1 -0
  109. windmill_api/models/run_script_preview_json_body.py +8 -0
  110. windmill_api/models/s3_object.py +84 -0
  111. windmill_api/models/set_capture_config_json_body_trigger_kind.py +1 -0
  112. windmill_api/models/set_capture_config_response_200.py +44 -0
  113. windmill_api/models/set_gcp_trigger_enabled_json_body.py +58 -0
  114. windmill_api/models/sign_s3_objects_json_body.py +73 -0
  115. windmill_api/models/sign_s3_objects_json_body_s3_objects_item.py +84 -0
  116. windmill_api/models/sign_s3_objects_response_200_item.py +84 -0
  117. windmill_api/models/sqs_trigger.py +9 -0
  118. windmill_api/models/sqs_trigger_aws_auth_resource_type.py +9 -0
  119. windmill_api/models/subscription_mode.py +9 -0
  120. windmill_api/models/test_gcp_connection_json_body.py +64 -0
  121. windmill_api/models/test_gcp_connection_json_body_connection.py +44 -0
  122. windmill_api/models/triggers_count.py +8 -0
  123. windmill_api/models/update_gcp_trigger_json_body.py +115 -0
  124. windmill_api/models/update_gcp_trigger_json_body_subscription_mode.py +69 -0
  125. windmill_api/models/update_gcp_trigger_json_body_subscription_mode_subscription_mode.py +9 -0
  126. windmill_api/models/update_sqs_trigger_json_body.py +9 -0
  127. windmill_api/models/update_sqs_trigger_json_body_aws_auth_resource_type.py +9 -0
  128. {windmill_api-1.481.0.dist-info → windmill_api-1.483.0.dist-info}/METADATA +1 -1
  129. {windmill_api-1.481.0.dist-info → windmill_api-1.483.0.dist-info}/RECORD +131 -44
  130. {windmill_api-1.481.0.dist-info → windmill_api-1.483.0.dist-info}/LICENSE +0 -0
  131. {windmill_api-1.481.0.dist-info → windmill_api-1.483.0.dist-info}/WHEEL +0 -0
@@ -0,0 +1,114 @@
1
+ from typing import TYPE_CHECKING, Any, Dict, List, Type, TypeVar, Union
2
+
3
+ from attrs import define as _attrs_define
4
+ from attrs import field as _attrs_field
5
+
6
+ from ..types import UNSET, Unset
7
+
8
+ if TYPE_CHECKING:
9
+ from ..models.edit_gcp_trigger_subscription_mode import EditGcpTriggerSubscriptionMode
10
+
11
+
12
+ T = TypeVar("T", bound="EditGcpTrigger")
13
+
14
+
15
+ @_attrs_define
16
+ class EditGcpTrigger:
17
+ """
18
+ Attributes:
19
+ topic_id (str):
20
+ subscription_mode (EditGcpTriggerSubscriptionMode): "This is a union type representing the subscription mode.
21
+ - 'existing': Represents an existing GCP subscription, and should be accompanied by an
22
+ 'ExistingGcpSubscription' object.
23
+ - 'create_update': Represents a new or updated GCP subscription, and should be accompanied by a
24
+ 'CreateUpdateConfig' object."
25
+ path (str):
26
+ script_path (str):
27
+ is_flow (bool):
28
+ enabled (bool):
29
+ gcp_resource_path (Union[Unset, str]):
30
+ """
31
+
32
+ topic_id: str
33
+ subscription_mode: "EditGcpTriggerSubscriptionMode"
34
+ path: str
35
+ script_path: str
36
+ is_flow: bool
37
+ enabled: bool
38
+ gcp_resource_path: Union[Unset, str] = UNSET
39
+ additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
40
+
41
+ def to_dict(self) -> Dict[str, Any]:
42
+ topic_id = self.topic_id
43
+ subscription_mode = self.subscription_mode.to_dict()
44
+
45
+ path = self.path
46
+ script_path = self.script_path
47
+ is_flow = self.is_flow
48
+ enabled = self.enabled
49
+ gcp_resource_path = self.gcp_resource_path
50
+
51
+ field_dict: Dict[str, Any] = {}
52
+ field_dict.update(self.additional_properties)
53
+ field_dict.update(
54
+ {
55
+ "topic_id": topic_id,
56
+ "subscription_mode": subscription_mode,
57
+ "path": path,
58
+ "script_path": script_path,
59
+ "is_flow": is_flow,
60
+ "enabled": enabled,
61
+ }
62
+ )
63
+ if gcp_resource_path is not UNSET:
64
+ field_dict["gcp_resource_path"] = gcp_resource_path
65
+
66
+ return field_dict
67
+
68
+ @classmethod
69
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
70
+ from ..models.edit_gcp_trigger_subscription_mode import EditGcpTriggerSubscriptionMode
71
+
72
+ d = src_dict.copy()
73
+ topic_id = d.pop("topic_id")
74
+
75
+ subscription_mode = EditGcpTriggerSubscriptionMode.from_dict(d.pop("subscription_mode"))
76
+
77
+ path = d.pop("path")
78
+
79
+ script_path = d.pop("script_path")
80
+
81
+ is_flow = d.pop("is_flow")
82
+
83
+ enabled = d.pop("enabled")
84
+
85
+ gcp_resource_path = d.pop("gcp_resource_path", UNSET)
86
+
87
+ edit_gcp_trigger = cls(
88
+ topic_id=topic_id,
89
+ subscription_mode=subscription_mode,
90
+ path=path,
91
+ script_path=script_path,
92
+ is_flow=is_flow,
93
+ enabled=enabled,
94
+ gcp_resource_path=gcp_resource_path,
95
+ )
96
+
97
+ edit_gcp_trigger.additional_properties = d
98
+ return edit_gcp_trigger
99
+
100
+ @property
101
+ def additional_keys(self) -> List[str]:
102
+ return list(self.additional_properties.keys())
103
+
104
+ def __getitem__(self, key: str) -> Any:
105
+ return self.additional_properties[key]
106
+
107
+ def __setitem__(self, key: str, value: Any) -> None:
108
+ self.additional_properties[key] = value
109
+
110
+ def __delitem__(self, key: str) -> None:
111
+ del self.additional_properties[key]
112
+
113
+ def __contains__(self, key: str) -> bool:
114
+ return key in self.additional_properties
@@ -0,0 +1,66 @@
1
+ from typing import Any, Dict, List, Type, TypeVar
2
+
3
+ from attrs import define as _attrs_define
4
+ from attrs import field as _attrs_field
5
+
6
+ from ..models.edit_gcp_trigger_subscription_mode_subscription_mode import EditGcpTriggerSubscriptionModeSubscriptionMode
7
+
8
+ T = TypeVar("T", bound="EditGcpTriggerSubscriptionMode")
9
+
10
+
11
+ @_attrs_define
12
+ class EditGcpTriggerSubscriptionMode:
13
+ """ "This is a union type representing the subscription mode.
14
+ - 'existing': Represents an existing GCP subscription, and should be accompanied by an 'ExistingGcpSubscription'
15
+ object.
16
+ - 'create_update': Represents a new or updated GCP subscription, and should be accompanied by a
17
+ 'CreateUpdateConfig' object."
18
+
19
+ Attributes:
20
+ subscription_mode (EditGcpTriggerSubscriptionModeSubscriptionMode): The mode of subscription. 'existing' means
21
+ using an existing GCP subscription, while 'create_update' involves creating or updating a new subscription.
22
+ """
23
+
24
+ subscription_mode: EditGcpTriggerSubscriptionModeSubscriptionMode
25
+ additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
26
+
27
+ def to_dict(self) -> Dict[str, Any]:
28
+ subscription_mode = self.subscription_mode.value
29
+
30
+ field_dict: Dict[str, Any] = {}
31
+ field_dict.update(self.additional_properties)
32
+ field_dict.update(
33
+ {
34
+ "subscription_mode": subscription_mode,
35
+ }
36
+ )
37
+
38
+ return field_dict
39
+
40
+ @classmethod
41
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
42
+ d = src_dict.copy()
43
+ subscription_mode = EditGcpTriggerSubscriptionModeSubscriptionMode(d.pop("subscription_mode"))
44
+
45
+ edit_gcp_trigger_subscription_mode = cls(
46
+ subscription_mode=subscription_mode,
47
+ )
48
+
49
+ edit_gcp_trigger_subscription_mode.additional_properties = d
50
+ return edit_gcp_trigger_subscription_mode
51
+
52
+ @property
53
+ def additional_keys(self) -> List[str]:
54
+ return list(self.additional_properties.keys())
55
+
56
+ def __getitem__(self, key: str) -> Any:
57
+ return self.additional_properties[key]
58
+
59
+ def __setitem__(self, key: str, value: Any) -> None:
60
+ self.additional_properties[key] = value
61
+
62
+ def __delitem__(self, key: str) -> None:
63
+ del self.additional_properties[key]
64
+
65
+ def __contains__(self, key: str) -> bool:
66
+ return key in self.additional_properties
@@ -0,0 +1,9 @@
1
+ from enum import Enum
2
+
3
+
4
+ class EditGcpTriggerSubscriptionModeSubscriptionMode(str, Enum):
5
+ CREATE_UPDATE = "create_update"
6
+ EXISTING = "existing"
7
+
8
+ def __str__(self) -> str:
9
+ return str(self.value)
@@ -3,6 +3,7 @@ from typing import Any, Dict, List, Type, TypeVar, Union, cast
3
3
  from attrs import define as _attrs_define
4
4
  from attrs import field as _attrs_field
5
5
 
6
+ from ..models.edit_sqs_trigger_aws_auth_resource_type import EditSqsTriggerAwsAuthResourceType
6
7
  from ..types import UNSET, Unset
7
8
 
8
9
  T = TypeVar("T", bound="EditSqsTrigger")
@@ -13,6 +14,7 @@ class EditSqsTrigger:
13
14
  """
14
15
  Attributes:
15
16
  queue_url (str):
17
+ aws_auth_resource_type (EditSqsTriggerAwsAuthResourceType):
16
18
  aws_resource_path (str):
17
19
  path (str):
18
20
  script_path (str):
@@ -22,6 +24,7 @@ class EditSqsTrigger:
22
24
  """
23
25
 
24
26
  queue_url: str
27
+ aws_auth_resource_type: EditSqsTriggerAwsAuthResourceType
25
28
  aws_resource_path: str
26
29
  path: str
27
30
  script_path: str
@@ -32,6 +35,8 @@ class EditSqsTrigger:
32
35
 
33
36
  def to_dict(self) -> Dict[str, Any]:
34
37
  queue_url = self.queue_url
38
+ aws_auth_resource_type = self.aws_auth_resource_type.value
39
+
35
40
  aws_resource_path = self.aws_resource_path
36
41
  path = self.path
37
42
  script_path = self.script_path
@@ -46,6 +51,7 @@ class EditSqsTrigger:
46
51
  field_dict.update(
47
52
  {
48
53
  "queue_url": queue_url,
54
+ "aws_auth_resource_type": aws_auth_resource_type,
49
55
  "aws_resource_path": aws_resource_path,
50
56
  "path": path,
51
57
  "script_path": script_path,
@@ -63,6 +69,8 @@ class EditSqsTrigger:
63
69
  d = src_dict.copy()
64
70
  queue_url = d.pop("queue_url")
65
71
 
72
+ aws_auth_resource_type = EditSqsTriggerAwsAuthResourceType(d.pop("aws_auth_resource_type"))
73
+
66
74
  aws_resource_path = d.pop("aws_resource_path")
67
75
 
68
76
  path = d.pop("path")
@@ -77,6 +85,7 @@ class EditSqsTrigger:
77
85
 
78
86
  edit_sqs_trigger = cls(
79
87
  queue_url=queue_url,
88
+ aws_auth_resource_type=aws_auth_resource_type,
80
89
  aws_resource_path=aws_resource_path,
81
90
  path=path,
82
91
  script_path=script_path,
@@ -0,0 +1,9 @@
1
+ from enum import Enum
2
+
3
+
4
+ class EditSqsTriggerAwsAuthResourceType(str, Enum):
5
+ CREDENTIALS = "credentials"
6
+ OIDC = "oidc"
7
+
8
+ def __str__(self) -> str:
9
+ return str(self.value)
@@ -0,0 +1,91 @@
1
+ from typing import TYPE_CHECKING, Any, Dict, List, Type, TypeVar, Union
2
+
3
+ from attrs import define as _attrs_define
4
+ from attrs import field as _attrs_field
5
+
6
+ from ..models.gcp_create_update_subscription_delivery_type import GcpCreateUpdateSubscriptionDeliveryType
7
+ from ..types import UNSET, Unset
8
+
9
+ if TYPE_CHECKING:
10
+ from ..models.gcp_create_update_subscription_delivery_config import GcpCreateUpdateSubscriptionDeliveryConfig
11
+
12
+
13
+ T = TypeVar("T", bound="GcpCreateUpdateSubscription")
14
+
15
+
16
+ @_attrs_define
17
+ class GcpCreateUpdateSubscription:
18
+ """
19
+ Attributes:
20
+ delivery_type (GcpCreateUpdateSubscriptionDeliveryType):
21
+ subscription_id (Union[Unset, str]):
22
+ delivery_config (Union[Unset, GcpCreateUpdateSubscriptionDeliveryConfig]):
23
+ """
24
+
25
+ delivery_type: GcpCreateUpdateSubscriptionDeliveryType
26
+ subscription_id: Union[Unset, str] = UNSET
27
+ delivery_config: Union[Unset, "GcpCreateUpdateSubscriptionDeliveryConfig"] = UNSET
28
+ additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
29
+
30
+ def to_dict(self) -> Dict[str, Any]:
31
+ delivery_type = self.delivery_type.value
32
+
33
+ subscription_id = self.subscription_id
34
+ delivery_config: Union[Unset, Dict[str, Any]] = UNSET
35
+ if not isinstance(self.delivery_config, Unset):
36
+ delivery_config = self.delivery_config.to_dict()
37
+
38
+ field_dict: Dict[str, Any] = {}
39
+ field_dict.update(self.additional_properties)
40
+ field_dict.update(
41
+ {
42
+ "delivery_type": delivery_type,
43
+ }
44
+ )
45
+ if subscription_id is not UNSET:
46
+ field_dict["subscription_id"] = subscription_id
47
+ if delivery_config is not UNSET:
48
+ field_dict["delivery_config"] = delivery_config
49
+
50
+ return field_dict
51
+
52
+ @classmethod
53
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
54
+ from ..models.gcp_create_update_subscription_delivery_config import GcpCreateUpdateSubscriptionDeliveryConfig
55
+
56
+ d = src_dict.copy()
57
+ delivery_type = GcpCreateUpdateSubscriptionDeliveryType(d.pop("delivery_type"))
58
+
59
+ subscription_id = d.pop("subscription_id", UNSET)
60
+
61
+ _delivery_config = d.pop("delivery_config", UNSET)
62
+ delivery_config: Union[Unset, GcpCreateUpdateSubscriptionDeliveryConfig]
63
+ if isinstance(_delivery_config, Unset):
64
+ delivery_config = UNSET
65
+ else:
66
+ delivery_config = GcpCreateUpdateSubscriptionDeliveryConfig.from_dict(_delivery_config)
67
+
68
+ gcp_create_update_subscription = cls(
69
+ delivery_type=delivery_type,
70
+ subscription_id=subscription_id,
71
+ delivery_config=delivery_config,
72
+ )
73
+
74
+ gcp_create_update_subscription.additional_properties = d
75
+ return gcp_create_update_subscription
76
+
77
+ @property
78
+ def additional_keys(self) -> List[str]:
79
+ return list(self.additional_properties.keys())
80
+
81
+ def __getitem__(self, key: str) -> Any:
82
+ return self.additional_properties[key]
83
+
84
+ def __setitem__(self, key: str, value: Any) -> None:
85
+ self.additional_properties[key] = value
86
+
87
+ def __delitem__(self, key: str) -> None:
88
+ del self.additional_properties[key]
89
+
90
+ def __contains__(self, key: str) -> bool:
91
+ return key in self.additional_properties
@@ -0,0 +1,75 @@
1
+ from typing import Any, Dict, List, Type, TypeVar, Union
2
+
3
+ from attrs import define as _attrs_define
4
+ from attrs import field as _attrs_field
5
+
6
+ from ..types import UNSET, Unset
7
+
8
+ T = TypeVar("T", bound="GcpCreateUpdateSubscriptionDeliveryConfig")
9
+
10
+
11
+ @_attrs_define
12
+ class GcpCreateUpdateSubscriptionDeliveryConfig:
13
+ """
14
+ Attributes:
15
+ authenticate (bool):
16
+ base_endpoint (str):
17
+ audience (Union[Unset, str]):
18
+ """
19
+
20
+ authenticate: bool
21
+ base_endpoint: str
22
+ audience: Union[Unset, str] = UNSET
23
+ additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
24
+
25
+ def to_dict(self) -> Dict[str, Any]:
26
+ authenticate = self.authenticate
27
+ base_endpoint = self.base_endpoint
28
+ audience = self.audience
29
+
30
+ field_dict: Dict[str, Any] = {}
31
+ field_dict.update(self.additional_properties)
32
+ field_dict.update(
33
+ {
34
+ "authenticate": authenticate,
35
+ "base_endpoint": base_endpoint,
36
+ }
37
+ )
38
+ if audience is not UNSET:
39
+ field_dict["audience"] = audience
40
+
41
+ return field_dict
42
+
43
+ @classmethod
44
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
45
+ d = src_dict.copy()
46
+ authenticate = d.pop("authenticate")
47
+
48
+ base_endpoint = d.pop("base_endpoint")
49
+
50
+ audience = d.pop("audience", UNSET)
51
+
52
+ gcp_create_update_subscription_delivery_config = cls(
53
+ authenticate=authenticate,
54
+ base_endpoint=base_endpoint,
55
+ audience=audience,
56
+ )
57
+
58
+ gcp_create_update_subscription_delivery_config.additional_properties = d
59
+ return gcp_create_update_subscription_delivery_config
60
+
61
+ @property
62
+ def additional_keys(self) -> List[str]:
63
+ return list(self.additional_properties.keys())
64
+
65
+ def __getitem__(self, key: str) -> Any:
66
+ return self.additional_properties[key]
67
+
68
+ def __setitem__(self, key: str, value: Any) -> None:
69
+ self.additional_properties[key] = value
70
+
71
+ def __delitem__(self, key: str) -> None:
72
+ del self.additional_properties[key]
73
+
74
+ def __contains__(self, key: str) -> bool:
75
+ return key in self.additional_properties
@@ -0,0 +1,9 @@
1
+ from enum import Enum
2
+
3
+
4
+ class GcpCreateUpdateSubscriptionDeliveryType(str, Enum):
5
+ PULL = "pull"
6
+ PUSH = "push"
7
+
8
+ def __str__(self) -> str:
9
+ return str(self.value)
@@ -0,0 +1,65 @@
1
+ from typing import Any, Dict, List, Type, TypeVar
2
+
3
+ from attrs import define as _attrs_define
4
+ from attrs import field as _attrs_field
5
+
6
+ T = TypeVar("T", bound="GcpExistingSubscription")
7
+
8
+
9
+ @_attrs_define
10
+ class GcpExistingSubscription:
11
+ """
12
+ Attributes:
13
+ subscription_id (str):
14
+ base_endpoint (str):
15
+ """
16
+
17
+ subscription_id: str
18
+ base_endpoint: str
19
+ additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
20
+
21
+ def to_dict(self) -> Dict[str, Any]:
22
+ subscription_id = self.subscription_id
23
+ base_endpoint = self.base_endpoint
24
+
25
+ field_dict: Dict[str, Any] = {}
26
+ field_dict.update(self.additional_properties)
27
+ field_dict.update(
28
+ {
29
+ "subscription_id": subscription_id,
30
+ "base_endpoint": base_endpoint,
31
+ }
32
+ )
33
+
34
+ return field_dict
35
+
36
+ @classmethod
37
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
38
+ d = src_dict.copy()
39
+ subscription_id = d.pop("subscription_id")
40
+
41
+ base_endpoint = d.pop("base_endpoint")
42
+
43
+ gcp_existing_subscription = cls(
44
+ subscription_id=subscription_id,
45
+ base_endpoint=base_endpoint,
46
+ )
47
+
48
+ gcp_existing_subscription.additional_properties = d
49
+ return gcp_existing_subscription
50
+
51
+ @property
52
+ def additional_keys(self) -> List[str]:
53
+ return list(self.additional_properties.keys())
54
+
55
+ def __getitem__(self, key: str) -> Any:
56
+ return self.additional_properties[key]
57
+
58
+ def __setitem__(self, key: str, value: Any) -> None:
59
+ self.additional_properties[key] = value
60
+
61
+ def __delitem__(self, key: str) -> None:
62
+ del self.additional_properties[key]
63
+
64
+ def __contains__(self, key: str) -> bool:
65
+ return key in self.additional_properties
@@ -0,0 +1,66 @@
1
+ from typing import Any, Dict, List, Type, TypeVar
2
+
3
+ from attrs import define as _attrs_define
4
+ from attrs import field as _attrs_field
5
+
6
+ from ..models.gcp_subscription_mode_config_subscription_mode import GcpSubscriptionModeConfigSubscriptionMode
7
+
8
+ T = TypeVar("T", bound="GcpSubscriptionModeConfig")
9
+
10
+
11
+ @_attrs_define
12
+ class GcpSubscriptionModeConfig:
13
+ """ "This is a union type representing the subscription mode.
14
+ - 'existing': Represents an existing GCP subscription, and should be accompanied by an 'ExistingGcpSubscription'
15
+ object.
16
+ - 'create_update': Represents a new or updated GCP subscription, and should be accompanied by a
17
+ 'CreateUpdateConfig' object."
18
+
19
+ Attributes:
20
+ subscription_mode (GcpSubscriptionModeConfigSubscriptionMode): The mode of subscription. 'existing' means using
21
+ an existing GCP subscription, while 'create_update' involves creating or updating a new subscription.
22
+ """
23
+
24
+ subscription_mode: GcpSubscriptionModeConfigSubscriptionMode
25
+ additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
26
+
27
+ def to_dict(self) -> Dict[str, Any]:
28
+ subscription_mode = self.subscription_mode.value
29
+
30
+ field_dict: Dict[str, Any] = {}
31
+ field_dict.update(self.additional_properties)
32
+ field_dict.update(
33
+ {
34
+ "subscription_mode": subscription_mode,
35
+ }
36
+ )
37
+
38
+ return field_dict
39
+
40
+ @classmethod
41
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
42
+ d = src_dict.copy()
43
+ subscription_mode = GcpSubscriptionModeConfigSubscriptionMode(d.pop("subscription_mode"))
44
+
45
+ gcp_subscription_mode_config = cls(
46
+ subscription_mode=subscription_mode,
47
+ )
48
+
49
+ gcp_subscription_mode_config.additional_properties = d
50
+ return gcp_subscription_mode_config
51
+
52
+ @property
53
+ def additional_keys(self) -> List[str]:
54
+ return list(self.additional_properties.keys())
55
+
56
+ def __getitem__(self, key: str) -> Any:
57
+ return self.additional_properties[key]
58
+
59
+ def __setitem__(self, key: str, value: Any) -> None:
60
+ self.additional_properties[key] = value
61
+
62
+ def __delitem__(self, key: str) -> None:
63
+ del self.additional_properties[key]
64
+
65
+ def __contains__(self, key: str) -> bool:
66
+ return key in self.additional_properties
@@ -0,0 +1,9 @@
1
+ from enum import Enum
2
+
3
+
4
+ class GcpSubscriptionModeConfigSubscriptionMode(str, Enum):
5
+ CREATE_UPDATE = "create_update"
6
+ EXISTING = "existing"
7
+
8
+ def __str__(self) -> str:
9
+ return str(self.value)