chalkpy 2.90.1__py3-none-any.whl → 2.95.3__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (202) hide show
  1. chalk/__init__.py +2 -1
  2. chalk/_gen/chalk/arrow/v1/arrow_pb2.py +7 -5
  3. chalk/_gen/chalk/arrow/v1/arrow_pb2.pyi +6 -0
  4. chalk/_gen/chalk/artifacts/v1/chart_pb2.py +16 -16
  5. chalk/_gen/chalk/artifacts/v1/chart_pb2.pyi +4 -0
  6. chalk/_gen/chalk/artifacts/v1/cron_query_pb2.py +8 -7
  7. chalk/_gen/chalk/artifacts/v1/cron_query_pb2.pyi +5 -0
  8. chalk/_gen/chalk/common/v1/offline_query_pb2.py +17 -15
  9. chalk/_gen/chalk/common/v1/offline_query_pb2.pyi +25 -0
  10. chalk/_gen/chalk/common/v1/script_task_pb2.py +3 -3
  11. chalk/_gen/chalk/common/v1/script_task_pb2.pyi +2 -0
  12. chalk/_gen/chalk/dataframe/__init__.py +0 -0
  13. chalk/_gen/chalk/dataframe/v1/__init__.py +0 -0
  14. chalk/_gen/chalk/dataframe/v1/dataframe_pb2.py +48 -0
  15. chalk/_gen/chalk/dataframe/v1/dataframe_pb2.pyi +123 -0
  16. chalk/_gen/chalk/dataframe/v1/dataframe_pb2_grpc.py +4 -0
  17. chalk/_gen/chalk/dataframe/v1/dataframe_pb2_grpc.pyi +4 -0
  18. chalk/_gen/chalk/graph/v1/graph_pb2.py +150 -149
  19. chalk/_gen/chalk/graph/v1/graph_pb2.pyi +25 -0
  20. chalk/_gen/chalk/graph/v1/sources_pb2.py +94 -84
  21. chalk/_gen/chalk/graph/v1/sources_pb2.pyi +56 -0
  22. chalk/_gen/chalk/kubernetes/v1/horizontalpodautoscaler_pb2.py +79 -0
  23. chalk/_gen/chalk/kubernetes/v1/horizontalpodautoscaler_pb2.pyi +377 -0
  24. chalk/_gen/chalk/kubernetes/v1/horizontalpodautoscaler_pb2_grpc.py +4 -0
  25. chalk/_gen/chalk/kubernetes/v1/horizontalpodautoscaler_pb2_grpc.pyi +4 -0
  26. chalk/_gen/chalk/kubernetes/v1/scaledobject_pb2.py +43 -7
  27. chalk/_gen/chalk/kubernetes/v1/scaledobject_pb2.pyi +252 -2
  28. chalk/_gen/chalk/protosql/v1/sql_service_pb2.py +54 -27
  29. chalk/_gen/chalk/protosql/v1/sql_service_pb2.pyi +131 -3
  30. chalk/_gen/chalk/protosql/v1/sql_service_pb2_grpc.py +45 -0
  31. chalk/_gen/chalk/protosql/v1/sql_service_pb2_grpc.pyi +14 -0
  32. chalk/_gen/chalk/python/v1/types_pb2.py +14 -14
  33. chalk/_gen/chalk/python/v1/types_pb2.pyi +8 -0
  34. chalk/_gen/chalk/server/v1/benchmark_pb2.py +76 -0
  35. chalk/_gen/chalk/server/v1/benchmark_pb2.pyi +156 -0
  36. chalk/_gen/chalk/server/v1/benchmark_pb2_grpc.py +258 -0
  37. chalk/_gen/chalk/server/v1/benchmark_pb2_grpc.pyi +84 -0
  38. chalk/_gen/chalk/server/v1/billing_pb2.py +40 -38
  39. chalk/_gen/chalk/server/v1/billing_pb2.pyi +17 -1
  40. chalk/_gen/chalk/server/v1/branches_pb2.py +45 -0
  41. chalk/_gen/chalk/server/v1/branches_pb2.pyi +80 -0
  42. chalk/_gen/chalk/server/v1/branches_pb2_grpc.pyi +36 -0
  43. chalk/_gen/chalk/server/v1/builder_pb2.py +358 -288
  44. chalk/_gen/chalk/server/v1/builder_pb2.pyi +360 -10
  45. chalk/_gen/chalk/server/v1/builder_pb2_grpc.py +225 -0
  46. chalk/_gen/chalk/server/v1/builder_pb2_grpc.pyi +60 -0
  47. chalk/_gen/chalk/server/v1/chart_pb2.py +10 -10
  48. chalk/_gen/chalk/server/v1/chart_pb2.pyi +18 -2
  49. chalk/_gen/chalk/server/v1/clickhouse_pb2.py +42 -0
  50. chalk/_gen/chalk/server/v1/clickhouse_pb2.pyi +17 -0
  51. chalk/_gen/chalk/server/v1/clickhouse_pb2_grpc.py +78 -0
  52. chalk/_gen/chalk/server/v1/clickhouse_pb2_grpc.pyi +38 -0
  53. chalk/_gen/chalk/server/v1/cloud_components_pb2.py +141 -119
  54. chalk/_gen/chalk/server/v1/cloud_components_pb2.pyi +106 -4
  55. chalk/_gen/chalk/server/v1/cloud_components_pb2_grpc.py +45 -0
  56. chalk/_gen/chalk/server/v1/cloud_components_pb2_grpc.pyi +12 -0
  57. chalk/_gen/chalk/server/v1/cloud_credentials_pb2.py +11 -3
  58. chalk/_gen/chalk/server/v1/cloud_credentials_pb2.pyi +20 -0
  59. chalk/_gen/chalk/server/v1/cloud_credentials_pb2_grpc.py +45 -0
  60. chalk/_gen/chalk/server/v1/cloud_credentials_pb2_grpc.pyi +12 -0
  61. chalk/_gen/chalk/server/v1/dataplanejobqueue_pb2.py +52 -38
  62. chalk/_gen/chalk/server/v1/dataplanejobqueue_pb2.pyi +62 -1
  63. chalk/_gen/chalk/server/v1/dataplanejobqueue_pb2_grpc.py +90 -0
  64. chalk/_gen/chalk/server/v1/dataplanejobqueue_pb2_grpc.pyi +24 -0
  65. chalk/_gen/chalk/server/v1/dataplaneworkflows_pb2.py +90 -0
  66. chalk/_gen/chalk/server/v1/dataplaneworkflows_pb2.pyi +264 -0
  67. chalk/_gen/chalk/server/v1/dataplaneworkflows_pb2_grpc.py +170 -0
  68. chalk/_gen/chalk/server/v1/dataplaneworkflows_pb2_grpc.pyi +62 -0
  69. chalk/_gen/chalk/server/v1/deploy_pb2.py +9 -3
  70. chalk/_gen/chalk/server/v1/deploy_pb2.pyi +12 -0
  71. chalk/_gen/chalk/server/v1/deploy_pb2_grpc.py +45 -0
  72. chalk/_gen/chalk/server/v1/deploy_pb2_grpc.pyi +12 -0
  73. chalk/_gen/chalk/server/v1/deployment_pb2.py +6 -6
  74. chalk/_gen/chalk/server/v1/deployment_pb2.pyi +20 -0
  75. chalk/_gen/chalk/server/v1/environment_pb2.py +14 -12
  76. chalk/_gen/chalk/server/v1/environment_pb2.pyi +19 -0
  77. chalk/_gen/chalk/server/v1/eventbus_pb2.py +4 -2
  78. chalk/_gen/chalk/server/v1/files_pb2.py +65 -0
  79. chalk/_gen/chalk/server/v1/files_pb2.pyi +167 -0
  80. chalk/_gen/chalk/server/v1/files_pb2_grpc.py +4 -0
  81. chalk/_gen/chalk/server/v1/files_pb2_grpc.pyi +4 -0
  82. chalk/_gen/chalk/server/v1/graph_pb2.py +38 -26
  83. chalk/_gen/chalk/server/v1/graph_pb2.pyi +58 -0
  84. chalk/_gen/chalk/server/v1/graph_pb2_grpc.py +47 -0
  85. chalk/_gen/chalk/server/v1/graph_pb2_grpc.pyi +18 -0
  86. chalk/_gen/chalk/server/v1/incident_pb2.py +23 -21
  87. chalk/_gen/chalk/server/v1/incident_pb2.pyi +15 -1
  88. chalk/_gen/chalk/server/v1/indexing_job_pb2.py +44 -0
  89. chalk/_gen/chalk/server/v1/indexing_job_pb2.pyi +38 -0
  90. chalk/_gen/chalk/server/v1/indexing_job_pb2_grpc.py +78 -0
  91. chalk/_gen/chalk/server/v1/indexing_job_pb2_grpc.pyi +38 -0
  92. chalk/_gen/chalk/server/v1/integrations_pb2.py +11 -9
  93. chalk/_gen/chalk/server/v1/integrations_pb2.pyi +34 -2
  94. chalk/_gen/chalk/server/v1/kube_pb2.py +29 -19
  95. chalk/_gen/chalk/server/v1/kube_pb2.pyi +28 -0
  96. chalk/_gen/chalk/server/v1/kube_pb2_grpc.py +45 -0
  97. chalk/_gen/chalk/server/v1/kube_pb2_grpc.pyi +12 -0
  98. chalk/_gen/chalk/server/v1/log_pb2.py +21 -3
  99. chalk/_gen/chalk/server/v1/log_pb2.pyi +68 -0
  100. chalk/_gen/chalk/server/v1/log_pb2_grpc.py +90 -0
  101. chalk/_gen/chalk/server/v1/log_pb2_grpc.pyi +24 -0
  102. chalk/_gen/chalk/server/v1/model_registry_pb2.py +10 -10
  103. chalk/_gen/chalk/server/v1/model_registry_pb2.pyi +4 -1
  104. chalk/_gen/chalk/server/v1/plandebug_pb2.py +53 -0
  105. chalk/_gen/chalk/server/v1/plandebug_pb2.pyi +86 -0
  106. chalk/_gen/chalk/server/v1/plandebug_pb2_grpc.py +168 -0
  107. chalk/_gen/chalk/server/v1/plandebug_pb2_grpc.pyi +60 -0
  108. chalk/_gen/chalk/server/v1/queries_pb2.py +66 -66
  109. chalk/_gen/chalk/server/v1/queries_pb2.pyi +32 -2
  110. chalk/_gen/chalk/server/v1/scheduled_query_run_pb2.py +12 -12
  111. chalk/_gen/chalk/server/v1/scheduled_query_run_pb2.pyi +16 -3
  112. chalk/_gen/chalk/server/v1/scheduler_pb2.py +24 -12
  113. chalk/_gen/chalk/server/v1/scheduler_pb2.pyi +61 -1
  114. chalk/_gen/chalk/server/v1/scheduler_pb2_grpc.py +90 -0
  115. chalk/_gen/chalk/server/v1/scheduler_pb2_grpc.pyi +24 -0
  116. chalk/_gen/chalk/server/v1/script_tasks_pb2.py +15 -3
  117. chalk/_gen/chalk/server/v1/script_tasks_pb2.pyi +22 -0
  118. chalk/_gen/chalk/server/v1/script_tasks_pb2_grpc.py +90 -0
  119. chalk/_gen/chalk/server/v1/script_tasks_pb2_grpc.pyi +24 -0
  120. chalk/_gen/chalk/server/v1/sql_interface_pb2.py +75 -0
  121. chalk/_gen/chalk/server/v1/sql_interface_pb2.pyi +142 -0
  122. chalk/_gen/chalk/server/v1/sql_interface_pb2_grpc.py +349 -0
  123. chalk/_gen/chalk/server/v1/sql_interface_pb2_grpc.pyi +114 -0
  124. chalk/_gen/chalk/server/v1/sql_queries_pb2.py +48 -0
  125. chalk/_gen/chalk/server/v1/sql_queries_pb2.pyi +150 -0
  126. chalk/_gen/chalk/server/v1/sql_queries_pb2_grpc.py +123 -0
  127. chalk/_gen/chalk/server/v1/sql_queries_pb2_grpc.pyi +52 -0
  128. chalk/_gen/chalk/server/v1/team_pb2.py +154 -141
  129. chalk/_gen/chalk/server/v1/team_pb2.pyi +30 -2
  130. chalk/_gen/chalk/server/v1/team_pb2_grpc.py +45 -0
  131. chalk/_gen/chalk/server/v1/team_pb2_grpc.pyi +12 -0
  132. chalk/_gen/chalk/server/v1/topic_pb2.py +5 -3
  133. chalk/_gen/chalk/server/v1/topic_pb2.pyi +10 -1
  134. chalk/_gen/chalk/server/v1/trace_pb2.py +44 -40
  135. chalk/_gen/chalk/server/v1/trace_pb2.pyi +20 -0
  136. chalk/_gen/chalk/streaming/v1/debug_service_pb2.py +62 -0
  137. chalk/_gen/chalk/streaming/v1/debug_service_pb2.pyi +75 -0
  138. chalk/_gen/chalk/streaming/v1/debug_service_pb2_grpc.py +221 -0
  139. chalk/_gen/chalk/streaming/v1/debug_service_pb2_grpc.pyi +88 -0
  140. chalk/_gen/chalk/streaming/v1/simple_streaming_service_pb2.py +16 -10
  141. chalk/_gen/chalk/streaming/v1/simple_streaming_service_pb2.pyi +52 -1
  142. chalk/_gen/chalk/streaming/v1/simple_streaming_service_pb2_grpc.py +48 -0
  143. chalk/_gen/chalk/streaming/v1/simple_streaming_service_pb2_grpc.pyi +20 -0
  144. chalk/_gen/chalk/utils/v1/field_change_pb2.py +32 -0
  145. chalk/_gen/chalk/utils/v1/field_change_pb2.pyi +42 -0
  146. chalk/_gen/chalk/utils/v1/field_change_pb2_grpc.py +4 -0
  147. chalk/_gen/chalk/utils/v1/field_change_pb2_grpc.pyi +4 -0
  148. chalk/_lsp/error_builder.py +11 -0
  149. chalk/_version.py +1 -1
  150. chalk/client/client.py +128 -43
  151. chalk/client/client_async.py +149 -0
  152. chalk/client/client_async_impl.py +22 -0
  153. chalk/client/client_grpc.py +539 -104
  154. chalk/client/client_impl.py +449 -122
  155. chalk/client/dataset.py +7 -1
  156. chalk/client/models.py +98 -0
  157. chalk/client/serialization/model_serialization.py +92 -9
  158. chalk/df/LazyFramePlaceholder.py +1154 -0
  159. chalk/features/_class_property.py +7 -0
  160. chalk/features/_embedding/embedding.py +1 -0
  161. chalk/features/_encoding/converter.py +83 -2
  162. chalk/features/feature_field.py +40 -30
  163. chalk/features/feature_set_decorator.py +1 -0
  164. chalk/features/feature_wrapper.py +42 -3
  165. chalk/features/hooks.py +81 -10
  166. chalk/features/inference.py +33 -31
  167. chalk/features/resolver.py +224 -24
  168. chalk/functions/__init__.py +65 -3
  169. chalk/gitignore/gitignore_parser.py +5 -1
  170. chalk/importer.py +142 -68
  171. chalk/ml/__init__.py +2 -0
  172. chalk/ml/model_hooks.py +194 -26
  173. chalk/ml/model_reference.py +56 -8
  174. chalk/ml/model_version.py +24 -15
  175. chalk/ml/utils.py +20 -17
  176. chalk/operators/_utils.py +10 -3
  177. chalk/parsed/_proto/export.py +22 -0
  178. chalk/parsed/duplicate_input_gql.py +3 -0
  179. chalk/parsed/json_conversions.py +20 -14
  180. chalk/parsed/to_proto.py +16 -4
  181. chalk/parsed/user_types_to_json.py +31 -10
  182. chalk/parsed/validation_from_registries.py +182 -0
  183. chalk/queries/named_query.py +16 -6
  184. chalk/queries/scheduled_query.py +9 -1
  185. chalk/serialization/parsed_annotation.py +24 -11
  186. chalk/sql/__init__.py +18 -0
  187. chalk/sql/_internal/integrations/databricks.py +55 -17
  188. chalk/sql/_internal/integrations/mssql.py +127 -62
  189. chalk/sql/_internal/integrations/redshift.py +4 -0
  190. chalk/sql/_internal/sql_file_resolver.py +53 -9
  191. chalk/sql/_internal/sql_source.py +35 -2
  192. chalk/streams/_kafka_source.py +5 -1
  193. chalk/streams/_windows.py +15 -2
  194. chalk/utils/_otel_version.py +13 -0
  195. chalk/utils/async_helpers.py +2 -2
  196. chalk/utils/missing_dependency.py +5 -4
  197. chalk/utils/tracing.py +185 -95
  198. {chalkpy-2.90.1.dist-info → chalkpy-2.95.3.dist-info}/METADATA +4 -6
  199. {chalkpy-2.90.1.dist-info → chalkpy-2.95.3.dist-info}/RECORD +202 -146
  200. {chalkpy-2.90.1.dist-info → chalkpy-2.95.3.dist-info}/WHEEL +0 -0
  201. {chalkpy-2.90.1.dist-info → chalkpy-2.95.3.dist-info}/entry_points.txt +0 -0
  202. {chalkpy-2.90.1.dist-info → chalkpy-2.95.3.dist-info}/top_level.txt +0 -0
