common.proto 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  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.gkebackup.v1;
  16. import "google/api/resource.proto";
  17. option csharp_namespace = "Google.Cloud.GkeBackup.V1";
  18. option go_package = "google.golang.org/genproto/googleapis/cloud/gkebackup/v1;gkebackup";
  19. option java_multiple_files = true;
  20. option java_outer_classname = "CommonProto";
  21. option java_package = "com.google.cloud.gkebackup.v1";
  22. option php_namespace = "Google\\Cloud\\GkeBackup\\V1";
  23. option ruby_package = "Google::Cloud::GkeBackup::V1";
  24. // A list of Kubernetes Namespaces
  25. message Namespaces {
  26. // A list of Kubernetes Namespaces
  27. repeated string namespaces = 1;
  28. }
  29. // A reference to a namespaced resource in Kubernetes.
  30. message NamespacedName {
  31. // The Namespace of the Kubernetes resource.
  32. string namespace = 1;
  33. // The name of the Kubernetes resource.
  34. string name = 2;
  35. }
  36. // A list of namespaced Kubernetes resources.
  37. message NamespacedNames {
  38. // A list of namespaced Kubernetes resources.
  39. repeated NamespacedName namespaced_names = 1;
  40. }
  41. // Defined a customer managed encryption key that will be used to encrypt Backup
  42. // artifacts.
  43. message EncryptionKey {
  44. // Google Cloud KMS encryption key. Format:
  45. // projects/*/locations/*/keyRings/*/cryptoKeys/*
  46. string gcp_kms_encryption_key = 1 [(google.api.resource_reference) = {
  47. type: "cloudkms.googleapis.com/CryptoKey"
  48. }];
  49. }