aboutsummaryrefslogtreecommitdiffhomepage
path: root/third_party/googleapis/google/api/servicemanagement/v1/resources.proto
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/googleapis/google/api/servicemanagement/v1/resources.proto')
-rw-r--r--third_party/googleapis/google/api/servicemanagement/v1/resources.proto286
1 files changed, 286 insertions, 0 deletions
diff --git a/third_party/googleapis/google/api/servicemanagement/v1/resources.proto b/third_party/googleapis/google/api/servicemanagement/v1/resources.proto
new file mode 100644
index 0000000000..0d0f34d62e
--- /dev/null
+++ b/third_party/googleapis/google/api/servicemanagement/v1/resources.proto
@@ -0,0 +1,286 @@
+// Copyright 2016 Google Inc.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+syntax = "proto3";
+
+package google.api.servicemanagement.v1;
+
+import "google/api/annotations.proto";
+import "google/api/config_change.proto";
+import "google/api/service.proto";
+import "google/longrunning/operations.proto";
+import "google/protobuf/any.proto";
+import "google/protobuf/field_mask.proto";
+import "google/protobuf/struct.proto";
+import "google/protobuf/timestamp.proto";
+import "google/rpc/status.proto";
+
+option go_package = "google.golang.org/genproto/googleapis/api/servicemanagement/v1;servicemanagement";
+option java_multiple_files = true;
+option java_outer_classname = "ResourcesProto";
+option java_package = "com.google.api.servicemanagement.v1";
+option objc_class_prefix = "GASM";
+
+
+// The full representation of a Service that is managed by
+// Google Service Management.
+message ManagedService {
+ // The name of the service. See the [overview](/service-management/overview)
+ // for naming requirements.
+ string service_name = 2;
+
+ // ID of the project that produces and owns this service.
+ string producer_project_id = 3;
+}
+
+// The metadata associated with a long running operation resource.
+message OperationMetadata {
+ // Represents the status of one operation step.
+ message Step {
+ // The short description of the step.
+ string description = 2;
+
+ // The status code.
+ Status status = 4;
+ }
+
+ // Code describes the status of one operation step.
+ enum Status {
+ // Unspecifed code.
+ STATUS_UNSPECIFIED = 0;
+
+ // The step has completed without errors.
+ DONE = 1;
+
+ // The step has not started yet.
+ NOT_STARTED = 2;
+
+ // The step is in progress.
+ IN_PROGRESS = 3;
+
+ // The step has completed with errors.
+ FAILED = 4;
+
+ // The step has completed with cancellation.
+ CANCELLED = 5;
+ }
+
+ // The full name of the resources that this operation is directly
+ // associated with.
+ repeated string resource_names = 1;
+
+ // Detailed status information for each step. The order is undetermined.
+ repeated Step steps = 2;
+
+ // Percentage of completion of this operation, ranging from 0 to 100.
+ int32 progress_percentage = 3;
+
+ // The start time of the operation.
+ google.protobuf.Timestamp start_time = 4;
+}
+
+// Represents a diagnostic message (error or warning)
+message Diagnostic {
+ // The kind of diagnostic information possible.
+ enum Kind {
+ // Warnings and errors
+ WARNING = 0;
+
+ // Only errors
+ ERROR = 1;
+ }
+
+ // File name and line number of the error or warning.
+ string location = 1;
+
+ // The kind of diagnostic information provided.
+ Kind kind = 2;
+
+ // Message describing the error or warning.
+ string message = 3;
+}
+
+// Represents a source file which is used to generate the service configuration
+// defined by `google.api.Service`.
+message ConfigSource {
+ // A unique ID for a specific instance of this message, typically assigned
+ // by the client for tracking purpose. If empty, the server may choose to
+ // generate one instead.
+ string id = 5;
+
+ // Set of source configuration files that are used to generate a service
+ // configuration (`google.api.Service`).
+ repeated ConfigFile files = 2;
+}
+
+// Generic specification of a source configuration file
+message ConfigFile {
+ enum FileType {
+ // Unknown file type.
+ FILE_TYPE_UNSPECIFIED = 0;
+
+ // YAML-specification of service.
+ SERVICE_CONFIG_YAML = 1;
+
+ // OpenAPI specification, serialized in JSON.
+ OPEN_API_JSON = 2;
+
+ // OpenAPI specification, serialized in YAML.
+ OPEN_API_YAML = 3;
+
+ // FileDescriptorSet, generated by protoc.
+ //
+ // To generate, use protoc with imports and source info included.
+ // For an example test.proto file, the following command would put the value
+ // in a new file named out.pb.
+ //
+ // $protoc --include_imports --include_source_info test.proto -o out.pb
+ FILE_DESCRIPTOR_SET_PROTO = 4;
+ }
+
+ // The file name of the configuration file (full or relative path).
+ string file_path = 1;
+
+ // The bytes that constitute the file.
+ bytes file_contents = 3;
+
+ // The type of configuration file this represents.
+ FileType file_type = 4;
+}
+
+// Represents a service configuration with its name and id.
+message ConfigRef {
+ // Resource name of a service config. It must have the following
+ // format: "services/{service name}/configs/{config id}".
+ string name = 1;
+}
+
+// Change report associated with a particular service configuration.
+//
+// It contains a list of ConfigChanges based on the comparison between
+// two service configurations.
+message ChangeReport {
+ // List of changes between two service configurations.
+ // The changes will be alphabetically sorted based on the identifier
+ // of each change.
+ // A ConfigChange identifier is a dot separated path to the configuration.
+ // Example: visibility.rules[selector='LibraryService.CreateBook'].restriction
+ repeated google.api.ConfigChange config_changes = 1;
+}
+
+// A rollout resource that defines how service configuration versions are pushed
+// to control plane systems. Typically, you create a new version of the
+// service config, and then create a Rollout to push the service config.
+message Rollout {
+ // Strategy that specifies how Google Service Control should select
+ // different
+ // versions of service configurations based on traffic percentage.
+ //
+ // One example of how to gradually rollout a new service configuration using
+ // this
+ // strategy:
+ // Day 1
+ //
+ // Rollout {
+ // id: "example.googleapis.com/rollout_20160206"
+ // traffic_percent_strategy {
+ // percentages: {
+ // "example.googleapis.com/20160201": 70.00
+ // "example.googleapis.com/20160206": 30.00
+ // }
+ // }
+ // }
+ //
+ // Day 2
+ //
+ // Rollout {
+ // id: "example.googleapis.com/rollout_20160207"
+ // traffic_percent_strategy: {
+ // percentages: {
+ // "example.googleapis.com/20160206": 100.00
+ // }
+ // }
+ // }
+ message TrafficPercentStrategy {
+ // Maps service configuration IDs to their corresponding traffic percentage.
+ // Key is the service configuration ID, Value is the traffic percentage
+ // which must be greater than 0.0 and the sum must equal to 100.0.
+ map<string, double> percentages = 1;
+ }
+
+ // Strategy used to delete a service. This strategy is a placeholder only
+ // used by the system generated rollout to delete a service.
+ message DeleteServiceStrategy {
+
+ }
+
+ // Status of a Rollout.
+ enum RolloutStatus {
+ // No status specified.
+ ROLLOUT_STATUS_UNSPECIFIED = 0;
+
+ // The Rollout is in progress.
+ IN_PROGRESS = 1;
+
+ // The Rollout has completed successfully.
+ SUCCESS = 2;
+
+ // The Rollout has been cancelled. This can happen if you have overlapping
+ // Rollout pushes, and the previous ones will be cancelled.
+ CANCELLED = 3;
+
+ // The Rollout has failed. It is typically caused by configuration errors.
+ FAILED = 4;
+
+ // The Rollout has not started yet and is pending for execution.
+ PENDING = 5;
+ }
+
+ // Optional unique identifier of this Rollout. Only lower case letters, digits
+ // and '-' are allowed.
+ //
+ // If not specified by client, the server will generate one. The generated id
+ // will have the form of <date><revision number>, where "date" is the create
+ // date in ISO 8601 format. "revision number" is a monotonically increasing
+ // positive number that is reset every day for each service.
+ // An example of the generated rollout_id is '2016-02-16r1'
+ string rollout_id = 1;
+
+ // Creation time of the rollout. Readonly.
+ google.protobuf.Timestamp create_time = 2;
+
+ // The user who created the Rollout. Readonly.
+ string created_by = 3;
+
+ // The status of this rollout. Readonly. In case of a failed rollout,
+ // the system will automatically rollback to the current Rollout
+ // version. Readonly.
+ RolloutStatus status = 4;
+
+ // Strategy that defines which versions of service configurations should be
+ // pushed
+ // and how they should be used at runtime.
+ oneof strategy {
+ // Google Service Control selects service configurations based on
+ // traffic percentage.
+ TrafficPercentStrategy traffic_percent_strategy = 5;
+
+ // The strategy associated with a rollout to delete a `ManagedService`.
+ // Readonly.
+ DeleteServiceStrategy delete_service_strategy = 200;
+ }
+
+ // The name of the service associated with this Rollout.
+ string service_name = 8;
+}