@@ -7,7 +7,9 @@ from chalk._gen.chalk.nodepools.v1 import gke_pb2 as _gke_pb2
7
7
  from chalk._gen.chalk.nodepools.v1 import karpenter_pb2 as _karpenter_pb2
8
8
  from chalk._gen.chalk.server.v1 import deployment_pb2 as _deployment_pb2
9
9
  from chalk._gen.chalk.server.v1 import environment_pb2 as _environment_pb2
10
+ from chalk._gen.chalk.server.v1 import graph_pb2 as _graph_pb2_1
10
11
  from chalk._gen.chalk.server.v1 import log_pb2 as _log_pb2
12
+ from chalk._gen.chalk.utils.v1 import field_change_pb2 as _field_change_pb2
11
13
  from google.protobuf import timestamp_pb2 as _timestamp_pb2
12
14
  from google.protobuf.internal import containers as _containers
13
15
  from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper
@@ -106,14 +108,18 @@ class ActivateDeploymentResponse(_message.Message):
106
108
  def __init__(self) -> None: ...
107
109
 
108
110
  class IndexDeploymentRequest(_message.Message):
109
- __slots__ = ("existing_deployment_id",)
111
+ __slots__ = ("existing_deployment_id", "dry_run")
110
112
  EXISTING_DEPLOYMENT_ID_FIELD_NUMBER: _ClassVar[int]
