google-cloud-service_management-v1 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (51) hide show
  1. checksums.yaml +7 -0
  2. data/.yardopts +12 -0
  3. data/AUTHENTICATION.md +169 -0
  4. data/LICENSE.md +203 -0
  5. data/README.md +75 -0
  6. data/lib/google-cloud-service_management-v1.rb +21 -0
  7. data/lib/google/api/servicemanagement/v1/resources_pb.rb +123 -0
  8. data/lib/google/api/servicemanagement/v1/servicemanager_pb.rb +146 -0
  9. data/lib/google/api/servicemanagement/v1/servicemanager_services_pb.rb +148 -0
  10. data/lib/google/cloud/service_management/v1.rb +35 -0
  11. data/lib/google/cloud/service_management/v1/service_manager.rb +49 -0
  12. data/lib/google/cloud/service_management/v1/service_manager/client.rb +1563 -0
  13. data/lib/google/cloud/service_management/v1/service_manager/credentials.rb +54 -0
  14. data/lib/google/cloud/service_management/v1/service_manager/operations.rb +570 -0
  15. data/lib/google/cloud/service_management/v1/version.rb +28 -0
  16. data/proto_docs/README.md +4 -0
  17. data/proto_docs/google/api/auth.rb +192 -0
  18. data/proto_docs/google/api/backend.rb +55 -0
  19. data/proto_docs/google/api/billing.rb +69 -0
  20. data/proto_docs/google/api/config_change.rb +89 -0
  21. data/proto_docs/google/api/context.rb +67 -0
  22. data/proto_docs/google/api/control.rb +34 -0
  23. data/proto_docs/google/api/documentation.rb +164 -0
  24. data/proto_docs/google/api/endpoint.rb +70 -0
  25. data/proto_docs/google/api/field_behavior.rb +59 -0
  26. data/proto_docs/google/api/label.rb +49 -0
  27. data/proto_docs/google/api/log.rb +54 -0
  28. data/proto_docs/google/api/logging.rb +85 -0
  29. data/proto_docs/google/api/metric.rb +203 -0
  30. data/proto_docs/google/api/monitored_resource.rb +137 -0
  31. data/proto_docs/google/api/monitoring.rb +91 -0
  32. data/proto_docs/google/api/quota.rb +281 -0
  33. data/proto_docs/google/api/resource.rb +283 -0
  34. data/proto_docs/google/api/service.rb +151 -0
  35. data/proto_docs/google/api/servicemanagement/v1/resources.rb +326 -0
  36. data/proto_docs/google/api/servicemanagement/v1/servicemanager.rb +370 -0
  37. data/proto_docs/google/api/source_info.rb +31 -0
  38. data/proto_docs/google/api/system_parameter.rb +103 -0
  39. data/proto_docs/google/api/usage.rb +94 -0
  40. data/proto_docs/google/longrunning/operations.rb +150 -0
  41. data/proto_docs/google/protobuf/any.rb +138 -0
  42. data/proto_docs/google/protobuf/api.rb +194 -0
  43. data/proto_docs/google/protobuf/empty.rb +36 -0
  44. data/proto_docs/google/protobuf/field_mask.rb +229 -0
  45. data/proto_docs/google/protobuf/source_context.rb +33 -0
  46. data/proto_docs/google/protobuf/struct.rb +96 -0
  47. data/proto_docs/google/protobuf/timestamp.rb +120 -0
  48. data/proto_docs/google/protobuf/type.rb +223 -0
  49. data/proto_docs/google/protobuf/wrappers.rb +121 -0
  50. data/proto_docs/google/rpc/status.rb +46 -0
  51. metadata +232 -0
