| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340 |
- // 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.appengine.v1;
- import "google/api/annotations.proto";
- import "google/appengine/v1/application.proto";
- import "google/appengine/v1/instance.proto";
- import "google/appengine/v1/service.proto";
- import "google/appengine/v1/version.proto";
- import "google/iam/v1/iam_policy.proto";
- import "google/iam/v1/policy.proto";
- import "google/longrunning/operations.proto";
- import "google/protobuf/empty.proto";
- import "google/protobuf/field_mask.proto";
- option java_multiple_files = true;
- option java_outer_classname = "AppengineProto";
- option java_package = "com.google.appengine.v1";
- // Manages instances of a version.
- service Instances {
- // Lists the instances of a version.
- rpc ListInstances(ListInstancesRequest) returns (ListInstancesResponse) {
- option (google.api.http) = { get: "/v1/{parent=apps/*/services/*/versions/*}/instances" };
- }
- // Gets instance information.
- rpc GetInstance(GetInstanceRequest) returns (Instance) {
- option (google.api.http) = { get: "/v1/{name=apps/*/services/*/versions/*/instances/*}" };
- }
- // Stops a running instance.
- rpc DeleteInstance(DeleteInstanceRequest) returns (google.longrunning.Operation) {
- option (google.api.http) = { delete: "/v1/{name=apps/*/services/*/versions/*/instances/*}" };
- }
- // Enables debugging on a VM instance. This allows you to use the SSH
- // command to connect to the virtual machine where the instance lives.
- // While in "debug mode", the instance continues to serve live traffic.
- // You should delete the instance when you are done debugging and then
- // allow the system to take over and determine if another instance
- // should be started.
- //
- // Only applicable for instances in App Engine flexible environment.
- rpc DebugInstance(DebugInstanceRequest) returns (google.longrunning.Operation) {
- option (google.api.http) = { post: "/v1/{name=apps/*/services/*/versions/*/instances/*}:debug" body: "*" };
- }
- }
- // Manages versions of a service.
- service Versions {
- // Lists the versions of a service.
- rpc ListVersions(ListVersionsRequest) returns (ListVersionsResponse) {
- option (google.api.http) = { get: "/v1/{parent=apps/*/services/*}/versions" };
- }
- // Gets the specified Version resource.
- // By default, only a `BASIC_VIEW` will be returned.
- // Specify the `FULL_VIEW` parameter to get the full resource.
- rpc GetVersion(GetVersionRequest) returns (Version) {
- option (google.api.http) = { get: "/v1/{name=apps/*/services/*/versions/*}" };
- }
- // Deploys code and resource files to a new version.
- rpc CreateVersion(CreateVersionRequest) returns (google.longrunning.Operation) {
- option (google.api.http) = { post: "/v1/{parent=apps/*/services/*}/versions" body: "version" };
- }
- // Updates the specified Version resource.
- // You can specify the following fields depending on the App Engine
- // environment and type of scaling that the version resource uses:
- //
- // * [`serving_status`](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#Version.FIELDS.serving_status):
- // For Version resources that use basic scaling, manual scaling, or run in
- // the App Engine flexible environment.
- // * [`instance_class`](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#Version.FIELDS.instance_class):
- // For Version resources that run in the App Engine standard environment.
- // * [`automatic_scaling.min_idle_instances`](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#Version.FIELDS.automatic_scaling):
- // For Version resources that use automatic scaling and run in the App
- // Engine standard environment.
- // * [`automatic_scaling.max_idle_instances`](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#Version.FIELDS.automatic_scaling):
- // For Version resources that use automatic scaling and run in the App
- // Engine standard environment.
- rpc UpdateVersion(UpdateVersionRequest) returns (google.longrunning.Operation) {
- option (google.api.http) = { patch: "/v1/{name=apps/*/services/*/versions/*}" body: "version" };
- }
- // Deletes an existing Version resource.
- rpc DeleteVersion(DeleteVersionRequest) returns (google.longrunning.Operation) {
- option (google.api.http) = { delete: "/v1/{name=apps/*/services/*/versions/*}" };
- }
- }
- // Manages services of an application.
- service Services {
- // Lists all the services in the application.
- rpc ListServices(ListServicesRequest) returns (ListServicesResponse) {
- option (google.api.http) = { get: "/v1/{parent=apps/*}/services" };
- }
- // Gets the current configuration of the specified service.
- rpc GetService(GetServiceRequest) returns (Service) {
- option (google.api.http) = { get: "/v1/{name=apps/*/services/*}" };
- }
- // Updates the configuration of the specified service.
- rpc UpdateService(UpdateServiceRequest) returns (google.longrunning.Operation) {
- option (google.api.http) = { patch: "/v1/{name=apps/*/services/*}" body: "service" };
- }
- // Deletes the specified service and all enclosed versions.
- rpc DeleteService(DeleteServiceRequest) returns (google.longrunning.Operation) {
- option (google.api.http) = { delete: "/v1/{name=apps/*/services/*}" };
- }
- }
- // Manages App Engine applications.
- service Applications {
- // Gets information about an application.
- rpc GetApplication(GetApplicationRequest) returns (Application) {
- option (google.api.http) = { get: "/v1/{name=apps/*}" };
- }
- // Recreates the required App Engine features for the application in your
- // project, for example a Cloud Storage bucket or App Engine service account.
- // Use this method if you receive an error message about a missing feature,
- // for example "*Error retrieving the App Engine service account*".
- rpc RepairApplication(RepairApplicationRequest) returns (google.longrunning.Operation) {
- option (google.api.http) = { post: "/v1/{name=apps/*}:repair" body: "*" };
- }
- }
- // Request message for `Applications.GetApplication`.
- message GetApplicationRequest {
- // Name of the Application resource to get. Example: `apps/myapp`.
- string name = 1;
- }
- // Request message for 'Applications.RepairApplication'.
- message RepairApplicationRequest {
- // Name of the application to repair. Example: `apps/myapp`
- string name = 1;
- }
- // Request message for `Services.ListServices`.
- message ListServicesRequest {
- // Name of the parent Application resource. Example: `apps/myapp`.
- string parent = 1;
- // Maximum results to return per page.
- int32 page_size = 2;
- // Continuation token for fetching the next page of results.
- string page_token = 3;
- }
- // Response message for `Services.ListServices`.
- message ListServicesResponse {
- // The services belonging to the requested application.
- repeated Service services = 1;
- // Continuation token for fetching the next page of results.
- string next_page_token = 2;
- }
- // Request message for `Services.GetService`.
- message GetServiceRequest {
- // Name of the resource requested. Example: `apps/myapp/services/default`.
- string name = 1;
- }
- // Request message for `Services.UpdateService`.
- message UpdateServiceRequest {
- // Name of the resource to update. Example: `apps/myapp/services/default`.
- string name = 1;
- // A Service resource containing the updated service. Only fields set in the
- // field mask will be updated.
- Service service = 2;
- // Standard field mask for the set of fields to be updated.
- google.protobuf.FieldMask update_mask = 3;
- // Set to `true` to gradually shift traffic from one version to another
- // single version. By default, traffic is shifted immediately.
- // For gradual traffic migration, the target version
- // must be located within instances that are configured for both
- // [warmup requests](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#inboundservicetype)
- // and
- // [automatic scaling](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#automaticscaling).
- // You must specify the
- // [`shardBy`](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services#shardby)
- // field in the Service resource. Gradual traffic migration is not
- // supported in the App Engine flexible environment. For examples, see
- // [Migrating and Splitting Traffic](https://cloud.google.com/appengine/docs/admin-api/migrating-splitting-traffic).
- bool migrate_traffic = 4;
- }
- // Request message for `Services.DeleteService`.
- message DeleteServiceRequest {
- // Name of the resource requested. Example: `apps/myapp/services/default`.
- string name = 1;
- }
- // Request message for `Versions.ListVersions`.
- message ListVersionsRequest {
- // Name of the parent Service resource. Example:
- // `apps/myapp/services/default`.
- string parent = 1;
- // Controls the set of fields returned in the `List` response.
- VersionView view = 2;
- // Maximum results to return per page.
- int32 page_size = 3;
- // Continuation token for fetching the next page of results.
- string page_token = 4;
- }
- // Response message for `Versions.ListVersions`.
- message ListVersionsResponse {
- // The versions belonging to the requested service.
- repeated Version versions = 1;
- // Continuation token for fetching the next page of results.
- string next_page_token = 2;
- }
- // Request message for `Versions.GetVersion`.
- message GetVersionRequest {
- // Name of the resource requested. Example:
- // `apps/myapp/services/default/versions/v1`.
- string name = 1;
- // Controls the set of fields returned in the `Get` response.
- VersionView view = 2;
- }
- // Request message for `Versions.CreateVersion`.
- message CreateVersionRequest {
- // Name of the parent resource to create this version under. Example:
- // `apps/myapp/services/default`.
- string parent = 1;
- // Application deployment configuration.
- Version version = 2;
- }
- // Request message for `Versions.UpdateVersion`.
- message UpdateVersionRequest {
- // Name of the resource to update. Example:
- // `apps/myapp/services/default/versions/1`.
- string name = 1;
- // A Version containing the updated resource. Only fields set in the field
- // mask will be updated.
- Version version = 2;
- // Standard field mask for the set of fields to be updated.
- google.protobuf.FieldMask update_mask = 3;
- }
- // Request message for `Versions.DeleteVersion`.
- message DeleteVersionRequest {
- // Name of the resource requested. Example:
- // `apps/myapp/services/default/versions/v1`.
- string name = 1;
- }
- // Request message for `Instances.ListInstances`.
- message ListInstancesRequest {
- // Name of the parent Version resource. Example:
- // `apps/myapp/services/default/versions/v1`.
- string parent = 1;
- // Maximum results to return per page.
- int32 page_size = 2;
- // Continuation token for fetching the next page of results.
- string page_token = 3;
- }
- // Response message for `Instances.ListInstances`.
- message ListInstancesResponse {
- // The instances belonging to the requested version.
- repeated Instance instances = 1;
- // Continuation token for fetching the next page of results.
- string next_page_token = 2;
- }
- // Request message for `Instances.GetInstance`.
- message GetInstanceRequest {
- // Name of the resource requested. Example:
- // `apps/myapp/services/default/versions/v1/instances/instance-1`.
- string name = 1;
- }
- // Request message for `Instances.DeleteInstance`.
- message DeleteInstanceRequest {
- // Name of the resource requested. Example:
- // `apps/myapp/services/default/versions/v1/instances/instance-1`.
- string name = 1;
- }
- // Request message for `Instances.DebugInstance`.
- message DebugInstanceRequest {
- // Name of the resource requested. Example:
- // `apps/myapp/services/default/versions/v1/instances/instance-1`.
- string name = 1;
- }
- // Fields that should be returned when [Version][google.appengine.v1.Version] resources
- // are retreived.
- enum VersionView {
- // Basic version information including scaling and inbound services,
- // but not detailed deployment information.
- BASIC = 0;
- // The information from `BASIC`, plus detailed information about the
- // deployment. This format is required when creating resources, but
- // is not returned in `Get` or `List` by default.
- FULL = 1;
- }
|