113
+ DRY_RUN_FIELD_NUMBER: _ClassVar[int]
111
114
  existing_deployment_id: str
112
- def __init__(self, existing_deployment_id: _Optional[str] = ...) -> None: ...
115
+ dry_run: bool
116
+ def __init__(self, existing_deployment_id: _Optional[str] = ..., dry_run: bool = ...) -> None: ...
113
117
 
114
118
  class IndexDeploymentResponse(_message.Message):
115
- __slots__ = ()
116
- def __init__(self) -> None: ...
119
+ __slots__ = ("build_id",)
120
+ BUILD_ID_FIELD_NUMBER: _ClassVar[int]
121
+ build_id: str
122
+ def __init__(self, build_id: _Optional[str] = ...) -> None: ...
117
123
 
118
124
  class DeployKubeComponentsRequest(_message.Message):
119
125
  __slots__ = ("existing_deployment_id", "targets")
@@ -128,21 +134,32 @@ class DeployKubeComponentsRequest(_message.Message):
128
134
  ) -> None: ...
129
135
 
130
136
  class DeployKubeComponentsResponse(_message.Message):
131
- __slots__ = ()
132
- def __init__(self) -> None: ...
137
+ __slots__ = ("nonfatal_errors",)
138
+ NONFATAL_ERRORS_FIELD_NUMBER: _ClassVar[int]
139
+ nonfatal_errors: _containers.RepeatedScalarFieldContainer[str]
140
+ def __init__(self, nonfatal_errors: _Optional[_Iterable[str]] = ...) -> None: ...
133
141
 
134
142
  class RebuildDeploymentRequest(_message.Message):
135
- __slots__ = ("existing_deployment_id", "new_image_tag", "base_image_override", "enable_profiling", "build_profile")
143
+ __slots__ = (
144
+ "existing_deployment_id",
145
+ "new_image_tag",
146
+ "base_image_override",
147
+ "enable_profiling",
148
+ "build_profile",
149
+ "force_rebuild_dockerfile",
150
+ )
136
151
  EXISTING_DEPLOYMENT_ID_FIELD_NUMBER: _ClassVar[int]