@@ -0,0 +1,283 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2020 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 Api
22
+ # A simple descriptor of a resource type.
23
+ #
24
+ # ResourceDescriptor annotates a resource message (either by means of a
25
+ # protobuf annotation or use in the service config), and associates the
26
+ # resource's schema, the resource type, and the pattern of the resource name.
27
+ #
28
+ # Example:
29
+ #
30
+ # message Topic {
31
+ # // Indicates this message defines a resource schema.
32
+ # // Declares the resource type in the format of {service}/{kind}.
33
+ # // For Kubernetes resources, the format is {api group}/{kind}.
34
+ # option (google.api.resource) = {
35
+ # type: "pubsub.googleapis.com/Topic"
36
+ # name_descriptor: {
37
+ # pattern: "projects/{project}/topics/{topic}"
38
+ # parent_type: "cloudresourcemanager.googleapis.com/Project"
39
+ # parent_name_extractor: "projects/{project}"
40
+ # }
41
+ # };
42
+ # }
43
+ #
44
+ # The ResourceDescriptor Yaml config will look like:
45
+ #
46
+ # resources:
47
+ # - type: "pubsub.googleapis.com/Topic"
48
+ # name_descriptor:
49
+ # - pattern: "projects/{project}/topics/{topic}"
50
+ # parent_type: "cloudresourcemanager.googleapis.com/Project"
51
+ # parent_name_extractor: "projects/{project}"
52
+ #
53
+ # Sometimes, resources have multiple patterns, typically because they can
54
+ # live under multiple parents.
55
+ #
56
+ # Example:
57
+ #
58
+ # message LogEntry {
59
+ # option (google.api.resource) = {
60
+ # type: "logging.googleapis.com/LogEntry"
61
+ # name_descriptor: {
62
+ # pattern: "projects/{project}/logs/{log}"
63
+ # parent_type: "cloudresourcemanager.googleapis.com/Project"
64
+ # parent_name_extractor: "projects/{project}"
65
+ # }
66
+ # name_descriptor: {
67
+ # pattern: "folders/{folder}/logs/{log}"
68
+ # parent_type: "cloudresourcemanager.googleapis.com/Folder"
69
+ # parent_name_extractor: "folders/{folder}"
70
+ # }
71
+ # name_descriptor: {
72
+ # pattern: "organizations/{organization}/logs/{log}"
73
+ # parent_type: "cloudresourcemanager.googleapis.com/Organization"
74
+ # parent_name_extractor: "organizations/{organization}"
75
+ # }
76
+ # name_descriptor: {
77
+ # pattern: "billingAccounts/{billing_account}/logs/{log}"
78
+ # parent_type: "billing.googleapis.com/BillingAccount"
79
+ # parent_name_extractor: "billingAccounts/{billing_account}"
80
+ # }
81
+ # };
82
+ # }
83
+ #
84
+ # The ResourceDescriptor Yaml config will look like:
85
+ #
86
+ # resources:
87
+ # - type: 'logging.googleapis.com/LogEntry'
88
+ # name_descriptor:
89
+ # - pattern: "projects/{project}/logs/{log}"
90
+ # parent_type: "cloudresourcemanager.googleapis.com/Project"
91
+ # parent_name_extractor: "projects/{project}"
92
+ # - pattern: "folders/{folder}/logs/{log}"
93
+ # parent_type: "cloudresourcemanager.googleapis.com/Folder"
94
+ # parent_name_extractor: "folders/{folder}"
95
+ # - pattern: "organizations/{organization}/logs/{log}"
96
+ # parent_type: "cloudresourcemanager.googleapis.com/Organization"
97
+ # parent_name_extractor: "organizations/{organization}"
98
+ # - pattern: "billingAccounts/{billing_account}/logs/{log}"
99
+ # parent_type: "billing.googleapis.com/BillingAccount"
100
+ # parent_name_extractor: "billingAccounts/{billing_account}"
101
+ #
102
+ # For flexible resources, the resource name doesn't contain parent names, but
103
+ # the resource itself has parents for policy evaluation.
104
+ #
105
+ # Example:
106
+ #
107
+ # message Shelf {
108
+ # option (google.api.resource) = {
109
+ # type: "library.googleapis.com/Shelf"
110
+ # name_descriptor: {
111
+ # pattern: "shelves/{shelf}"
112
+ # parent_type: "cloudresourcemanager.googleapis.com/Project"
113
+ # }
114
+ # name_descriptor: {
115
+ # pattern: "shelves/{shelf}"
116
+ # parent_type: "cloudresourcemanager.googleapis.com/Folder"
117
+ # }
118
+ # };
119
+ # }
120
+ #
121
+ # The ResourceDescriptor Yaml config will look like:
122
+ #
123
+ # resources:
124
+ # - type: 'library.googleapis.com/Shelf'
125
+ # name_descriptor:
126
+ # - pattern: "shelves/{shelf}"
127
+ # parent_type: "cloudresourcemanager.googleapis.com/Project"
128
+ # - pattern: "shelves/{shelf}"
129
+ # parent_type: "cloudresourcemanager.googleapis.com/Folder"
130
+ # @!attribute [rw] type
131
+ # @return [::String]
132
+ # The resource type. It must be in the format of
133
+ # \\{service_name}/\\{resource_type_kind}. The `resource_type_kind` must be
134
+ # singular and must not include version numbers.
135
+ #
136
+ # Example: `storage.googleapis.com/Bucket`
137
+ #
138
+ # The value of the resource_type_kind must follow the regular expression
139
+ # /[A-Za-z][a-zA-Z0-9]+/. It should start with an upper case character and
140
+ # should use PascalCase (UpperCamelCase). The maximum number of
141
+ # characters allowed for the `resource_type_kind` is 100.
142
+ # @!attribute [rw] pattern
143
+ # @return [::Array<::String>]
144
+ # Optional. The relative resource name pattern associated with this resource
145
+ # type. The DNS prefix of the full resource name shouldn't be specified here.
146
+ #
147
+ # The path pattern must follow the syntax, which aligns with HTTP binding
148
+ # syntax:
149
+ #
150
+ # Template = Segment { "/" Segment } ;
151
+ # Segment = LITERAL | Variable ;
152
+ # Variable = "{" LITERAL "}" ;
153
+ #
154
+ # Examples:
155
+ #
156
+ # - "projects/\\{project}/topics/\\{topic}"
157
+ # - "projects/\\{project}/knowledgeBases/\\{knowledge_base}"
158
+ #
159
+ # The components in braces correspond to the IDs for each resource in the
160
+ # hierarchy. It is expected that, if multiple patterns are provided,
161
+ # the same component name (e.g. "project") refers to IDs of the same
162
+ # type of resource.
163
+ # @!attribute [rw] name_field
164
+ # @return [::String]
165
+ # Optional. The field on the resource that designates the resource name
166
+ # field. If omitted, this is assumed to be "name".
167
+ # @!attribute [rw] history
168
+ # @return [::Google::Api::ResourceDescriptor::History]
169
+ # Optional. The historical or future-looking state of the resource pattern.
170
+ #
171
+ # Example:
172
+ #
173
+ # // The InspectTemplate message originally only supported resource
174
+ # // names with organization, and project was added later.
175
+ # message InspectTemplate {
176
+ # option (google.api.resource) = {
177
+ # type: "dlp.googleapis.com/InspectTemplate"
178
+ # pattern:
179
+ # "organizations/{organization}/inspectTemplates/{inspect_template}"
180
+ # pattern: "projects/{project}/inspectTemplates/{inspect_template}"
181
+ # history: ORIGINALLY_SINGLE_PATTERN
182
+ # };
183
+ # }
184
+ # @!attribute [rw] plural
185
+ # @return [::String]
186
+ # The plural name used in the resource name and permission names, such as
187
+ # 'projects' for the resource name of 'projects/\\{project}' and the permission
188
+ # name of 'cloudresourcemanager.googleapis.com/projects.get'. It is the same
189
+ # concept of the `plural` field in k8s CRD spec
190
+ # https://kubernetes.io/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definitions/
191
+ #
192
+ # Note: The plural form is required even for singleton resources. See
193
+ # https://aip.dev/156
194
+ # @!attribute [rw] singular
195
+ # @return [::String]
196
+ # The same concept of the `singular` field in k8s CRD spec
197
+ # https://kubernetes.io/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definitions/
198
+ # Such as "project" for the `resourcemanager.googleapis.com/Project` type.
199
+ # @!attribute [rw] style
200
+ # @return [::Array<::Google::Api::ResourceDescriptor::Style>]
201
+ # Style flag(s) for this resource.
202
+ # These indicate that a resource is expected to conform to a given
203
+ # style. See the specific style flags for additional information.
204
+ class ResourceDescriptor
205
+ include ::Google::Protobuf::MessageExts
206
+ extend ::Google::Protobuf::MessageExts::ClassMethods
207
+
208
+ # A description of the historical or future-looking state of the
209
+ # resource pattern.
210
+ module History
211
+ # The "unset" value.
212
+ HISTORY_UNSPECIFIED = 0
213
+
214
+ # The resource originally had one pattern and launched as such, and
215
+ # additional patterns were added later.
216
+ ORIGINALLY_SINGLE_PATTERN = 1
217
+
218
+ # The resource has one pattern, but the API owner expects to add more
219
+ # later. (This is the inverse of ORIGINALLY_SINGLE_PATTERN, and prevents
220
+ # that from being necessary once there are multiple patterns.)
221
+ FUTURE_MULTI_PATTERN = 2
222
+ end
223
+
224
+ # A flag representing a specific style that a resource claims to conform to.
225
+ module Style
226
+ # The unspecified value. Do not use.
227
+ STYLE_UNSPECIFIED = 0
228
+
229
+ # This resource is intended to be "declarative-friendly".
230
+ #
231
+ # Declarative-friendly resources must be more strictly consistent, and
232
+ # setting this to true communicates to tools that this resource should
233
+ # adhere to declarative-friendly expectations.
234
+ #
235
+ # Note: This is used by the API linter (linter.aip.dev) to enable
236
+ # additional checks.
237
+ DECLARATIVE_FRIENDLY = 1
238
+ end
239
+ end
240
+
241
+ # Defines a proto annotation that describes a string field that refers to
242
+ # an API resource.
243
+ # @!attribute [rw] type
244
+ # @return [::String]
245
+ # The resource type that the annotated field references.
246
+ #
247
+ # Example:
248
+ #
249
+ # message Subscription {
250
+ # string topic = 2 [(google.api.resource_reference) = {
251
+ # type: "pubsub.googleapis.com/Topic"
252
+ # }];
253
+ # }
254
+ #
255
+ # Occasionally, a field may reference an arbitrary resource. In this case,
256
+ # APIs use the special value * in their resource reference.
257
+ #
258
+ # Example:
259
+ #
260
+ # message GetIamPolicyRequest {
261
+ # string resource = 2 [(google.api.resource_reference) = {
262
+ # type: "*"
263
+ # }];
264
+ # }
265
+ # @!attribute [rw] child_type
266
+ # @return [::String]
267
+ # The resource type of a child collection that the annotated field
268
+ # references. This is useful for annotating the `parent` field that
269
+ # doesn't have a fixed resource type.
270
+ #
271
+ # Example:
272
+ #
273
+ # message ListLogEntriesRequest {
274
+ # string parent = 1 [(google.api.resource_reference) = {
275
+ # child_type: "logging.googleapis.com/LogEntry"
276
+ # };
277
+ # }
278
+ class ResourceReference
279
+ include ::Google::Protobuf::MessageExts
280
+ extend ::Google::Protobuf::MessageExts::ClassMethods
281
+ end
282
+ end
283
+ end
@@ -0,0 +1,151 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2020 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 Api
22
+ # `Service` is the root object of Google service configuration schema. It
23
+ # describes basic information about a service, such as the name and the
24
+ # title, and delegates other aspects to sub-sections. Each sub-section is
25
+ # either a proto message or a repeated proto message that configures a
26
+ # specific aspect, such as auth. See each proto message definition for details.
27
+ #
28
+ # Example:
29
+ #
30
+ # type: google.api.Service
31
+ # config_version: 3
32
+ # name: calendar.googleapis.com
33
+ # title: Google Calendar API
34
+ # apis:
35
+ # - name: google.calendar.v3.Calendar
36
+ # authentication:
37
+ # providers:
38
+ # - id: google_calendar_auth
39
+ # jwks_uri: https://www.googleapis.com/oauth2/v1/certs
40
+ # issuer: https://securetoken.google.com
41
+ # rules:
42
+ # - selector: "*"
43
+ # requirements:
44
+ # provider_id: google_calendar_auth
45
+ # @!attribute [rw] config_version
46
+ # @return [::Google::Protobuf::UInt32Value]
47
+ # The semantic version of the service configuration. The config version
48
+ # affects the interpretation of the service configuration. For example,
49
+ # certain features are enabled by default for certain config versions.
50
+ # The latest config version is `3`.
51
+ # @!attribute [rw] name
52
+ # @return [::String]
53
+ # The DNS address at which this service is available,
54
+ # e.g. `calendar.googleapis.com`.
55
+ # @!attribute [rw] id
56
+ # @return [::String]
57
+ # A unique ID for a specific instance of this message, typically assigned
58
+ # by the client for tracking purpose. If empty, the server may choose to
59
+ # generate one instead.
60
+ # @!attribute [rw] title
61
+ # @return [::String]
62
+ # The product title for this service.
63
+ # @!attribute [rw] producer_project_id
64
+ # @return [::String]
65
+ # The Google project that owns this service.
66
+ # @!attribute [rw] apis
67
+ # @return [::Array<::Google::Protobuf::Api>]
68
+ # A list of API interfaces exported by this service. Only the `name` field
69
+ # of the {::Google::Protobuf::Api google.protobuf.Api} needs to be provided by the configuration
70
+ # author, as the remaining fields will be derived from the IDL during the
71
+ # normalization process. It is an error to specify an API interface here
72
+ # which cannot be resolved against the associated IDL files.
73
+ # @!attribute [rw] types
74
+ # @return [::Array<::Google::Protobuf::Type>]
75
+ # A list of all proto message types included in this API service.
76
+ # Types referenced directly or indirectly by the `apis` are
77
+ # automatically included. Messages which are not referenced but
78
+ # shall be included, such as types used by the `google.protobuf.Any` type,
79
+ # should be listed here by name. Example:
80
+ #
81
+ # types:
82
+ # - name: google.protobuf.Int32
83
+ # @!attribute [rw] enums
84
+ # @return [::Array<::Google::Protobuf::Enum>]
85
+ # A list of all enum types included in this API service. Enums
86
+ # referenced directly or indirectly by the `apis` are automatically
87
+ # included. Enums which are not referenced but shall be included
88
+ # should be listed here by name. Example:
89
+ #
90
+ # enums:
91
+ # - name: google.someapi.v1.SomeEnum
92
+ # @!attribute [rw] documentation
93
+ # @return [::Google::Api::Documentation]
94
+ # Additional API documentation.
95
+ # @!attribute [rw] backend
96
+ # @return [::Google::Api::Backend]
97
+ # API backend configuration.
98
+ # @!attribute [rw] http
99
+ # @return [::Google::Api::Http]
100
+ # HTTP configuration.
101
+ # @!attribute [rw] quota
102
+ # @return [::Google::Api::Quota]
103
+ # Quota configuration.
104
+ # @!attribute [rw] authentication
105
+ # @return [::Google::Api::Authentication]
106
+ # Auth configuration.
107
+ # @!attribute [rw] context
108
+ # @return [::Google::Api::Context]
109
+ # Context configuration.
110
+ # @!attribute [rw] usage
111
+ # @return [::Google::Api::Usage]
112
+ # Configuration controlling usage of this service.
113
+ # @!attribute [rw] endpoints
114
+ # @return [::Array<::Google::Api::Endpoint>]
115
+ # Configuration for network endpoints. If this is empty, then an endpoint
116
+ # with the same name as the service is automatically generated to service all
117
+ # defined APIs.
118
+ # @!attribute [rw] control
119
+ # @return [::Google::Api::Control]
120
+ # Configuration for the service control plane.
121
+ # @!attribute [rw] logs
122
+ # @return [::Array<::Google::Api::LogDescriptor>]
123
+ # Defines the logs used by this service.
124
+ # @!attribute [rw] metrics
125
+ # @return [::Array<::Google::Api::MetricDescriptor>]
126
+ # Defines the metrics used by this service.
127
+ # @!attribute [rw] monitored_resources
128
+ # @return [::Array<::Google::Api::MonitoredResourceDescriptor>]
129
+ # Defines the monitored resources used by this service. This is required
130
+ # by the {::Google::Api::Service#monitoring Service.monitoring} and {::Google::Api::Service#logging Service.logging} configurations.
131
+ # @!attribute [rw] billing
132
+ # @return [::Google::Api::Billing]
133
+ # Billing configuration.
134
+ # @!attribute [rw] logging
135
+ # @return [::Google::Api::Logging]
136
+ # Logging configuration.
137
+ # @!attribute [rw] monitoring
138
+ # @return [::Google::Api::Monitoring]
139
+ # Monitoring configuration.
140
+ # @!attribute [rw] system_parameters
141
+ # @return [::Google::Api::SystemParameters]
142
+ # System parameter configuration.
143
+ # @!attribute [rw] source_info
144
+ # @return [::Google::Api::SourceInfo]
145
+ # Output only. The source information for this configuration if available.
146
+ class Service
147
+ include ::Google::Protobuf::MessageExts
148
+ extend ::Google::Protobuf::MessageExts::ClassMethods
149
+ end
150
+ end
151
+ end
@@ -0,0 +1,326 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2020 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 ServiceManagement
23
+ module V1
24
+ # The full representation of a Service that is managed by
25
+ # Google Service Management.
26
+ # @!attribute [rw] service_name
27
+ # @return [::String]
28
+ # The name of the service. See the [overview](/service-management/overview)
29
+ # for naming requirements.
30
+ # @!attribute [rw] producer_project_id
31
+ # @return [::String]
32
+ # ID of the project that produces and owns this service.
33
+ class ManagedService
34
+ include ::Google::Protobuf::MessageExts
35
+ extend ::Google::Protobuf::MessageExts::ClassMethods
36
+ end
37
+
38
+ # The metadata associated with a long running operation resource.
39
+ # @!attribute [rw] resource_names
40
+ # @return [::Array<::String>]
41
+ # The full name of the resources that this operation is directly
42
+ # associated with.
43
+ # @!attribute [rw] steps
44
+ # @return [::Array<::Google::Cloud::ServiceManagement::V1::OperationMetadata::Step>]
45
+ # Detailed status information for each step. The order is undetermined.
46
+ # @!attribute [rw] progress_percentage
47
+ # @return [::Integer]
48
+ # Percentage of completion of this operation, ranging from 0 to 100.
49
+ # @!attribute [rw] start_time
50
+ # @return [::Google::Protobuf::Timestamp]
51
+ # The start time of the operation.
52
+ class OperationMetadata
53
+ include ::Google::Protobuf::MessageExts
54
+ extend ::Google::Protobuf::MessageExts::ClassMethods
55
+
56
+ # Represents the status of one operation step.
57
+ # @!attribute [rw] description
58
+ # @return [::String]
59
+ # The short description of the step.
60
+ # @!attribute [rw] status
61
+ # @return [::Google::Cloud::ServiceManagement::V1::OperationMetadata::Status]
62
+ # The status code.
63
+ class Step
64
+ include ::Google::Protobuf::MessageExts
65
+ extend ::Google::Protobuf::MessageExts::ClassMethods
66
+ end
67
+
68
+ # Code describes the status of the operation (or one of its steps).
69
+ module Status
70
+ # Unspecifed code.
71
+ STATUS_UNSPECIFIED = 0
72
+
73
+ # The operation or step has completed without errors.
74
+ DONE = 1
75
+
76
+ # The operation or step has not started yet.
77
+ NOT_STARTED = 2
78
+
79
+ # The operation or step is in progress.
80
+ IN_PROGRESS = 3
81
+
82
+ # The operation or step has completed with errors. If the operation is
83
+ # rollbackable, the rollback completed with errors too.
84
+ FAILED = 4
85
+
86
+ # The operation or step has completed with cancellation.
87
+ CANCELLED = 5
88
+ end
89
+ end
90
+
91
+ # Represents a diagnostic message (error or warning)
92
+ # @!attribute [rw] location
93
+ # @return [::String]
94
+ # File name and line number of the error or warning.
95
+ # @!attribute [rw] kind
96
+ # @return [::Google::Cloud::ServiceManagement::V1::Diagnostic::Kind]
97
+ # The kind of diagnostic information provided.
98
+ # @!attribute [rw] message
99
+ # @return [::String]
100
+ # Message describing the error or warning.
101
+ class Diagnostic
102
+ include ::Google::Protobuf::MessageExts
103
+ extend ::Google::Protobuf::MessageExts::ClassMethods
104
+
105
+ # The kind of diagnostic information possible.
106
+ module Kind
107
+ # Warnings and errors
108
+ WARNING = 0
109
+
110
+ # Only errors
111
+ ERROR = 1
112
+ end
113
+ end
114
+
115
+ # Represents a source file which is used to generate the service configuration
116
+ # defined by `google.api.Service`.
117
+ # @!attribute [rw] id
118
+ # @return [::String]
119
+ # A unique ID for a specific instance of this message, typically assigned
120
+ # by the client for tracking purpose. If empty, the server may choose to
121
+ # generate one instead.
122
+ # @!attribute [rw] files
123
+ # @return [::Array<::Google::Cloud::ServiceManagement::V1::ConfigFile>]
124
+ # Set of source configuration files that are used to generate a service
125
+ # configuration (`google.api.Service`).
126
+ class ConfigSource
127
+ include ::Google::Protobuf::MessageExts
128
+ extend ::Google::Protobuf::MessageExts::ClassMethods
129
+ end
130
+
131
+ # Generic specification of a source configuration file
132
+ # @!attribute [rw] file_path
133
+ # @return [::String]
134
+ # The file name of the configuration file (full or relative path).
135
+ # @!attribute [rw] file_contents
136
+ # @return [::String]
137
+ # The bytes that constitute the file.
138
+ # @!attribute [rw] file_type
139
+ # @return [::Google::Cloud::ServiceManagement::V1::ConfigFile::FileType]
140
+ # The type of configuration file this represents.
141
+ class ConfigFile
142
+ include ::Google::Protobuf::MessageExts
143
+ extend ::Google::Protobuf::MessageExts::ClassMethods
144
+
145
+ module FileType
146
+ # Unknown file type.
147
+ FILE_TYPE_UNSPECIFIED = 0
148
+
149
+ # YAML-specification of service.
150
+ SERVICE_CONFIG_YAML = 1
151
+
152
+ # OpenAPI specification, serialized in JSON.
153
+ OPEN_API_JSON = 2
154
+
155
+ # OpenAPI specification, serialized in YAML.
156
+ OPEN_API_YAML = 3
157
+
158
+ # FileDescriptorSet, generated by protoc.
159
+ #
160
+ # To generate, use protoc with imports and source info included.
161
+ # For an example test.proto file, the following command would put the value
162
+ # in a new file named out.pb.
163
+ #
164
+ # $protoc --include_imports --include_source_info test.proto -o out.pb
165
+ FILE_DESCRIPTOR_SET_PROTO = 4
166
+
167
+ # Uncompiled Proto file. Used for storage and display purposes only,
168
+ # currently server-side compilation is not supported. Should match the
169
+ # inputs to 'protoc' command used to generated FILE_DESCRIPTOR_SET_PROTO. A
170
+ # file of this type can only be included if at least one file of type
171
+ # FILE_DESCRIPTOR_SET_PROTO is included.
172
+ PROTO_FILE = 6
173
+ end
174
+ end
175
+
176
+ # Represents a service configuration with its name and id.
177
+ # @!attribute [rw] name
178
+ # @return [::String]
179
+ # Resource name of a service config. It must have the following
180
+ # format: "services/\\{service name}/configs/\\{config id}".
181
+ class ConfigRef
182
+ include ::Google::Protobuf::MessageExts
183
+ extend ::Google::Protobuf::MessageExts::ClassMethods
184
+ end
185
+
186
+ # Change report associated with a particular service configuration.
187
+ #
188
+ # It contains a list of ConfigChanges based on the comparison between
189
+ # two service configurations.
190
+ # @!attribute [rw] config_changes
191
+ # @return [::Array<::Google::Api::ConfigChange>]
192
+ # List of changes between two service configurations.
193
+ # The changes will be alphabetically sorted based on the identifier
194
+ # of each change.
195
+ # A ConfigChange identifier is a dot separated path to the configuration.
196
+ # Example: visibility.rules[selector='LibraryService.CreateBook'].restriction
197
+ class ChangeReport
198
+ include ::Google::Protobuf::MessageExts
199
+ extend ::Google::Protobuf::MessageExts::ClassMethods
200
+ end
201
+
202
+ # A rollout resource that defines how service configuration versions are pushed
203
+ # to control plane systems. Typically, you create a new version of the
204
+ # service config, and then create a Rollout to push the service config.
205
+ # @!attribute [rw] rollout_id
206
+ # @return [::String]
207
+ # Optional. Unique identifier of this Rollout. Must be no longer than 63 characters
208
+ # and only lower case letters, digits, '.', '_' and '-' are allowed.
209
+ #
210
+ # If not specified by client, the server will generate one. The generated id
211
+ # will have the form of <date><revision number>, where "date" is the create
212
+ # date in ISO 8601 format. "revision number" is a monotonically increasing
213
+ # positive number that is reset every day for each service.
214
+ # An example of the generated rollout_id is '2016-02-16r1'
215
+ # @!attribute [rw] create_time
216
+ # @return [::Google::Protobuf::Timestamp]
217
+ # Creation time of the rollout. Readonly.
218
+ # @!attribute [rw] created_by
219
+ # @return [::String]
220
+ # The user who created the Rollout. Readonly.
221
+ # @!attribute [rw] status
222
+ # @return [::Google::Cloud::ServiceManagement::V1::Rollout::RolloutStatus]
223
+ # The status of this rollout. Readonly. In case of a failed rollout,
224
+ # the system will automatically rollback to the current Rollout
225
+ # version. Readonly.
226
+ # @!attribute [rw] traffic_percent_strategy
227
+ # @return [::Google::Cloud::ServiceManagement::V1::Rollout::TrafficPercentStrategy]
228
+ # Google Service Control selects service configurations based on
229
+ # traffic percentage.
230
+ # @!attribute [rw] delete_service_strategy
231
+ # @return [::Google::Cloud::ServiceManagement::V1::Rollout::DeleteServiceStrategy]
232
+ # The strategy associated with a rollout to delete a `ManagedService`.
233
+ # Readonly.
234
+ # @!attribute [rw] service_name
235
+ # @return [::String]
236
+ # The name of the service associated with this Rollout.
237
+ class Rollout
238
+ include ::Google::Protobuf::MessageExts
239
+ extend ::Google::Protobuf::MessageExts::ClassMethods
240
+
241
+ # Strategy that specifies how clients of Google Service Controller want to
242
+ # send traffic to use different config versions. This is generally
243
+ # used by API proxy to split traffic based on your configured percentage for
244
+ # each config version.
245
+ #
246
+ # One example of how to gradually rollout a new service configuration using
247
+ # this
248
+ # strategy:
249
+ # Day 1
250
+ #
251
+ # Rollout {
252
+ # id: "example.googleapis.com/rollout_20160206"
253
+ # traffic_percent_strategy {
254
+ # percentages: {
255
+ # "example.googleapis.com/20160201": 70.00
256
+ # "example.googleapis.com/20160206": 30.00
257
+ # }
258
+ # }
259
+ # }
260
+ #
261
+ # Day 2
262
+ #
263
+ # Rollout {
264
+ # id: "example.googleapis.com/rollout_20160207"
265
+ # traffic_percent_strategy: {
266
+ # percentages: {
267
+ # "example.googleapis.com/20160206": 100.00
268
+ # }
269
+ # }
270
+ # }
271
+ # @!attribute [rw] percentages
272
+ # @return [::Google::Protobuf::Map{::String => ::Float}]
273
+ # Maps service configuration IDs to their corresponding traffic percentage.
274
+ # Key is the service configuration ID, Value is the traffic percentage
275
+ # which must be greater than 0.0 and the sum must equal to 100.0.
276
+ class TrafficPercentStrategy
277
+ include ::Google::Protobuf::MessageExts
278
+ extend ::Google::Protobuf::MessageExts::ClassMethods
279
+
280
+ # @!attribute [rw] key
281
+ # @return [::String]
282
+ # @!attribute [rw] value
283
+ # @return [::Float]
284
+ class PercentagesEntry
285
+ include ::Google::Protobuf::MessageExts
286
+ extend ::Google::Protobuf::MessageExts::ClassMethods
287
+ end
288
+ end
289
+
290
+ # Strategy used to delete a service. This strategy is a placeholder only
291
+ # used by the system generated rollout to delete a service.
292
+ class DeleteServiceStrategy
293
+ include ::Google::Protobuf::MessageExts
294
+ extend ::Google::Protobuf::MessageExts::ClassMethods
295
+ end
296
+
297
+ # Status of a Rollout.
298
+ module RolloutStatus
299
+ # No status specified.
300
+ ROLLOUT_STATUS_UNSPECIFIED = 0
301
+
302
+ # The Rollout is in progress.
303
+ IN_PROGRESS = 1
304
+
305
+ # The Rollout has completed successfully.
306
+ SUCCESS = 2
307
+
308
+ # The Rollout has been cancelled. This can happen if you have overlapping
309
+ # Rollout pushes, and the previous ones will be cancelled.
310
+ CANCELLED = 3
311
+
312
+ # The Rollout has failed and the rollback attempt has failed too.
313
+ FAILED = 4
314
+
315
+ # The Rollout has not started yet and is pending for execution.
316
+ PENDING = 5
317
+
318
+ # The Rollout has failed and rolled back to the previous successful
319
+ # Rollout.
320
+ FAILED_ROLLED_BACK = 6
321
+ end
322
+ end
323
+ end
324
+ end
325
+ end
326
+ end