google-cloud-saas_platform-saas_service_mgmt-v1beta1 0.a → 0.2.0

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 (47) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +12 -0
  3. data/AUTHENTICATION.md +122 -0
  4. data/README.md +154 -8
  5. data/lib/google/cloud/saas_platform/saas_service_mgmt/v1beta1/bindings_override.rb +77 -0
  6. data/lib/google/cloud/saas_platform/saas_service_mgmt/v1beta1/rest.rb +41 -0
  7. data/lib/google/cloud/saas_platform/saas_service_mgmt/v1beta1/saas_deployments/client.rb +3785 -0
  8. data/lib/google/cloud/saas_platform/saas_service_mgmt/v1beta1/saas_deployments/credentials.rb +49 -0
  9. data/lib/google/cloud/saas_platform/saas_service_mgmt/v1beta1/saas_deployments/paths.rb +185 -0
  10. data/lib/google/cloud/saas_platform/saas_service_mgmt/v1beta1/saas_deployments/rest/client.rb +3557 -0
  11. data/lib/google/cloud/saas_platform/saas_service_mgmt/v1beta1/saas_deployments/rest/service_stub.rb +1925 -0
  12. data/lib/google/cloud/saas_platform/saas_service_mgmt/v1beta1/saas_deployments/rest.rb +55 -0
  13. data/lib/google/cloud/saas_platform/saas_service_mgmt/v1beta1/saas_deployments.rb +57 -0
  14. data/lib/google/cloud/saas_platform/saas_service_mgmt/v1beta1/saas_rollouts/client.rb +1517 -0
  15. data/lib/google/cloud/saas_platform/saas_service_mgmt/v1beta1/saas_rollouts/credentials.rb +49 -0
  16. data/lib/google/cloud/saas_platform/saas_service_mgmt/v1beta1/saas_rollouts/paths.rb +128 -0
  17. data/lib/google/cloud/saas_platform/saas_service_mgmt/v1beta1/saas_rollouts/rest/client.rb +1429 -0
  18. data/lib/google/cloud/saas_platform/saas_service_mgmt/v1beta1/saas_rollouts/rest/service_stub.rb +697 -0
  19. data/lib/google/cloud/saas_platform/saas_service_mgmt/v1beta1/saas_rollouts/rest.rb +55 -0
  20. data/lib/google/cloud/saas_platform/saas_service_mgmt/v1beta1/saas_rollouts.rb +57 -0
  21. data/lib/google/cloud/saas_platform/saas_service_mgmt/v1beta1/version.rb +7 -2
  22. data/lib/google/cloud/saas_platform/saas_service_mgmt/v1beta1.rb +48 -0
  23. data/lib/google/cloud/saasplatform/saasservicemgmt/v1beta1/common_pb.rb +58 -0
  24. data/lib/google/cloud/saasplatform/saasservicemgmt/v1beta1/deployments_resources_pb.rb +73 -0
  25. data/lib/google/cloud/saasplatform/saasservicemgmt/v1beta1/deployments_service_pb.rb +89 -0
  26. data/lib/google/cloud/saasplatform/saasservicemgmt/v1beta1/deployments_service_services_pb.rb +105 -0
  27. data/lib/google/cloud/saasplatform/saasservicemgmt/v1beta1/rollouts_resources_pb.rb +60 -0
  28. data/lib/google/cloud/saasplatform/saasservicemgmt/v1beta1/rollouts_service_pb.rb +65 -0
  29. data/lib/google/cloud/saasplatform/saasservicemgmt/v1beta1/rollouts_service_services_pb.rb +65 -0
  30. data/lib/google-cloud-saas_platform-saas_service_mgmt-v1beta1.rb +21 -0
  31. data/proto_docs/README.md +4 -0
  32. data/proto_docs/google/api/client.rb +473 -0
  33. data/proto_docs/google/api/field_behavior.rb +85 -0
  34. data/proto_docs/google/api/field_info.rb +88 -0
  35. data/proto_docs/google/api/launch_stage.rb +71 -0
  36. data/proto_docs/google/api/resource.rb +227 -0
  37. data/proto_docs/google/cloud/saasplatform/saasservicemgmt/v1beta1/common.rb +231 -0
  38. data/proto_docs/google/cloud/saasplatform/saasservicemgmt/v1beta1/deployments_resources.rb +837 -0
  39. data/proto_docs/google/cloud/saasplatform/saasservicemgmt/v1beta1/deployments_service.rb +976 -0
  40. data/proto_docs/google/cloud/saasplatform/saasservicemgmt/v1beta1/rollouts_resources.rb +389 -0
  41. data/proto_docs/google/cloud/saasplatform/saasservicemgmt/v1beta1/rollouts_service.rb +344 -0
  42. data/proto_docs/google/protobuf/any.rb +145 -0
  43. data/proto_docs/google/protobuf/duration.rb +98 -0
  44. data/proto_docs/google/protobuf/empty.rb +34 -0
  45. data/proto_docs/google/protobuf/field_mask.rb +229 -0
  46. data/proto_docs/google/protobuf/timestamp.rb +127 -0
  47. metadata +94 -9