137
152
  NEW_IMAGE_TAG_FIELD_NUMBER: _ClassVar[int]
138
153
  BASE_IMAGE_OVERRIDE_FIELD_NUMBER: _ClassVar[int]
139
154
  ENABLE_PROFILING_FIELD_NUMBER: _ClassVar[int]
140
155
  BUILD_PROFILE_FIELD_NUMBER: _ClassVar[int]
156
+ FORCE_REBUILD_DOCKERFILE_FIELD_NUMBER: _ClassVar[int]
141
157
  existing_deployment_id: str
142
158
  new_image_tag: str
143
159
  base_image_override: str
144
160
  enable_profiling: bool
145
161
  build_profile: _environment_pb2.DeploymentBuildProfile
162
+ force_rebuild_dockerfile: bool
146
163
  def __init__(
147
164
  self,
148
165
  existing_deployment_id: _Optional[str] = ...,
@@ -150,6 +167,7 @@ class RebuildDeploymentRequest(_message.Message):
150
167
  base_image_override: _Optional[str] = ...,
151
168
  enable_profiling: bool = ...,
152
169
  build_profile: _Optional[_Union[_environment_pb2.DeploymentBuildProfile, str]] = ...,
170
+ force_rebuild_dockerfile: bool = ...,
153
171
  ) -> None: ...
154
172
 
155
173
  class RebuildDeploymentResponse(_message.Message):
@@ -166,19 +184,36 @@ class RedeployDeploymentRequest(_message.Message):
166
184
  "base_image_override",
167
185
  "override_graph",
168
186
  "build_profile",
187
+ "graph_mutations",
188
+ "customer_metadata",
189
+ "display_description",
169
190
  )
191
+ class CustomerMetadataEntry(_message.Message):
192
+ __slots__ = ("key", "value")
193
+ KEY_FIELD_NUMBER: _ClassVar[int]
194
+ VALUE_FIELD_NUMBER: _ClassVar[int]
195
+ key: str
196
+ value: str
197
+ def __init__(self, key: _Optional[str] = ..., value: _Optional[str] = ...) -> None: ...
198
+
170
199
  EXISTING_DEPLOYMENT_ID_FIELD_NUMBER: _ClassVar[int]
171
200
  ENABLE_PROFILING_FIELD_NUMBER: _ClassVar[int]
172
201
  DEPLOYMENT_TAGS_FIELD_NUMBER: _ClassVar[int]
173
202
  BASE_IMAGE_OVERRIDE_FIELD_NUMBER: _ClassVar[int]
174
203
  OVERRIDE_GRAPH_FIELD_NUMBER: _ClassVar[int]
175
204
  BUILD_PROFILE_FIELD_NUMBER: _ClassVar[int]
205
+ GRAPH_MUTATIONS_FIELD_NUMBER: _ClassVar[int]
206
+ CUSTOMER_METADATA_FIELD_NUMBER: _ClassVar[int]
207
+ DISPLAY_DESCRIPTION_FIELD_NUMBER: _ClassVar[int]
176
208
  existing_deployment_id: str
177
209
  enable_profiling: bool
178
210
  deployment_tags: _containers.RepeatedScalarFieldContainer[str]
179
211
  base_image_override: str
180
212
  override_graph: _graph_pb2.Graph
181
213
  build_profile: _environment_pb2.DeploymentBuildProfile
214
+ graph_mutations: _containers.RepeatedCompositeFieldContainer[_graph_pb2_1.GraphMutation]
215
+ customer_metadata: _containers.ScalarMap[str, str]
216
+ display_description: str
182
217
  def __init__(
183
218
  self,
184
219
  existing_deployment_id: _Optional[str] = ...,
@@ -187,6 +222,9 @@ class RedeployDeploymentRequest(_message.Message):
187
222
  base_image_override: _Optional[str] = ...,
188
223
  override_graph: _Optional[_Union[_graph_pb2.Graph, _Mapping]] = ...,
189
224
  build_profile: _Optional[_Union[_environment_pb2.DeploymentBuildProfile, str]] = ...,
225
+ graph_mutations: _Optional[_Iterable[_Union[_graph_pb2_1.GraphMutation, _Mapping]]] = ...,
226
+ customer_metadata: _Optional[_Mapping[str, str]] = ...,
227
+ display_description: _Optional[str] = ...,
190
228
  ) -> None: ...
191
229
 
192
230
  class RedeployDeploymentResponse(_message.Message):
@@ -207,6 +245,7 @@ class UploadSourceRequest(_message.Message):
207
245
  "use_grpc",
208
246
  "enable_profiling",
209
247
  "build_profile",
248
+ "force_rebuild_dockerfile",
210
249
  )
211
250
  DEPLOYMENT_ID_FIELD_NUMBER: _ClassVar[int]
212
251
  ARCHIVE_FIELD_NUMBER: _ClassVar[int]
@@ -216,6 +255,7 @@ class UploadSourceRequest(_message.Message):
216
255
  USE_GRPC_FIELD_NUMBER: _ClassVar[int]
217
256
  ENABLE_PROFILING_FIELD_NUMBER: _ClassVar[int]
218
257
  BUILD_PROFILE_FIELD_NUMBER: _ClassVar[int]
258
+ FORCE_REBUILD_DOCKERFILE_FIELD_NUMBER: _ClassVar[int]
219
259
  deployment_id: str
220
260
  archive: bytes
221
261
  no_promote: bool
@@ -224,6 +264,7 @@ class UploadSourceRequest(_message.Message):
224
264
  use_grpc: bool
225
265
  enable_profiling: bool
226
266
  build_profile: _environment_pb2.DeploymentBuildProfile
267
+ force_rebuild_dockerfile: bool
227
268
  def __init__(
228
269
  self,
229
270
  deployment_id: _Optional[str] = ...,
@@ -234,6 +275,7 @@ class UploadSourceRequest(_message.Message):
234
275
  use_grpc: bool = ...,
235
276
  enable_profiling: bool = ...,
236
277
  build_profile: _Optional[_Union[_environment_pb2.DeploymentBuildProfile, str]] = ...,
278
+ force_rebuild_dockerfile: bool = ...,
237
279
  ) -> None: ...
238
280
 
239
281
  class UploadSourceResponse(_message.Message):
@@ -244,6 +286,105 @@ class UploadSourceResponse(_message.Message):
244
286
  progress_url: str
245
287
  def __init__(self, status: _Optional[str] = ..., progress_url: _Optional[str] = ...) -> None: ...
246
288
 
