revision_template.proto 3.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. // Copyright 2022 Google LLC
  2. //
  3. // Licensed under the Apache License, Version 2.0 (the "License");
  4. // you may not use this file except in compliance with the License.
  5. // You may obtain a copy of the License at
  6. //
  7. // http://www.apache.org/licenses/LICENSE-2.0
  8. //
  9. // Unless required by applicable law or agreed to in writing, software
  10. // distributed under the License is distributed on an "AS IS" BASIS,
  11. // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  12. // See the License for the specific language governing permissions and
  13. // limitations under the License.
  14. syntax = "proto3";
  15. package google.cloud.run.v2;
  16. import "google/api/resource.proto";
  17. import "google/cloud/run/v2/k8s.min.proto";
  18. import "google/cloud/run/v2/vendor_settings.proto";
  19. import "google/protobuf/duration.proto";
  20. option go_package = "google.golang.org/genproto/googleapis/cloud/run/v2;run";
  21. option java_multiple_files = true;
  22. option java_outer_classname = "RevisionTemplateProto";
  23. option java_package = "com.google.cloud.run.v2";
  24. // RevisionTemplate describes the data a revision should have when created from
  25. // a template.
  26. message RevisionTemplate {
  27. // The unique name for the revision. If this field is omitted, it will be
  28. // automatically generated based on the Service name.
  29. string revision = 1 [(google.api.resource_reference) = {
  30. type: "run.googleapis.com/Revision"
  31. }];
  32. // KRM-style labels for the resource.
  33. map<string, string> labels = 2;
  34. // KRM-style annotations for the resource.
  35. map<string, string> annotations = 3;
  36. // Scaling settings for this Revision.
  37. RevisionScaling scaling = 4;
  38. // VPC Access configuration to use for this Revision. For more information,
  39. // visit https://cloud.google.com/run/docs/configuring/connecting-vpc.
  40. VpcAccess vpc_access = 6;
  41. // Max allowed time for an instance to respond to a request.
  42. google.protobuf.Duration timeout = 8;
  43. // Email address of the IAM service account associated with the revision of
  44. // the service. The service account represents the identity of the running
  45. // revision, and determines what permissions the revision has. If not
  46. // provided, the revision will use the project's default service account.
  47. string service_account = 9;
  48. // Holds the single container that defines the unit of execution for this
  49. // Revision.
  50. repeated Container containers = 10;
  51. // A list of Volumes to make available to containers.
  52. repeated Volume volumes = 11;
  53. // The sandbox environment to host this Revision.
  54. ExecutionEnvironment execution_environment = 13;
  55. // A reference to a customer managed encryption key (CMEK) to use to encrypt
  56. // this container image. For more information, go to
  57. // https://cloud.google.com/run/docs/securing/using-cmek
  58. string encryption_key = 14 [(google.api.resource_reference) = {
  59. type: "cloudkms.googleapis.com/CryptoKey"
  60. }];
  61. // Sets the maximum number of requests that each serving instance can receive.
  62. int32 max_instance_request_concurrency = 15;
  63. }