@@ -0,0 +1,837 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2025 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Cloud
22
+ module SaasPlatform
23
+ module SaasServiceMgmt
24
+ module V1beta1
25
+ # Location information that the service is available in.
26
+ # @!attribute [rw] name
27
+ # @return [::String]
28
+ # Optional. Name of location.
29
+ class Location
30
+ include ::Google::Protobuf::MessageExts
31
+ extend ::Google::Protobuf::MessageExts::ClassMethods
32
+ end
33
+
34
+ # Saas is a representation of a SaaS service managed by the Producer.
35
+ # @!attribute [rw] name
36
+ # @return [::String]
37
+ # Identifier. The resource name (full URI of the resource) following the
38
+ # standard naming scheme:
39
+ #
40
+ # "projects/\\{project}/locations/\\{location}/saas/\\{saas}"
41
+ # @!attribute [rw] locations
42
+ # @return [::Array<::Google::Cloud::SaasPlatform::SaasServiceMgmt::V1beta1::Location>]
43
+ # Optional. List of locations that the service is available in. Rollout
44
+ # refers to the list to generate a rollout plan.
45
+ # @!attribute [rw] labels
46
+ # @return [::Google::Protobuf::Map{::String => ::String}]
47
+ # Optional. The labels on the resource, which can be used for categorization.
48
+ # similar to Kubernetes resource labels.
49
+ # @!attribute [rw] annotations
50
+ # @return [::Google::Protobuf::Map{::String => ::String}]
51
+ # Optional. Annotations is an unstructured key-value map stored with a
52
+ # resource that may be set by external tools to store and retrieve arbitrary
53
+ # metadata. They are not queryable and should be preserved when modifying
54
+ # objects.
55
+ #
56
+ # More info: https://kubernetes.io/docs/user-guide/annotations
57
+ # @!attribute [r] uid
58
+ # @return [::String]
59
+ # Output only. The unique identifier of the resource. UID is unique in the
60
+ # time and space for this resource within the scope of the service. It is
61
+ # typically generated by the server on successful creation of a resource
62
+ # and must not be changed. UID is used to uniquely identify resources
63
+ # with resource name reuses. This should be a UUID4.
64
+ # @!attribute [r] etag
65
+ # @return [::String]
66
+ # Output only. An opaque value that uniquely identifies a version or
67
+ # generation of a resource. It can be used to confirm that the client
68
+ # and server agree on the ordering of a resource being written.
69
+ # @!attribute [r] create_time
70
+ # @return [::Google::Protobuf::Timestamp]
71
+ # Output only. The timestamp when the resource was created.
72
+ # @!attribute [r] update_time
73
+ # @return [::Google::Protobuf::Timestamp]
74
+ # Output only. The timestamp when the resource was last updated. Any
75
+ # change to the resource made by users must refresh this value.
76
+ # Changes to a resource made by the service should refresh this value.
77
+ class Saas
78
+ include ::Google::Protobuf::MessageExts
79
+ extend ::Google::Protobuf::MessageExts::ClassMethods
80
+
81
+ # @!attribute [rw] key
82
+ # @return [::String]
83
+ # @!attribute [rw] value
84
+ # @return [::String]
85
+ class LabelsEntry
86
+ include ::Google::Protobuf::MessageExts
87
+ extend ::Google::Protobuf::MessageExts::ClassMethods
88
+ end
89
+
90
+ # @!attribute [rw] key
91
+ # @return [::String]
92
+ # @!attribute [rw] value
93
+ # @return [::String]
94
+ class AnnotationsEntry
95
+ include ::Google::Protobuf::MessageExts
96
+ extend ::Google::Protobuf::MessageExts::ClassMethods
97
+ end
98
+ end
99
+
100
+ # Tenant represents the service producer side of an instance of the
101
+ # service created based on a request from a consumer. In a typical scenario a
102
+ # Tenant has a one-to-one mapping with a resource given out to a service
103
+ # consumer.
104
+ #
105
+ # Example:
106
+ #
107
+ # tenant:
108
+ # name: "projects/svc1/locations/loc/tenants/inst-068afff8"
109
+ # consumer_resource: "projects/gshoe/locations/loc/shoes/black-shoe"
110
+ # @!attribute [rw] name
111
+ # @return [::String]
112
+ # Identifier. The resource name (full URI of the resource) following the
113
+ # standard naming scheme:
114
+ #
115
+ # "projects/\\{project}/locations/\\{location}/tenants/\\{tenant}"
116
+ # @!attribute [rw] consumer_resource
117
+ # @return [::String]
118
+ # Optional. Immutable. A reference to the consumer resource this SaaS Tenant
119
+ # is representing.
120
+ #
121
+ # The relationship with a consumer resource can be used by SaaS Runtime for
122
+ # retrieving consumer-defined settings and policies such as maintenance
123
+ # policies (using Unified Maintenance Policy API).
124
+ # @!attribute [rw] saas
125
+ # @return [::String]
126
+ # Required. Immutable. A reference to the Saas that defines the product
127
+ # (managed service) that the producer wants to manage with SaaS Runtime. Part
128
+ # of the SaaS Runtime common data model.
129
+ # @!attribute [rw] labels
130
+ # @return [::Google::Protobuf::Map{::String => ::String}]
131
+ # Optional. The labels on the resource, which can be used for categorization.
132
+ # similar to Kubernetes resource labels.
133
+ # @!attribute [rw] annotations
134
+ # @return [::Google::Protobuf::Map{::String => ::String}]
135
+ # Optional. Annotations is an unstructured key-value map stored with a
136
+ # resource that may be set by external tools to store and retrieve arbitrary
137
+ # metadata. They are not queryable and should be preserved when modifying
138
+ # objects.
139
+ #
140
+ # More info: https://kubernetes.io/docs/user-guide/annotations
141
+ # @!attribute [r] uid
142
+ # @return [::String]
143
+ # Output only. The unique identifier of the resource. UID is unique in the
144
+ # time and space for this resource within the scope of the service. It is
145
+ # typically generated by the server on successful creation of a resource
146
+ # and must not be changed. UID is used to uniquely identify resources
147
+ # with resource name reuses. This should be a UUID4.
148
+ # @!attribute [r] etag
149
+ # @return [::String]
150
+ # Output only. An opaque value that uniquely identifies a version or
151
+ # generation of a resource. It can be used to confirm that the client
152
+ # and server agree on the ordering of a resource being written.
153
+ # @!attribute [r] create_time
154
+ # @return [::Google::Protobuf::Timestamp]
155
+ # Output only. The timestamp when the resource was created.
156
+ # @!attribute [r] update_time
157
+ # @return [::Google::Protobuf::Timestamp]
158
+ # Output only. The timestamp when the resource was last updated. Any
159
+ # change to the resource made by users must refresh this value.
160
+ # Changes to a resource made by the service should refresh this value.
161
+ class Tenant
162
+ include ::Google::Protobuf::MessageExts
163
+ extend ::Google::Protobuf::MessageExts::ClassMethods
164
+
165
+ # @!attribute [rw] key
166
+ # @return [::String]
167
+ # @!attribute [rw] value
168
+ # @return [::String]
169
+ class LabelsEntry
170
+ include ::Google::Protobuf::MessageExts
171
+ extend ::Google::Protobuf::MessageExts::ClassMethods
172
+ end
173
+
174
+ # @!attribute [rw] key
175
+ # @return [::String]
176
+ # @!attribute [rw] value
177
+ # @return [::String]
178
+ class AnnotationsEntry
179
+ include ::Google::Protobuf::MessageExts
180
+ extend ::Google::Protobuf::MessageExts::ClassMethods
181
+ end
182
+ end
183
+
184
+ # Definition of a Unit. Units belonging to the same UnitKind are managed
185
+ # together; for example they follow the same release model (blueprints,
186
+ # versions etc.) and are typically rolled out together.
187
+ # @!attribute [rw] name
188
+ # @return [::String]
189
+ # Identifier. The resource name (full URI of the resource) following the
190
+ # standard naming scheme:
191
+ #
192
+ # "projects/\\{project}/locations/\\{location}/unitKinds/\\{unitKind}"
193
+ # @!attribute [rw] default_release
194
+ # @return [::String]
195
+ # Optional. A reference to the Release object to use as default for creating
196
+ # new units of this UnitKind (optional).
197
+ #
198
+ # If not specified, a new unit must explicitly reference which release to use
199
+ # for its creation.
200
+ # @!attribute [rw] dependencies
201
+ # @return [::Array<::Google::Cloud::SaasPlatform::SaasServiceMgmt::V1beta1::Dependency>]
202
+ # Optional. Immutable. List of other unit kinds that this release will depend
203
+ # on. Dependencies will be automatically provisioned if not found.
204
+ # Maximum 10.
205
+ # @!attribute [rw] input_variable_mappings
206
+ # @return [::Array<::Google::Cloud::SaasPlatform::SaasServiceMgmt::V1beta1::VariableMapping>]
207
+ # Optional. List of inputVariables for this release that will either be
208
+ # retrieved from a dependency’s outputVariables, or will be passed on to a
209
+ # dependency’s inputVariables. Maximum 100.
210
+ # @!attribute [rw] output_variable_mappings
211
+ # @return [::Array<::Google::Cloud::SaasPlatform::SaasServiceMgmt::V1beta1::VariableMapping>]
212
+ # Optional. List of outputVariables for this unit kind will be passed to this
213
+ # unit's outputVariables. Maximum 100.
214
+ # @!attribute [rw] saas
215
+ # @return [::String]
216
+ # Required. Immutable. A reference to the Saas that defines the product
217
+ # (managed service) that the producer wants to manage with SaaS Runtime. Part
218
+ # of the SaaS Runtime common data model. Immutable once set.
219
+ # @!attribute [rw] labels
220
+ # @return [::Google::Protobuf::Map{::String => ::String}]
221
+ # Optional. The labels on the resource, which can be used for categorization.
222
+ # similar to Kubernetes resource labels.
223
+ # @!attribute [rw] annotations
224
+ # @return [::Google::Protobuf::Map{::String => ::String}]
225
+ # Optional. Annotations is an unstructured key-value map stored with a
226
+ # resource that may be set by external tools to store and retrieve arbitrary
227
+ # metadata. They are not queryable and should be preserved when modifying
228
+ # objects.
229
+ #
230
+ # More info: https://kubernetes.io/docs/user-guide/annotations
231
+ # @!attribute [r] uid
232
+ # @return [::String]
233
+ # Output only. The unique identifier of the resource. UID is unique in the
234
+ # time and space for this resource within the scope of the service. It is
235
+ # typically generated by the server on successful creation of a resource
236
+ # and must not be changed. UID is used to uniquely identify resources
237
+ # with resource name reuses. This should be a UUID4.
238
+ # @!attribute [r] etag
239
+ # @return [::String]
240
+ # Output only. An opaque value that uniquely identifies a version or
241
+ # generation of a resource. It can be used to confirm that the client
242
+ # and server agree on the ordering of a resource being written.
243
+ # @!attribute [r] create_time
244
+ # @return [::Google::Protobuf::Timestamp]
245
+ # Output only. The timestamp when the resource was created.
246
+ # @!attribute [r] update_time
247
+ # @return [::Google::Protobuf::Timestamp]
248
+ # Output only. The timestamp when the resource was last updated. Any
249
+ # change to the resource made by users must refresh this value.
250
+ # Changes to a resource made by the service should refresh this value.
251
+ class UnitKind
252
+ include ::Google::Protobuf::MessageExts
253
+ extend ::Google::Protobuf::MessageExts::ClassMethods
254
+
255
+ # @!attribute [rw] key
256
+ # @return [::String]
257
+ # @!attribute [rw] value
258
+ # @return [::String]
259
+ class LabelsEntry
260
+ include ::Google::Protobuf::MessageExts
261
+ extend ::Google::Protobuf::MessageExts::ClassMethods
262
+ end
263
+
264
+ # @!attribute [rw] key
265
+ # @return [::String]
266
+ # @!attribute [rw] value
267
+ # @return [::String]
268
+ class AnnotationsEntry
269
+ include ::Google::Protobuf::MessageExts
270
+ extend ::Google::Protobuf::MessageExts::ClassMethods
271
+ end
272
+ end
273
+
274
+ # A unit of deployment that has its lifecycle via a CRUD API using an actuation
275
+ # engine under the hood (e.g. based on Terraform, Helm or a custom
276
+ # implementation provided by a service producer). A building block of a SaaS
277
+ # Tenant.
278
+ # @!attribute [rw] name
279
+ # @return [::String]
280
+ # Identifier. The resource name (full URI of the resource) following the
281
+ # standard naming scheme:
282
+ #
283
+ # "projects/\\{project}/locations/\\{location}/units/\\{unit}"
284
+ # @!attribute [rw] unit_kind
285
+ # @return [::String]
286
+ # Optional. Reference to the UnitKind this Unit belongs to. Immutable once
287
+ # set.
288
+ # @!attribute [r] release
289
+ # @return [::String]
290
+ # Optional. Output only. The current Release object for this Unit.
291
+ # @!attribute [rw] tenant
292
+ # @return [::String]
293
+ # Optional. Reference to the Saas Tenant resource this unit belongs to. This
294
+ # for example informs the maintenance policies to use for scheduling future
295
+ # updates on a unit. (optional and immutable once created)
296
+ # @!attribute [r] ongoing_operations
297
+ # @return [::Array<::String>]
298
+ # Optional. Output only. List of concurrent UnitOperations that are operating
299
+ # on this Unit.
300
+ # @!attribute [r] pending_operations
301
+ # @return [::Array<::String>]
302
+ # Optional. Output only. List of pending (wait to be executed) UnitOperations
303
+ # for this unit.
304
+ # @!attribute [r] scheduled_operations
305
+ # @return [::Array<::String>]
306
+ # Optional. Output only. List of scheduled UnitOperations for this unit.
307
+ # @!attribute [r] dependents
308
+ # @return [::Array<::Google::Cloud::SaasPlatform::SaasServiceMgmt::V1beta1::UnitDependency>]
309
+ # Optional. Output only. List of Units that depend on this unit. Unit can
310
+ # only be deprovisioned if this list is empty. Maximum 1000.
311
+ # @!attribute [r] dependencies
312
+ # @return [::Array<::Google::Cloud::SaasPlatform::SaasServiceMgmt::V1beta1::UnitDependency>]
313
+ # Optional. Output only. Set of dependencies for this unit. Maximum 10.
314
+ # @!attribute [r] input_variables
315
+ # @return [::Array<::Google::Cloud::SaasPlatform::SaasServiceMgmt::V1beta1::UnitVariable>]
316
+ # Optional. Output only. Indicates the current input variables deployed by
317
+ # the unit
318
+ # @!attribute [r] output_variables
319
+ # @return [::Array<::Google::Cloud::SaasPlatform::SaasServiceMgmt::V1beta1::UnitVariable>]
320
+ # Optional. Output only. Set of key/value pairs corresponding to output
321
+ # variables from execution of actuation templates. The variables are declared
322
+ # in actuation configs (e.g in helm chart or terraform) and the values are
323
+ # fetched and returned by the actuation engine upon completion of execution.
324
+ # @!attribute [rw] maintenance
325
+ # @return [::Google::Cloud::SaasPlatform::SaasServiceMgmt::V1beta1::Unit::MaintenanceSettings]
326
+ # Optional. Captures requested directives for performing future maintenance
327
+ # on the unit. This includes a request for the unit to skip maintenance for a
328
+ # period of time and remain pinned to its current release as well as controls
329
+ # for postponing maintenance scheduled in future.
330
+ # @!attribute [r] state
331
+ # @return [::Google::Cloud::SaasPlatform::SaasServiceMgmt::V1beta1::Unit::UnitState]
332
+ # Optional. Output only. Current lifecycle state of the resource (e.g. if
333
+ # it's being created or ready to use).
334
+ # @!attribute [r] conditions
335
+ # @return [::Array<::Google::Cloud::SaasPlatform::SaasServiceMgmt::V1beta1::UnitCondition>]
336
+ # Optional. Output only. A set of conditions which indicate the various
337
+ # conditions this resource can have.
338
+ # @!attribute [rw] management_mode
339
+ # @return [::Google::Cloud::SaasPlatform::SaasServiceMgmt::V1beta1::Unit::ManagementMode]
340
+ # Optional. Immutable. Indicates whether the Unit life cycle is controlled
341
+ # by the user or by the system.
342
+ # Immutable once created.
343
+ # @!attribute [r] system_managed_state
344
+ # @return [::Google::Cloud::SaasPlatform::SaasServiceMgmt::V1beta1::Unit::SystemManagedState]
345
+ # Optional. Output only. Indicates the system managed state of the unit.
346
+ # @!attribute [r] system_cleanup_at
347
+ # @return [::Google::Protobuf::Timestamp]
348
+ # Optional. Output only. If set, indicates the time when the system will
349
+ # start removing the unit.
350
+ # @!attribute [rw] labels
351
+ # @return [::Google::Protobuf::Map{::String => ::String}]
352
+ # Optional. The labels on the resource, which can be used for categorization.
353
+ # similar to Kubernetes resource labels.
354
+ # @!attribute [rw] annotations
355
+ # @return [::Google::Protobuf::Map{::String => ::String}]
356
+ # Optional. Annotations is an unstructured key-value map stored with a
357
+ # resource that may be set by external tools to store and retrieve arbitrary
358
+ # metadata. They are not queryable and should be preserved when modifying
359
+ # objects.
360
+ #
361
+ # More info: https://kubernetes.io/docs/user-guide/annotations
362
+ # @!attribute [r] uid
363
+ # @return [::String]
364
+ # Output only. The unique identifier of the resource. UID is unique in the
365
+ # time and space for this resource within the scope of the service. It is
366
+ # typically generated by the server on successful creation of a resource
367
+ # and must not be changed. UID is used to uniquely identify resources
368
+ # with resource name reuses. This should be a UUID4.
369
+ # @!attribute [r] etag
370
+ # @return [::String]
371
+ # Output only. An opaque value that uniquely identifies a version or
372
+ # generation of a resource. It can be used to confirm that the client
373
+ # and server agree on the ordering of a resource being written.
374
+ # @!attribute [r] create_time
375
+ # @return [::Google::Protobuf::Timestamp]
376
+ # Output only. The timestamp when the resource was created.
377
+ # @!attribute [r] update_time
378
+ # @return [::Google::Protobuf::Timestamp]
379
+ # Output only. The timestamp when the resource was last updated. Any
380
+ # change to the resource made by users must refresh this value.
381
+ # Changes to a resource made by the service should refresh this value.
382
+ class Unit
383
+ include ::Google::Protobuf::MessageExts
384
+ extend ::Google::Protobuf::MessageExts::ClassMethods
385
+
386
+ # Captures requested directives for performing future maintenance on the
387
+ # unit. This includes a request for the unit to skip maintenance for a period
388
+ # of time and remain pinned to its current release as well as controls for
389
+ # postponing maintenance scheduled in future.
390
+ # @!attribute [rw] pinned_until_time
391
+ # @return [::Google::Protobuf::Timestamp]
392
+ # Optional. If present, it fixes the release on the unit until the given
393
+ # time; i.e. changes to the release field will be rejected. Rollouts should
394
+ # and will also respect this by not requesting an upgrade in the first
395
+ # place.
396
+ class MaintenanceSettings
397
+ include ::Google::Protobuf::MessageExts
398
+ extend ::Google::Protobuf::MessageExts::ClassMethods
399
+ end
400
+
401
+ # @!attribute [rw] key
402
+ # @return [::String]
403
+ # @!attribute [rw] value
404
+ # @return [::String]
405
+ class LabelsEntry
406
+ include ::Google::Protobuf::MessageExts
407
+ extend ::Google::Protobuf::MessageExts::ClassMethods
408
+ end
409
+
410
+ # @!attribute [rw] key
411
+ # @return [::String]
412
+ # @!attribute [rw] value
413
+ # @return [::String]
414
+ class AnnotationsEntry
415
+ include ::Google::Protobuf::MessageExts
416
+ extend ::Google::Protobuf::MessageExts::ClassMethods
417
+ end
418
+
419
+ # UnitState annotates what is the current state of the unit itself.
420
+ module UnitState
421
+ # Unspecified state.
422
+ UNIT_STATE_UNSPECIFIED = 0
423
+
424
+ # Unit is not provisioned.
425
+ UNIT_STATE_NOT_PROVISIONED = 1
426
+
427
+ # Unit is being provisioned.
428
+ UNIT_STATE_PROVISIONING = 2
429
+
430
+ # Unit is being updated. This is typically when a unit is being upgraded to
431
+ # a new release or some of the input variables on the Unit is being
432
+ # changed. Certain kinds of updates may cause the Unit to become unusable
433
+ # while the update is in progress.
434
+ UNIT_STATE_UPDATING = 3
435
+
436
+ # Unit is being deleted.
437
+ UNIT_STATE_DEPROVISIONING = 4
438
+
439
+ # Unit has been provisioned and is ready for use
440
+ UNIT_STATE_READY = 5
441
+
442
+ # Unit has error, when it is not ready and some error operation
443
+ UNIT_STATE_ERROR = 6
444
+ end
445
+
446
+ # ManagementMode describes who is responsible for the management of the unit.
447
+ module ManagementMode
448
+ MANAGEMENT_MODE_UNSPECIFIED = 0
449
+
450
+ # Unit's lifecycle is managed by the user.
451
+ MANAGEMENT_MODE_USER = 1
452
+
453
+ # The system will decide when to deprovision and delete the unit.
454
+ # User still can deprovision or delete the unit manually.
455
+ MANAGEMENT_MODE_SYSTEM = 2
456
+ end
457
+
458
+ module SystemManagedState
459
+ SYSTEM_MANAGED_STATE_UNSPECIFIED = 0
460
+
461
+ # Unit has dependents attached.
462
+ SYSTEM_MANAGED_STATE_ACTIVE = 1
463
+
464
+ # Unit has no dependencies attached, but attachment is allowed.
465
+ SYSTEM_MANAGED_STATE_INACTIVE = 2
466
+
467
+ # Unit has no dependencies attached, and attachment is not allowed.
468
+ SYSTEM_MANAGED_STATE_DECOMMISSIONED = 3
469
+ end
470
+ end
471
+
472
+ # Set of dependencies for this unit. Maximum 10.
473
+ # @!attribute [r] alias
474
+ # @return [::String]
475
+ # Output only. Alias for the name of the dependency.
476
+ # @!attribute [r] unit
477
+ # @return [::String]
478
+ # Output only. A reference to the Unit object.
479
+ class UnitDependency
480
+ include ::Google::Protobuf::MessageExts
481
+ extend ::Google::Protobuf::MessageExts::ClassMethods
482
+ end
483
+
484
+ # UnitOperation encapsulates the intent of changing/interacting with the
485
+ # service component represented by the specific Unit. Multiple UnitOperations
486
+ # can be created (requested) and scheduled in the future, however only one will
487
+ # be allowed to execute at a time (that can change in the future for
488
+ # non-mutating operations).
489
+ #
490
+ # UnitOperations allow different actors interacting with the same
491
+ # unit to focus only on the change they have requested.
492
+ #
493
+ # This is a base object that contains the common fields in all unit operations.
494
+ # Next: 19
495
+ # @!attribute [rw] provision
496
+ # @return [::Google::Cloud::SaasPlatform::SaasServiceMgmt::V1beta1::Provision]
497
+ # Note: The following fields are mutually exclusive: `provision`, `upgrade`, `deprovision`. If a field in that set is populated, all other fields in the set will automatically be cleared.
498
+ # @!attribute [rw] upgrade
499
+ # @return [::Google::Cloud::SaasPlatform::SaasServiceMgmt::V1beta1::Upgrade]
500
+ # Note: The following fields are mutually exclusive: `upgrade`, `provision`, `deprovision`. If a field in that set is populated, all other fields in the set will automatically be cleared.
501
+ # @!attribute [rw] deprovision
502
+ # @return [::Google::Cloud::SaasPlatform::SaasServiceMgmt::V1beta1::Deprovision]
503
+ # Note: The following fields are mutually exclusive: `deprovision`, `provision`, `upgrade`. If a field in that set is populated, all other fields in the set will automatically be cleared.
504
+ # @!attribute [rw] name
505
+ # @return [::String]
506
+ # Identifier. The resource name (full URI of the resource) following the
507
+ # standard naming scheme:
508
+ #
509
+ # "projects/\\{project}/locations/\\{location}/unitOperations/\\{unitOperation}"
510
+ # @!attribute [rw] unit
511
+ # @return [::String]
512
+ # Required. Immutable. The Unit a given UnitOperation will act upon.
513
+ # @!attribute [rw] parent_unit_operation
514
+ # @return [::String]
515
+ # Optional. Reference to parent resource: UnitOperation. If an operation
516
+ # needs to create other operations as part of its workflow, each of the child
517
+ # operations should have this field set to the parent. This can be used for
518
+ # tracing. (Optional)
519
+ # @!attribute [rw] rollout
520
+ # @return [::String]
521
+ # Optional. Specifies which rollout created this Unit Operation. This cannot
522
+ # be modified and is used for filtering purposes only. If a dependent unit
523
+ # and unit operation are created as part of another unit operation, they will
524
+ # use the same rolloutId.
525
+ # @!attribute [rw] cancel
526
+ # @return [::Boolean]
527
+ # Optional. When true, attempt to cancel the operation. Cancellation may fail
528
+ # if the operation is already executing. (Optional)
529
+ # @!attribute [r] state
530
+ # @return [::Google::Cloud::SaasPlatform::SaasServiceMgmt::V1beta1::UnitOperation::UnitOperationState]
531
+ # Optional. Output only. UnitOperationState describes the current state of
532
+ # the unit operation.
533
+ # @!attribute [r] conditions
534
+ # @return [::Array<::Google::Cloud::SaasPlatform::SaasServiceMgmt::V1beta1::UnitOperationCondition>]
535
+ # Optional. Output only. A set of conditions which indicate the various
536
+ # conditions this resource can have.
537
+ # @!attribute [rw] schedule
538
+ # @return [::Google::Cloud::SaasPlatform::SaasServiceMgmt::V1beta1::Schedule]
539
+ # Optional. When to schedule this operation.
540
+ # @!attribute [r] engine_state
541
+ # @return [::String]
542
+ # Optional. Output only. The engine state for on-going
543
+ # deployment engine operation(s).
544
+ # This field is opaque for external usage.
545
+ # @!attribute [r] error_category
546
+ # @return [::Google::Cloud::SaasPlatform::SaasServiceMgmt::V1beta1::UnitOperationErrorCategory]
547
+ # Optional. Output only. UnitOperationErrorCategory describe the error
548
+ # category.
549
+ # @!attribute [rw] labels
550
+ # @return [::Google::Protobuf::Map{::String => ::String}]
551
+ # Optional. The labels on the resource, which can be used for categorization.
552
+ # similar to Kubernetes resource labels.
553
+ # @!attribute [rw] annotations
554
+ # @return [::Google::Protobuf::Map{::String => ::String}]
555
+ # Optional. Annotations is an unstructured key-value map stored with a
556
+ # resource that may be set by external tools to store and retrieve arbitrary
557
+ # metadata. They are not queryable and should be preserved when modifying
558
+ # objects.
559
+ #
560
+ # More info: https://kubernetes.io/docs/user-guide/annotations
561
+ # @!attribute [r] uid
562
+ # @return [::String]
563
+ # Output only. The unique identifier of the resource. UID is unique in the
564
+ # time and space for this resource within the scope of the service. It is
565
+ # typically generated by the server on successful creation of a resource
566
+ # and must not be changed. UID is used to uniquely identify resources
567
+ # with resource name reuses. This should be a UUID4.
568
+ # @!attribute [r] etag
569
+ # @return [::String]
570
+ # Output only. An opaque value that uniquely identifies a version or
571
+ # generation of a resource. It can be used to confirm that the client
572
+ # and server agree on the ordering of a resource being written.
573
+ # @!attribute [r] create_time
574
+ # @return [::Google::Protobuf::Timestamp]
575
+ # Output only. The timestamp when the resource was created.
576
+ # @!attribute [r] update_time
577
+ # @return [::Google::Protobuf::Timestamp]
578
+ # Output only. The timestamp when the resource was last updated. Any
579
+ # change to the resource made by users must refresh this value.
580
+ # Changes to a resource made by the service should refresh this value.
581
+ class UnitOperation
582
+ include ::Google::Protobuf::MessageExts
583
+ extend ::Google::Protobuf::MessageExts::ClassMethods
584
+
585
+ # @!attribute [rw] key
586
+ # @return [::String]
587
+ # @!attribute [rw] value
588
+ # @return [::String]
589
+ class LabelsEntry
590
+ include ::Google::Protobuf::MessageExts
591
+ extend ::Google::Protobuf::MessageExts::ClassMethods
592
+ end
593
+
594
+ # @!attribute [rw] key
595
+ # @return [::String]
596
+ # @!attribute [rw] value
597
+ # @return [::String]
598
+ class AnnotationsEntry
599
+ include ::Google::Protobuf::MessageExts
600
+ extend ::Google::Protobuf::MessageExts::ClassMethods
601
+ end
602
+
603
+ # UnitOperationState describes the current state of the unit operation.
604
+ module UnitOperationState
605
+ UNIT_OPERATION_STATE_UNKNOWN = 0
606
+
607
+ # Unit operation is accepted but not ready to run.
608
+ UNIT_OPERATION_STATE_PENDING = 1
609
+
610
+ # Unit operation is accepted and scheduled.
611
+ UNIT_OPERATION_STATE_SCHEDULED = 2
612
+
613
+ # Unit operation is running.
614
+ UNIT_OPERATION_STATE_RUNNING = 4
615
+
616
+ # Unit operation has completed successfully.
617
+ UNIT_OPERATION_STATE_SUCCEEDED = 5
618
+
619
+ # Unit operation has failed.
620
+ UNIT_OPERATION_STATE_FAILED = 6
621
+
622
+ # Unit operation was cancelled.
623
+ UNIT_OPERATION_STATE_CANCELLED = 7
624
+ end
625
+ end
626
+
627
+ # Provision is the unit operation that provision the underlying resources
628
+ # represented by a Unit. Can only execute if the Unit is not currently
629
+ # provisioned.
630
+ # @!attribute [rw] release
631
+ # @return [::String]
632
+ # Optional. Reference to the Release object to use for the Unit. (optional).
633
+ # @!attribute [rw] input_variables
634
+ # @return [::Array<::Google::Cloud::SaasPlatform::SaasServiceMgmt::V1beta1::UnitVariable>]
635
+ # Optional. Set of input variables. Maximum 100. (optional)
636
+ class Provision
637
+ include ::Google::Protobuf::MessageExts
638
+ extend ::Google::Protobuf::MessageExts::ClassMethods
639
+ end
640
+
641
+ # Deprovision is the unit operation that deprovision the underlying
642
+ # resources represented by a Unit. Can only execute if the Unit is currently
643
+ # provisioned.
644
+ class Deprovision
645
+ include ::Google::Protobuf::MessageExts
646
+ extend ::Google::Protobuf::MessageExts::ClassMethods
647
+ end
648
+
649
+ # Upgrade is the unit operation that upgrades a provisioned unit, which may
650
+ # also include the underlying resources represented by a Unit. Can only execute
651
+ # if the Unit is currently provisioned.
652
+ # @!attribute [rw] release
653
+ # @return [::String]
654
+ # Optional. Reference to the Release object to use for the Unit. (optional).
655
+ # @!attribute [rw] input_variables
656
+ # @return [::Array<::Google::Cloud::SaasPlatform::SaasServiceMgmt::V1beta1::UnitVariable>]
657
+ # Optional. Set of input variables. Maximum 100. (optional)
658
+ class Upgrade
659
+ include ::Google::Protobuf::MessageExts
660
+ extend ::Google::Protobuf::MessageExts::ClassMethods
661
+ end
662
+
663
+ # A time specification to schedule the maintenance.
664
+ # @!attribute [rw] start_time
665
+ # @return [::Google::Protobuf::Timestamp]
666
+ # Optional. Start of operation. If not set, will be set to the start of the
667
+ # next window. (optional)
668
+ class Schedule
669
+ include ::Google::Protobuf::MessageExts
670
+ extend ::Google::Protobuf::MessageExts::ClassMethods
671
+ end
672
+
673
+ # A new version to be propagated and deployed to units. This includes pointers
674
+ # to packaged blueprints for actuation (e.g Helm or Terraform configuration
675
+ # packages) via artifact registry.
676
+ # @!attribute [rw] name
677
+ # @return [::String]
678
+ # Identifier. The resource name (full URI of the resource) following the
679
+ # standard naming scheme:
680
+ #
681
+ # "projects/\\{project}/locations/\\{location}/releases/\\{release}"
682
+ # @!attribute [rw] unit_kind
683
+ # @return [::String]
684
+ # Required. Immutable. Reference to the UnitKind this Release corresponds to
685
+ # (required and immutable once created).
686
+ # @!attribute [rw] blueprint
687
+ # @return [::Google::Cloud::SaasPlatform::SaasServiceMgmt::V1beta1::Blueprint]
688
+ # Optional. Blueprints are OCI Images that contain all of the artifacts
689
+ # needed to provision a unit.
690
+ # @!attribute [rw] release_requirements
691
+ # @return [::Google::Cloud::SaasPlatform::SaasServiceMgmt::V1beta1::Release::ReleaseRequirements]
692
+ # Optional. Set of requirements to be fulfilled on the Unit when using this
693
+ # Release.
694
+ # @!attribute [r] input_variables
695
+ # @return [::Array<::Google::Cloud::SaasPlatform::SaasServiceMgmt::V1beta1::UnitVariable>]
696
+ # Optional. Output only. List of input variables declared on the blueprint
697
+ # and can be present with their values on the unit spec
698
+ # @!attribute [r] output_variables
699
+ # @return [::Array<::Google::Cloud::SaasPlatform::SaasServiceMgmt::V1beta1::UnitVariable>]
700
+ # Optional. Output only. List of output variables declared on the blueprint
701
+ # and can be present with their values on the unit status
702
+ # @!attribute [rw] input_variable_defaults
703
+ # @return [::Array<::Google::Cloud::SaasPlatform::SaasServiceMgmt::V1beta1::UnitVariable>]
704
+ # Optional. Mapping of input variables to default values. Maximum 100
705
+ # @!attribute [rw] labels
706
+ # @return [::Google::Protobuf::Map{::String => ::String}]
707
+ # Optional. The labels on the resource, which can be used for categorization.
708
+ # similar to Kubernetes resource labels.
709
+ # @!attribute [rw] annotations
710
+ # @return [::Google::Protobuf::Map{::String => ::String}]
711
+ # Optional. Annotations is an unstructured key-value map stored with a
712
+ # resource that may be set by external tools to store and retrieve arbitrary
713
+ # metadata. They are not queryable and should be preserved when modifying
714
+ # objects.
715
+ #
716
+ # More info: https://kubernetes.io/docs/user-guide/annotations
717
+ # @!attribute [r] uid
718
+ # @return [::String]
719
+ # Output only. The unique identifier of the resource. UID is unique in the
720
+ # time and space for this resource within the scope of the service. It is
721
+ # typically generated by the server on successful creation of a resource
722
+ # and must not be changed. UID is used to uniquely identify resources
723
+ # with resource name reuses. This should be a UUID4.
724
+ # @!attribute [r] etag
725
+ # @return [::String]
726
+ # Output only. An opaque value that uniquely identifies a version or
727
+ # generation of a resource. It can be used to confirm that the client
728
+ # and server agree on the ordering of a resource being written.
729
+ # @!attribute [r] create_time
730
+ # @return [::Google::Protobuf::Timestamp]
731
+ # Output only. The timestamp when the resource was created.
732
+ # @!attribute [r] update_time
733
+ # @return [::Google::Protobuf::Timestamp]
734
+ # Output only. The timestamp when the resource was last updated. Any
735
+ # change to the resource made by users must refresh this value.
736
+ # Changes to a resource made by the service should refresh this value.
737
+ class Release
738
+ include ::Google::Protobuf::MessageExts
739
+ extend ::Google::Protobuf::MessageExts::ClassMethods
740
+
741
+ # Set of requirements to be fulfilled on the Unit when using this Release.
742
+ # @!attribute [rw] upgradeable_from_releases
743
+ # @return [::Array<::String>]
744
+ # Optional. A list of releases from which a unit can be upgraded to this
745
+ # one (optional). If left empty no constraints will be applied. When
746
+ # provided, unit upgrade requests to this release will check and enforce
747
+ # this constraint.
748
+ class ReleaseRequirements
749
+ include ::Google::Protobuf::MessageExts
750
+ extend ::Google::Protobuf::MessageExts::ClassMethods
751
+ end
752
+
753
+ # @!attribute [rw] key
754
+ # @return [::String]
755
+ # @!attribute [rw] value
756
+ # @return [::String]
757
+ class LabelsEntry
758
+ include ::Google::Protobuf::MessageExts
759
+ extend ::Google::Protobuf::MessageExts::ClassMethods
760
+ end
761
+
762
+ # @!attribute [rw] key
763
+ # @return [::String]
764
+ # @!attribute [rw] value
765
+ # @return [::String]
766
+ class AnnotationsEntry
767
+ include ::Google::Protobuf::MessageExts
768
+ extend ::Google::Protobuf::MessageExts::ClassMethods
769
+ end
770
+ end
771
+
772
+ # Mapping of input variables to their respective output variable for
773
+ # depedenencies
774
+ # @!attribute [rw] from
775
+ # @return [::Google::Cloud::SaasPlatform::SaasServiceMgmt::V1beta1::FromMapping]
776
+ # Optional. Output variables which will get their values from dependencies
777
+ #
778
+ # Note: The following fields are mutually exclusive: `from`, `to`. If a field in that set is populated, all other fields in the set will automatically be cleared.
779
+ # @!attribute [rw] to
780
+ # @return [::Google::Cloud::SaasPlatform::SaasServiceMgmt::V1beta1::ToMapping]
781
+ # Optional. Input variables whose values will be passed on to dependencies.
782
+ #
783
+ # Note: The following fields are mutually exclusive: `to`, `from`. If a field in that set is populated, all other fields in the set will automatically be cleared.
784
+ # @!attribute [rw] variable
785
+ # @return [::String]
786
+ # Required. name of the variable
787
+ class VariableMapping
788
+ include ::Google::Protobuf::MessageExts
789
+ extend ::Google::Protobuf::MessageExts::ClassMethods
790
+ end
791
+
792
+ # Output variables whose values will be passed on to dependencies
793
+ # @!attribute [rw] dependency
794
+ # @return [::String]
795
+ # Required. Alias of the dependency that the outputVariable will pass its
796
+ # value to
797
+ # @!attribute [rw] output_variable
798
+ # @return [::String]
799
+ # Required. Name of the outputVariable on the dependency
800
+ class FromMapping
801
+ include ::Google::Protobuf::MessageExts
802
+ extend ::Google::Protobuf::MessageExts::ClassMethods
803
+ end
804
+
805
+ # Input variables whose values will be passed on to dependencies
806
+ # @!attribute [rw] dependency
807
+ # @return [::String]
808
+ # Required. Alias of the dependency that the inputVariable will pass its
809
+ # value to
810
+ # @!attribute [rw] input_variable
811
+ # @return [::String]
812
+ # Required. Name of the inputVariable on the dependency
813
+ # @!attribute [rw] ignore_for_lookup
814
+ # @return [::Boolean]
815
+ # Optional. Tells SaaS Runtime if this mapping should be used during lookup
816
+ # or not
817
+ class ToMapping
818
+ include ::Google::Protobuf::MessageExts
819
+ extend ::Google::Protobuf::MessageExts::ClassMethods
820
+ end
821
+
822
+ # Dependency represent a single dependency with another unit kind by alias.
823
+ # @!attribute [rw] unit_kind
824
+ # @return [::String]
825
+ # Required. Immutable. The unit kind of the dependency.
826
+ # @!attribute [rw] alias
827
+ # @return [::String]
828
+ # Required. An alias for the dependency. Used for input variable mapping.
829
+ class Dependency
830
+ include ::Google::Protobuf::MessageExts
831
+ extend ::Google::Protobuf::MessageExts::ClassMethods
832
+ end
833
+ end
834
+ end
835
+ end
836
+ end
837
+ end