289
+ class PrepareDeploymentRequest(_message.Message):
290
+ __slots__ = (
291
+ "git_branch",
292
+ "git_commit",
293
+ "git_pr",
294
+ "git_author",
295
+ "git_tag",
296
+ "branch",
297
+ "requirements",
298
+ "customer_deployment_tags",
299
+ "project_settings",
300
+ "customer_metadata",
301
+ "display_description",
302
+ "archive",
303
+ "no_promote",
304
+ "dependency_hash",
305
+ "base_image_override",
306
+ "use_grpc",
307
+ "enable_profiling",
308
+ "build_profile",
309
+ )
310
+ class CustomerMetadataEntry(_message.Message):
311
+ __slots__ = ("key", "value")
312
+ KEY_FIELD_NUMBER: _ClassVar[int]
313
+ VALUE_FIELD_NUMBER: _ClassVar[int]
314
+ key: str
315
+ value: str
316
+ def __init__(self, key: _Optional[str] = ..., value: _Optional[str] = ...) -> None: ...
317
+
318
+ GIT_BRANCH_FIELD_NUMBER: _ClassVar[int]
319
+ GIT_COMMIT_FIELD_NUMBER: _ClassVar[int]
320
+ GIT_PR_FIELD_NUMBER: _ClassVar[int]
321
+ GIT_AUTHOR_FIELD_NUMBER: _ClassVar[int]
322
+ GIT_TAG_FIELD_NUMBER: _ClassVar[int]
323
+ BRANCH_FIELD_NUMBER: _ClassVar[int]
324
+ REQUIREMENTS_FIELD_NUMBER: _ClassVar[int]
325
+ CUSTOMER_DEPLOYMENT_TAGS_FIELD_NUMBER: _ClassVar[int]
326
+ PROJECT_SETTINGS_FIELD_NUMBER: _ClassVar[int]
327
+ CUSTOMER_METADATA_FIELD_NUMBER: _ClassVar[int]
328
+ DISPLAY_DESCRIPTION_FIELD_NUMBER: _ClassVar[int]
329
+ ARCHIVE_FIELD_NUMBER: _ClassVar[int]
330
+ NO_PROMOTE_FIELD_NUMBER: _ClassVar[int]
331
+ DEPENDENCY_HASH_FIELD_NUMBER: _ClassVar[int]
332
+ BASE_IMAGE_OVERRIDE_FIELD_NUMBER: _ClassVar[int]
333
+ USE_GRPC_FIELD_NUMBER: _ClassVar[int]
334
+ ENABLE_PROFILING_FIELD_NUMBER: _ClassVar[int]
335
+ BUILD_PROFILE_FIELD_NUMBER: _ClassVar[int]
336
+ git_branch: str
337
+ git_commit: str
338
+ git_pr: str
339
+ git_author: str
340
+ git_tag: str
341
+ branch: str
342
+ requirements: _containers.RepeatedCompositeFieldContainer[RequirementsFile]
343
+ customer_deployment_tags: _containers.RepeatedScalarFieldContainer[str]
344
+ project_settings: _export_pb2.ProjectSettings
345
+ customer_metadata: _containers.ScalarMap[str, str]
346
+ display_description: str
347
+ archive: bytes
348
+ no_promote: bool
349
+ dependency_hash: str
350
+ base_image_override: str
351
+ use_grpc: bool
352
+ enable_profiling: bool
353
+ build_profile: _environment_pb2.DeploymentBuildProfile
354
+ def __init__(
355
+ self,
356
+ git_branch: _Optional[str] = ...,
357
+ git_commit: _Optional[str] = ...,
358
+ git_pr: _Optional[str] = ...,
359
+ git_author: _Optional[str] = ...,
360
+ git_tag: _Optional[str] = ...,
361
+ branch: _Optional[str] = ...,
362
+ requirements: _Optional[_Iterable[_Union[RequirementsFile, _Mapping]]] = ...,
363
+ customer_deployment_tags: _Optional[_Iterable[str]] = ...,
364
+ project_settings: _Optional[_Union[_export_pb2.ProjectSettings, _Mapping]] = ...,
365
+ customer_metadata: _Optional[_Mapping[str, str]] = ...,
366
+ display_description: _Optional[str] = ...,
367
+ archive: _Optional[bytes] = ...,
368
+ no_promote: bool = ...,
369
+ dependency_hash: _Optional[str] = ...,
370
+ base_image_override: _Optional[str] = ...,
371
+ use_grpc: bool = ...,
372
+ enable_profiling: bool = ...,
373
+ build_profile: _Optional[_Union[_environment_pb2.DeploymentBuildProfile, str]] = ...,
374
+ ) -> None: ...
375
+
376
+ class PrepareDeploymentResponse(_message.Message):
377
+ __slots__ = ("deployment_id", "status", "progress_url")
378
+ DEPLOYMENT_ID_FIELD_NUMBER: _ClassVar[int]
379
+ STATUS_FIELD_NUMBER: _ClassVar[int]
380
+ PROGRESS_URL_FIELD_NUMBER: _ClassVar[int]
381
+ deployment_id: str
382
+ status: str
383
+ progress_url: str
384
+ def __init__(
385
+ self, deployment_id: _Optional[str] = ..., status: _Optional[str] = ..., progress_url: _Optional[str] = ...
386
+ ) -> None: ...
387
+
247
388
  class LintSourceRequest(_message.Message):
248
389
  __slots__ = ("archive", "use_branch_server")
249
390
  ARCHIVE_FIELD_NUMBER: _ClassVar[int]
@@ -331,6 +472,9 @@ class GetDeploymentDependenciesResponse(_message.Message):
331
472
  "desired_engine_base_image",
332
473
  "final_engine_image",
333
474
  "build_profile",
475
+ "source_dependency_hash",
476
+ "dependency_hash",
477
+ "target_tag",
334
478
  )
335
479
  RUNTIME_FIELD_NUMBER: _ClassVar[int]
336
480
  REQUIREMENTS_FILE_FIELD_NUMBER: _ClassVar[int]
@@ -340,6 +484,9 @@ class GetDeploymentDependenciesResponse(_message.Message):
340
484
  DESIRED_ENGINE_BASE_IMAGE_FIELD_NUMBER: _ClassVar[int]
341
485
  FINAL_ENGINE_IMAGE_FIELD_NUMBER: _ClassVar[int]
342
486
  BUILD_PROFILE_FIELD_NUMBER: _ClassVar[int]
487
+ SOURCE_DEPENDENCY_HASH_FIELD_NUMBER: _ClassVar[int]
488
+ DEPENDENCY_HASH_FIELD_NUMBER: _ClassVar[int]
489
+ TARGET_TAG_FIELD_NUMBER: _ClassVar[int]
343
490
  runtime: str
344
491
  requirements_file: str
345
492
  requirements_contents: str
@@ -348,6 +495,9 @@ class GetDeploymentDependenciesResponse(_message.Message):
348
495
  desired_engine_base_image: str
349
496
  final_engine_image: str
350
497
  build_profile: _environment_pb2.DeploymentBuildProfile
498
+ source_dependency_hash: str
499
+ dependency_hash: str
500
+ target_tag: str
351
501
  def __init__(
352
502
  self,
353
503
  runtime: _Optional[str] = ...,
@@ -358,6 +508,9 @@ class GetDeploymentDependenciesResponse(_message.Message):
358
508
  desired_engine_base_image: _Optional[str] = ...,
359
509
  final_engine_image: _Optional[str] = ...,
360
510
  build_profile: _Optional[_Union[_environment_pb2.DeploymentBuildProfile, str]] = ...,
511
+ source_dependency_hash: _Optional[str] = ...,
512
+ dependency_hash: _Optional[str] = ...,
513
+ target_tag: _Optional[str] = ...,
361
514
  ) -> None: ...
362
515
 
363
516
  class GetClusterTimescaleDBRequest(_message.Message):
@@ -564,6 +717,7 @@ class ClusterTimescaleSpecs(_message.Message):
564
717
  "dns_hostname",
565
718
  "bootstrap_cloud_resources",
566
719
  "suspended",
720
+ "ip_allowlist",
567
721
  )
568
722
  class PostgresParametersEntry(_message.Message):
569
723
  __slots__ = ("key", "value")
@@ -607,6 +761,7 @@ class ClusterTimescaleSpecs(_message.Message):
607
761
  DNS_HOSTNAME_FIELD_NUMBER: _ClassVar[int]
608
762
  BOOTSTRAP_CLOUD_RESOURCES_FIELD_NUMBER: _ClassVar[int]
609
763
  SUSPENDED_FIELD_NUMBER: _ClassVar[int]
764
+ IP_ALLOWLIST_FIELD_NUMBER: _ClassVar[int]
610
765
  timescale_image: str
611
766
  database_name: str
612
767
  database_replicas: int
@@ -633,6 +788,7 @@ class ClusterTimescaleSpecs(_message.Message):
633
788
  dns_hostname: str
634
789
  bootstrap_cloud_resources: bool
635
790
  suspended: bool
791
+ ip_allowlist: _containers.RepeatedScalarFieldContainer[str]
636
792
  def __init__(
637
793
  self,
638
794
  timescale_image: _Optional[str] = ...,
@@ -661,6 +817,7 @@ class ClusterTimescaleSpecs(_message.Message):
661
817
  dns_hostname: _Optional[str] = ...,
662
818
  bootstrap_cloud_resources: bool = ...,
663
819
  suspended: bool = ...,
820
+ ip_allowlist: _Optional[_Iterable[str]] = ...,
664
821
  ) -> None: ...
665
822
 
666
823
  class CreateClusterTimescaleDBResponse(_message.Message):
@@ -731,6 +888,7 @@ class EnvoyGatewaySpecs(_message.Message):
731
888
  "service_annotations",
732
889
  "load_balancer_class",
733
890
  "cluster_gateway_id",
891
+ "suspended",
734
892
  )
735
893
  class ServiceAnnotationsEntry(_message.Message):
736
894
  __slots__ = ("key", "value")
@@ -751,6 +909,7 @@ class EnvoyGatewaySpecs(_message.Message):
751
909
  SERVICE_ANNOTATIONS_FIELD_NUMBER: _ClassVar[int]
752
910
  LOAD_BALANCER_CLASS_FIELD_NUMBER: _ClassVar[int]
753
911
  CLUSTER_GATEWAY_ID_FIELD_NUMBER: _ClassVar[int]
912
+ SUSPENDED_FIELD_NUMBER: _ClassVar[int]
754
913
  namespace: str
755
914
  gateway_name: str
756
915
  gateway_class_name: str
@@ -762,6 +921,7 @@ class EnvoyGatewaySpecs(_message.Message):
762
921
  service_annotations: _containers.ScalarMap[str, str]
763
922
  load_balancer_class: str
764
923
  cluster_gateway_id: str
924
+ suspended: bool
765
925
  def __init__(
766
926
  self,
767
927
  namespace: _Optional[str] = ...,
@@ -775,6 +935,7 @@ class EnvoyGatewaySpecs(_message.Message):
775
935
  service_annotations: _Optional[_Mapping[str, str]] = ...,
776
936
  load_balancer_class: _Optional[str] = ...,
777
937
  cluster_gateway_id: _Optional[str] = ...,
938
+ suspended: bool = ...,
778
939
  ) -> None: ...
779
940
 
780
941
  class EnvoyGatewayListener(_message.Message):
@@ -1203,6 +1364,7 @@ class BackgroundPersistenceDeploymentSpecs(_message.Message):
1203
1364
  "insecure",
1204
1365
  "writers",
1205
1366
  "bootstrap_cloud_resources",
1367
+ "suspended",
1206
1368
  )
1207
1369
  COMMON_PERSISTENCE_SPECS_FIELD_NUMBER: _ClassVar[int]
1208
1370
  API_SERVER_HOST_FIELD_NUMBER: _ClassVar[int]
@@ -1217,6 +1379,7 @@ class BackgroundPersistenceDeploymentSpecs(_message.Message):
1217
1379
  INSECURE_FIELD_NUMBER: _ClassVar[int]
1218
1380
  WRITERS_FIELD_NUMBER: _ClassVar[int]
1219
1381
  BOOTSTRAP_CLOUD_RESOURCES_FIELD_NUMBER: _ClassVar[int]
1382
+ SUSPENDED_FIELD_NUMBER: _ClassVar[int]
1220
1383
  common_persistence_specs: BackgroundPersistenceCommonSpecs
1221
1384
  api_server_host: str
1222
1385
  kafka_sasl_secret: str
@@ -1230,6 +1393,7 @@ class BackgroundPersistenceDeploymentSpecs(_message.Message):
1230
1393
  insecure: bool
1231
1394
  writers: _containers.RepeatedCompositeFieldContainer[BackgroundPersistenceWriterSpecs]
1232
1395
  bootstrap_cloud_resources: bool
1396
+ suspended: bool
1233
1397
  def __init__(
1234
1398
  self,
1235
1399
  common_persistence_specs: _Optional[_Union[BackgroundPersistenceCommonSpecs, _Mapping]] = ...,
@@ -1245,6 +1409,7 @@ class BackgroundPersistenceDeploymentSpecs(_message.Message):
1245
1409
  insecure: bool = ...,
1246
1410
  writers: _Optional[_Iterable[_Union[BackgroundPersistenceWriterSpecs, _Mapping]]] = ...,
1247
1411
  bootstrap_cloud_resources: bool = ...,
1412
+ suspended: bool = ...,
1248
1413
  ) -> None: ...
1249
1414
 
1250
1415
  class CreateClusterBackgroundPersistenceResponse(_message.Message):
@@ -1315,20 +1480,152 @@ class ClickHouseSpec(_message.Message):
1315
1480
  instance_type: _Optional[str] = ...,
1316
1481
  ) -> None: ...
1317
1482
 
1483
+ class ZombieKillerSpec(_message.Message):
1484
+ __slots__ = ("interval",)
1485
+ INTERVAL_FIELD_NUMBER: _ClassVar[int]
1486
+ interval: int
1487
+ def __init__(self, interval: _Optional[int] = ...) -> None: ...
1488
+
1489
+ class CoreDumpCollectorSpec(_message.Message):
1490
+ __slots__ = ()
1491
+ def __init__(self) -> None: ...
1492
+
1493
+ class PySpyStackTraceCollectorSpec(_message.Message):
1494
+ __slots__ = (
1495
+ "native",
1496
+ "subprocesses",
1497
+ "idle",
1498
+ "locals",
1499
+ "nonblocking",
1500
+ "max_retained_runs",
1501
+ "interval",
1502
+ "introspection_server_uris",
1503
+ )
1504
+ NATIVE_FIELD_NUMBER: _ClassVar[int]
1505
+ SUBPROCESSES_FIELD_NUMBER: _ClassVar[int]
1506
+ IDLE_FIELD_NUMBER: _ClassVar[int]
1507
+ LOCALS_FIELD_NUMBER: _ClassVar[int]
1508
+ NONBLOCKING_FIELD_NUMBER: _ClassVar[int]
1509
+ MAX_RETAINED_RUNS_FIELD_NUMBER: _ClassVar[int]
1510
+ INTERVAL_FIELD_NUMBER: _ClassVar[int]
1511
+ INTROSPECTION_SERVER_URIS_FIELD_NUMBER: _ClassVar[int]
1512
+ native: bool
1513
+ subprocesses: bool
1514
+ idle: bool
1515
+ locals: bool
1516
+ nonblocking: bool
1517
+ max_retained_runs: int
1518
+ interval: int
1519
+ introspection_server_uris: _containers.RepeatedScalarFieldContainer[str]
1520
+ def __init__(
1521
+ self,
1522
+ native: bool = ...,
1523
+ subprocesses: bool = ...,
1524
+ idle: bool = ...,
1525
+ locals: bool = ...,
1526
+ nonblocking: bool = ...,
1527
+ max_retained_runs: _Optional[int] = ...,
1528
+ interval: _Optional[int] = ...,
1529
+ introspection_server_uris: _Optional[_Iterable[str]] = ...,
1530
+ ) -> None: ...
1531
+
1532
+ class PerfCollectorSpec(_message.Message):
1533
+ __slots__ = ("perf_polling_frequency_hz", "call_graph", "max_dumps_retained", "dump_duration_seconds")
1534
+ PERF_POLLING_FREQUENCY_HZ_FIELD_NUMBER: _ClassVar[int]
1535
+ CALL_GRAPH_FIELD_NUMBER: _ClassVar[int]
1536
+ MAX_DUMPS_RETAINED_FIELD_NUMBER: _ClassVar[int]
1537
+ DUMP_DURATION_SECONDS_FIELD_NUMBER: _ClassVar[int]
1538
+ perf_polling_frequency_hz: int
1539
+ call_graph: bool
1540
+ max_dumps_retained: int
1541
+ dump_duration_seconds: int
1542
+ def __init__(
1543
+ self,
1544
+ perf_polling_frequency_hz: _Optional[int] = ...,
1545
+ call_graph: bool = ...,
1546
+ max_dumps_retained: _Optional[int] = ...,
1547
+ dump_duration_seconds: _Optional[int] = ...,
1548
+ ) -> None: ...
1549
+
1550
+ class PerfettoDaemonSpec(_message.Message):
1551
+ __slots__ = ("config_text", "max_retained_runs", "interval")
1552
+ CONFIG_TEXT_FIELD_NUMBER: _ClassVar[int]
1553
+ MAX_RETAINED_RUNS_FIELD_NUMBER: _ClassVar[int]
1554
+ INTERVAL_FIELD_NUMBER: _ClassVar[int]
1555
+ config_text: str
1556
+ max_retained_runs: int
1557
+ interval: int
1558
+ def __init__(
1559
+ self, config_text: _Optional[str] = ..., max_retained_runs: _Optional[int] = ..., interval: _Optional[int] = ...
1560
+ ) -> None: ...
1561
+
1562
+ class ObservabilityDaemonSpec(_message.Message):
1563
+ __slots__ = (
1564
+ "keep_running_when_suspended",
1565
+ "request",
1566
+ "limit",
1567
+ "image_override",
1568
+ "zombie_killer",
1569
+ "core_dump_collector",
1570
+ "py_spy_stack_trace_collector",
1571
+ "perf_collector",
1572
+ "perfetto_daemon",
1573
+ )
1574
+ KEEP_RUNNING_WHEN_SUSPENDED_FIELD_NUMBER: _ClassVar[int]
1575
+ REQUEST_FIELD_NUMBER: _ClassVar[int]
1576
+ LIMIT_FIELD_NUMBER: _ClassVar[int]
1577
+ IMAGE_OVERRIDE_FIELD_NUMBER: _ClassVar[int]
1578
+ ZOMBIE_KILLER_FIELD_NUMBER: _ClassVar[int]
1579
+ CORE_DUMP_COLLECTOR_FIELD_NUMBER: _ClassVar[int]
1580
+ PY_SPY_STACK_TRACE_COLLECTOR_FIELD_NUMBER: _ClassVar[int]
1581
+ PERF_COLLECTOR_FIELD_NUMBER: _ClassVar[int]
1582
+ PERFETTO_DAEMON_FIELD_NUMBER: _ClassVar[int]
1583
+ keep_running_when_suspended: bool
1584
+ request: KubeResourceConfig
1585
+ limit: KubeResourceConfig
1586
+ image_override: str
1587
+ zombie_killer: ZombieKillerSpec
1588
+ core_dump_collector: CoreDumpCollectorSpec
1589
+ py_spy_stack_trace_collector: PySpyStackTraceCollectorSpec
1590
+ perf_collector: PerfCollectorSpec
1591
+ perfetto_daemon: PerfettoDaemonSpec
1592
+ def __init__(
1593
+ self,
1594
+ keep_running_when_suspended: bool = ...,
1595
+ request: _Optional[_Union[KubeResourceConfig, _Mapping]] = ...,
1596
+ limit: _Optional[_Union[KubeResourceConfig, _Mapping]] = ...,
1597
+ image_override: _Optional[str] = ...,
1598
+ zombie_killer: _Optional[_Union[ZombieKillerSpec, _Mapping]] = ...,
1599
+ core_dump_collector: _Optional[_Union[CoreDumpCollectorSpec, _Mapping]] = ...,
1600
+ py_spy_stack_trace_collector: _Optional[_Union[PySpyStackTraceCollectorSpec, _Mapping]] = ...,
1601
+ perf_collector: _Optional[_Union[PerfCollectorSpec, _Mapping]] = ...,
1602
+ perfetto_daemon: _Optional[_Union[PerfettoDaemonSpec, _Mapping]] = ...,
1603
+ ) -> None: ...
1604
+
1318
1605
  class TelemetryDeploymentSpec(_message.Message):
1319
- __slots__ = ("namespace", "click_house", "otel", "node_selectors", "dns_name_override", "aggregator")
1606
+ __slots__ = (
1607
+ "namespace",
1608
+ "click_house",
1609
+ "otel",
1610
+ "node_selectors",
1611
+ "dns_name_override",
1612
+ "aggregator",
1613
+ "observability_daemons",
1614
+ )
1320
1615
  NAMESPACE_FIELD_NUMBER: _ClassVar[int]
1321
1616
  CLICK_HOUSE_FIELD_NUMBER: _ClassVar[int]
1322
1617
  OTEL_FIELD_NUMBER: _ClassVar[int]
1323
1618
  NODE_SELECTORS_FIELD_NUMBER: _ClassVar[int]
1324
1619
  DNS_NAME_OVERRIDE_FIELD_NUMBER: _ClassVar[int]
1325
1620
  AGGREGATOR_FIELD_NUMBER: _ClassVar[int]
1621
+ OBSERVABILITY_DAEMONS_FIELD_NUMBER: _ClassVar[int]
1326
1622
  namespace: str
1327
1623
  click_house: ClickHouseSpec
1328
1624
  otel: OtelCollectorSpec
1329
1625
  node_selectors: _containers.RepeatedCompositeFieldContainer[KubeNodeSelector]
1330
1626
  dns_name_override: str
1331
1627
  aggregator: AggregatorSpec
1628
+ observability_daemons: _containers.RepeatedCompositeFieldContainer[ObservabilityDaemonSpec]
1332
1629
  def __init__(
1333
1630
  self,
1334
1631
  namespace: _Optional[str] = ...,
@@ -1337,6 +1634,7 @@ class TelemetryDeploymentSpec(_message.Message):
1337
1634
  node_selectors: _Optional[_Iterable[_Union[KubeNodeSelector, _Mapping]]] = ...,
1338
1635
  dns_name_override: _Optional[str] = ...,
1339
1636
  aggregator: _Optional[_Union[AggregatorSpec, _Mapping]] = ...,
1637
+ observability_daemons: _Optional[_Iterable[_Union[ObservabilityDaemonSpec, _Mapping]]] = ...,
1340
1638
  ) -> None: ...
1341
1639
 
1342
1640
  class TelemetryDeployment(_message.Message):
@@ -1493,8 +1791,12 @@ class UpdateEnvironmentVariablesRequest(_message.Message):
1493
1791
  def __init__(self, environment_variables: _Optional[_Mapping[str, str]] = ...) -> None: ...
1494
1792
 
1495
1793
  class UpdateEnvironmentVariablesResponse(_message.Message):
1496
- __slots__ = ()
1497
- def __init__(self) -> None: ...
1794
+ __slots__ = ("field_changes",)
1795
+ FIELD_CHANGES_FIELD_NUMBER: _ClassVar[int]
1796
+ field_changes: _containers.RepeatedCompositeFieldContainer[_field_change_pb2.FieldChange]
1797
+ def __init__(
1798
+ self, field_changes: _Optional[_Iterable[_Union[_field_change_pb2.FieldChange, _Mapping]]] = ...
1799
+ ) -> None: ...
1498
1800
 
1499
1801
  class StartBranchRequest(_message.Message):
1500
1802
  __slots__ = ()
@@ -1826,7 +2128,17 @@ class CreateDeploymentRequest(_message.Message):
1826
2128
  "requirements",
1827
2129
  "customer_deployment_tags",
1828
2130
  "project_settings",
2131
+ "customer_metadata",
2132
+ "display_description",
1829
2133
  )
2134
+ class CustomerMetadataEntry(_message.Message):
2135
+ __slots__ = ("key", "value")
2136
+ KEY_FIELD_NUMBER: _ClassVar[int]
2137
+ VALUE_FIELD_NUMBER: _ClassVar[int]
2138
+ key: str
2139
+ value: str
2140
+ def __init__(self, key: _Optional[str] = ..., value: _Optional[str] = ...) -> None: ...
2141
+
1830
2142
  GIT_BRANCH_FIELD_NUMBER: _ClassVar[int]
1831
2143
  GIT_COMMIT_FIELD_NUMBER: _ClassVar[int]
1832
2144
  GIT_PR_FIELD_NUMBER: _ClassVar[int]
@@ -1836,6 +2148,8 @@ class CreateDeploymentRequest(_message.Message):
1836
2148
  REQUIREMENTS_FIELD_NUMBER: _ClassVar[int]
1837
2149
  CUSTOMER_DEPLOYMENT_TAGS_FIELD_NUMBER: _ClassVar[int]
1838
2150
  PROJECT_SETTINGS_FIELD_NUMBER: _ClassVar[int]
2151
+ CUSTOMER_METADATA_FIELD_NUMBER: _ClassVar[int]
2152
+ DISPLAY_DESCRIPTION_FIELD_NUMBER: _ClassVar[int]
1839
2153
  git_branch: str
1840
2154
  git_commit: str
1841
2155
  git_pr: str
@@ -1845,6 +2159,8 @@ class CreateDeploymentRequest(_message.Message):
1845
2159
  requirements: _containers.RepeatedCompositeFieldContainer[RequirementsFile]
1846
2160
  customer_deployment_tags: _containers.RepeatedScalarFieldContainer[str]
1847
2161
  project_settings: _export_pb2.ProjectSettings
2162
+ customer_metadata: _containers.ScalarMap[str, str]
2163
+ display_description: str
1848
2164
  def __init__(
1849
2165
  self,
1850
2166
  git_branch: _Optional[str] = ...,
@@ -1856,6 +2172,8 @@ class CreateDeploymentRequest(_message.Message):
1856
2172
  requirements: _Optional[_Iterable[_Union[RequirementsFile, _Mapping]]] = ...,
1857
2173
  customer_deployment_tags: _Optional[_Iterable[str]] = ...,
1858
2174
  project_settings: _Optional[_Union[_export_pb2.ProjectSettings, _Mapping]] = ...,
2175
+ customer_metadata: _Optional[_Mapping[str, str]] = ...,
2176
+ display_description: _Optional[str] = ...,
1859
2177
  ) -> None: ...
1860
2178
 
1861
2179
  class CreateDeploymentResponse(_message.Message):
@@ -1910,3 +2228,35 @@ class ResumeEnvironmentRequest(_message.Message):
1910
2228
  class ResumeEnvironmentResponse(_message.Message):
1911
2229
  __slots__ = ()
1912
2230
  def __init__(self) -> None: ...
2231
+
2232
+ class SuspendClusterGatewayRequest(_message.Message):
2233
+ __slots__ = ()
2234
+ def __init__(self) -> None: ...
2235
+
2236
+ class SuspendClusterGatewayResponse(_message.Message):
2237
+ __slots__ = ()
2238
+ def __init__(self) -> None: ...
2239
+
2240
+ class ResumeClusterGatewayRequest(_message.Message):
2241
+ __slots__ = ()
2242
+ def __init__(self) -> None: ...
2243
+
2244
+ class ResumeClusterGatewayResponse(_message.Message):
2245
+ __slots__ = ()
2246
+ def __init__(self) -> None: ...
2247
+
2248
+ class SuspendClusterBackgroundPersistenceRequest(_message.Message):
2249
+ __slots__ = ()
2250
+ def __init__(self) -> None: ...
2251
+
2252
+ class SuspendClusterBackgroundPersistenceResponse(_message.Message):
2253
+ __slots__ = ()
2254
+ def __init__(self) -> None: ...
2255
+
2256
+ class ResumeClusterBackgroundPersistenceRequest(_message.Message):
2257
+ __slots__ = ()
2258
+ def __init__(self) -> None: ...
2259
+
2260
+ class ResumeClusterBackgroundPersistenceResponse(_message.Message):
2261
+ __slots__ = ()
2262
+ def __init__(self) -> None: ...