google-cloud-backupdr-v1 1.12.0 → 1.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +4 -6
  3. data/lib/google/cloud/backupdr/v1/appliedautoprotectionpolicy_pb.rb +30 -0
  4. data/lib/google/cloud/backupdr/v1/autoprotectionpolicy_pb.rb +40 -0
  5. data/lib/google/cloud/backupdr/v1/autoprotectionpolicybinding_pb.rb +33 -0
  6. data/lib/google/cloud/backupdr/v1/backupdr/client.rb +3484 -150
  7. data/lib/google/cloud/backupdr/v1/backupdr/paths.rb +139 -0
  8. data/lib/google/cloud/backupdr/v1/backupdr/rest/client.rb +3268 -137
  9. data/lib/google/cloud/backupdr/v1/backupdr/rest/service_stub.rb +1989 -209
  10. data/lib/google/cloud/backupdr/v1/backupdr_pb.rb +9 -1
  11. data/lib/google/cloud/backupdr/v1/backupdr_services_pb.rb +69 -0
  12. data/lib/google/cloud/backupdr/v1/backupplanassociation_pb.rb +1 -1
  13. data/lib/google/cloud/backupdr/v1/backupvault_pb.rb +3 -1
  14. data/lib/google/cloud/backupdr/v1/bindingmatchingresource_pb.rb +30 -0
  15. data/lib/google/cloud/backupdr/v1/restore_template_common_pb.rb +28 -0
  16. data/lib/google/cloud/backupdr/v1/restore_template_execution_pb.rb +45 -0
  17. data/lib/google/cloud/backupdr/v1/restore_template_pb.rb +40 -0
  18. data/lib/google/cloud/backupdr/v1/restore_verification_plan_association_pb.rb +36 -0
  19. data/lib/google/cloud/backupdr/v1/restore_verification_plan_pb.rb +34 -0
  20. data/lib/google/cloud/backupdr/v1/version.rb +1 -1
  21. data/proto_docs/google/cloud/backupdr/v1/appliedautoprotectionpolicy.rb +123 -0
  22. data/proto_docs/google/cloud/backupdr/v1/autoprotectionpolicy.rb +307 -0
  23. data/proto_docs/google/cloud/backupdr/v1/autoprotectionpolicybinding.rb +207 -0
  24. data/proto_docs/google/cloud/backupdr/v1/backupplanassociation.rb +13 -1
  25. data/proto_docs/google/cloud/backupdr/v1/backupvault.rb +37 -0
  26. data/proto_docs/google/cloud/backupdr/v1/bindingmatchingresource.rb +149 -0
  27. data/proto_docs/google/cloud/backupdr/v1/restore_template.rb +292 -0
  28. data/proto_docs/google/cloud/backupdr/v1/restore_template_common.rb +80 -0
  29. data/proto_docs/google/cloud/backupdr/v1/restore_template_execution.rb +399 -0
  30. data/proto_docs/google/cloud/backupdr/v1/restore_verification_plan.rb +270 -0
  31. data/proto_docs/google/cloud/backupdr/v1/restore_verification_plan_association.rb +264 -0
  32. data/proto_docs/google/protobuf/struct.rb +108 -0
  33. metadata +20 -1
@@ -0,0 +1,36 @@
1
+ # frozen_string_literal: true
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # source: google/cloud/backupdr/v1/restore_verification_plan_association.proto
4
+
5
+ require 'google/protobuf'
6
+
7
+ require 'google/api/field_behavior_pb'
8
+ require 'google/api/field_info_pb'
9
+ require 'google/api/resource_pb'
10
+ require 'google/protobuf/timestamp_pb'
11
+ require 'google/rpc/status_pb'
12
+
13
+
14
+ descriptor_data = "\nDgoogle/cloud/backupdr/v1/restore_verification_plan_association.proto\x12\x18google.cloud.backupdr.v1\x1a\x1fgoogle/api/field_behavior.proto\x1a\x1bgoogle/api/field_info.proto\x1a\x19google/api/resource.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x17google/rpc/status.proto\"\xe3\x07\n\"RestoreVerificationPlanAssociation\x12\x13\n\x04name\x18\x01 \x01(\tB\x05\xe2\x41\x02\x03\x08\x12\x19\n\x0b\x64\x65scription\x18\x02 \x01(\tB\x04\xe2\x41\x01\x01\x12\x35\n\x0b\x63reate_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x04\xe2\x41\x01\x03\x12\x35\n\x0bupdate_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x04\xe2\x41\x01\x03\x12W\n\x05state\x18\x05 \x01(\x0e\x32\x42.google.cloud.backupdr.v1.RestoreVerificationPlanAssociation.StateB\x04\xe2\x41\x01\x03\x12G\n\x0ftrigger_summary\x18\x06 \x01(\x0b\x32(.google.cloud.backupdr.v1.TriggerSummaryB\x04\xe2\x41\x01\x03\x12\x1c\n\rresource_type\x18\x07 \x01(\tB\x05\xe2\x41\x02\x02\x05\x12M\n\x10restore_template\x18\x08 \x01(\tB1\xe2\x41\x02\x02\x05\xfa\x41)\n\'backupdr.googleapis.com/RestoreTemplateH\x00\x12^\n\x06labels\x18\t \x03(\x0b\x32H.google.cloud.backupdr.v1.RestoreVerificationPlanAssociation.LabelsEntryB\x04\xe2\x41\x01\x01\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"m\n\x05State\x12\x15\n\x11STATE_UNSPECIFIED\x10\x00\x12\x0c\n\x08\x43REATING\x10\x01\x12\n\n\x06\x41\x43TIVE\x10\x02\x12\x0c\n\x08\x44\x45LETING\x10\x03\x12\x0c\n\x08INACTIVE\x10\x04\x12\x0c\n\x08UPDATING\x10\x05\x12\t\n\x05\x45RROR\x10\x06:\x82\x02\xea\x41\xfe\x01\n:backupdr.googleapis.com/RestoreVerificationPlanAssociation\x12wprojects/{project}/locations/{location}/restoreVerificationPlans/{restore_verification_plan}/associations/{association}*#restoreVerificationPlanAssociations2\"restoreVerificationPlanAssociationB\r\n\x0b\x61ssociation\"\xa0\x02\n\x0eTriggerSummary\x12;\n\x11last_trigger_time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x04\xe2\x41\x01\x03\x12;\n\x11next_trigger_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x04\xe2\x41\x01\x03\x12\x34\n\x12last_trigger_error\x18\x03 \x01(\x0b\x32\x12.google.rpc.StatusB\x04\xe2\x41\x01\x03\x12^\n\x1blast_verification_execution\x18\x04 \x01(\tB9\xe2\x41\x01\x03\xfa\x41\x32\n0backupdr.googleapis.com/RestoreTemplateExecution\"\xc8\x02\n/CreateRestoreVerificationPlanAssociationRequest\x12H\n\x06parent\x18\x01 \x01(\tB8\xe2\x41\x01\x02\xfa\x41\x31\n/backupdr.googleapis.com/RestoreVerificationPlan\x12\x36\n(restore_verification_plan_association_id\x18\x02 \x01(\tB\x04\xe2\x41\x01\x02\x12q\n%restore_verification_plan_association\x18\x03 \x01(\x0b\x32<.google.cloud.backupdr.v1.RestoreVerificationPlanAssociationB\x04\xe2\x41\x01\x02\x12 \n\nrequest_id\x18\x04 \x01(\tB\x0c\xe2\x41\x01\x01\xe2\x8c\xcf\xd7\x08\x02\x08\x01\"\x81\x01\n,GetRestoreVerificationPlanAssociationRequest\x12Q\n\x04name\x18\x01 \x01(\tBC\xe2\x41\x01\x02\xfa\x41<\n:backupdr.googleapis.com/RestoreVerificationPlanAssociation\"\xdb\x01\n.ListRestoreVerificationPlanAssociationsRequest\x12H\n\x06parent\x18\x01 \x01(\tB8\xe2\x41\x01\x02\xfa\x41\x31\n/backupdr.googleapis.com/RestoreVerificationPlan\x12\x17\n\tpage_size\x18\x02 \x01(\x05\x42\x04\xe2\x41\x01\x01\x12\x18\n\npage_token\x18\x03 \x01(\tB\x04\xe2\x41\x01\x01\x12\x14\n\x06\x66ilter\x18\x04 \x01(\tB\x04\xe2\x41\x01\x01\x12\x16\n\x08order_by\x18\x05 \x01(\tB\x04\xe2\x41\x01\x01\"\xd3\x01\n/ListRestoreVerificationPlanAssociationsResponse\x12l\n&restore_verification_plan_associations\x18\x01 \x03(\x0b\x32<.google.cloud.backupdr.v1.RestoreVerificationPlanAssociation\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\x12\x19\n\x0bunreachable\x18\x03 \x03(\tB\x04\xe2\x41\x01\x06\"\xa6\x01\n/DeleteRestoreVerificationPlanAssociationRequest\x12Q\n\x04name\x18\x01 \x01(\tBC\xe2\x41\x01\x02\xfa\x41<\n:backupdr.googleapis.com/RestoreVerificationPlanAssociation\x12 \n\nrequest_id\x18\x02 \x01(\tB\x0c\xe2\x41\x01\x01\xe2\x8c\xcf\xd7\x08\x02\x08\x01\"\x98\x01\n!TriggerRestoreVerificationRequest\x12Q\n\x04name\x18\x01 \x01(\tBC\xe2\x41\x01\x02\xfa\x41<\n:backupdr.googleapis.com/RestoreVerificationPlanAssociation\x12 \n\nrequest_id\x18\x02 \x01(\tB\x0c\xe2\x41\x01\x01\xe2\x8c\xcf\xd7\x08\x02\x08\x01\"\x83\x01\n\"TriggerRestoreVerificationResponse\x12]\n\x1arestore_template_execution\x18\x01 \x01(\tB9\xe2\x41\x01\x03\xfa\x41\x32\n0backupdr.googleapis.com/RestoreTemplateExecutionB\xd7\x01\n\x1c\x63om.google.cloud.backupdr.v1B\'RestoreVerificationPlanAssociationProtoP\x01Z8cloud.google.com/go/backupdr/apiv1/backupdrpb;backupdrpb\xaa\x02\x18Google.Cloud.BackupDR.V1\xca\x02\x18Google\\Cloud\\BackupDR\\V1\xea\x02\x1bGoogle::Cloud::BackupDR::V1b\x06proto3"
15
+
16
+ pool = ::Google::Protobuf::DescriptorPool.generated_pool
17
+ pool.add_serialized_file(descriptor_data)
18
+
19
+ module Google
20
+ module Cloud
21
+ module BackupDR
22
+ module V1
23
+ RestoreVerificationPlanAssociation = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.backupdr.v1.RestoreVerificationPlanAssociation").msgclass
24
+ RestoreVerificationPlanAssociation::State = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.backupdr.v1.RestoreVerificationPlanAssociation.State").enummodule
25
+ TriggerSummary = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.backupdr.v1.TriggerSummary").msgclass
26
+ CreateRestoreVerificationPlanAssociationRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.backupdr.v1.CreateRestoreVerificationPlanAssociationRequest").msgclass
27
+ GetRestoreVerificationPlanAssociationRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.backupdr.v1.GetRestoreVerificationPlanAssociationRequest").msgclass
28
+ ListRestoreVerificationPlanAssociationsRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.backupdr.v1.ListRestoreVerificationPlanAssociationsRequest").msgclass
29
+ ListRestoreVerificationPlanAssociationsResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.backupdr.v1.ListRestoreVerificationPlanAssociationsResponse").msgclass
30
+ DeleteRestoreVerificationPlanAssociationRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.backupdr.v1.DeleteRestoreVerificationPlanAssociationRequest").msgclass
31
+ TriggerRestoreVerificationRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.backupdr.v1.TriggerRestoreVerificationRequest").msgclass
32
+ TriggerRestoreVerificationResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.backupdr.v1.TriggerRestoreVerificationResponse").msgclass
33
+ end
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,34 @@
1
+ # frozen_string_literal: true
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # source: google/cloud/backupdr/v1/restore_verification_plan.proto
4
+
5
+ require 'google/protobuf'
6
+
7
+ require 'google/api/field_behavior_pb'
8
+ require 'google/api/field_info_pb'
9
+ require 'google/api/resource_pb'
10
+ require 'google/protobuf/duration_pb'
11
+ require 'google/protobuf/timestamp_pb'
12
+
13
+
14
+ descriptor_data = "\n8google/cloud/backupdr/v1/restore_verification_plan.proto\x12\x18google.cloud.backupdr.v1\x1a\x1fgoogle/api/field_behavior.proto\x1a\x1bgoogle/api/field_info.proto\x1a\x19google/api/resource.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\xac\x07\n\x17RestoreVerificationPlan\x12\x13\n\x04name\x18\x01 \x01(\tB\x05\xe2\x41\x02\x03\x08\x12\x19\n\x0b\x64\x65scription\x18\x02 \x01(\tB\x04\xe2\x41\x01\x01\x12\x35\n\x0b\x63reate_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x04\xe2\x41\x01\x03\x12\x35\n\x0bupdate_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x04\xe2\x41\x01\x03\x12S\n\x06labels\x18\x05 \x03(\x0b\x32=.google.cloud.backupdr.v1.RestoreVerificationPlan.LabelsEntryB\x04\xe2\x41\x01\x01\x12L\n\x05state\x18\x06 \x01(\x0e\x32\x37.google.cloud.backupdr.v1.RestoreVerificationPlan.StateB\x04\xe2\x41\x01\x03\x12\x16\n\x08schedule\x18\x07 \x01(\tB\x04\xe2\x41\x01\x02\x12\x17\n\ttime_zone\x18\x08 \x01(\tB\x04\xe2\x41\x01\x01\x12\\\n\x14success_cleanup_rule\x18\t \x01(\x0b\x32\x38.google.cloud.backupdr.v1.RestoreVerificationCleanupRuleB\x04\xe2\x41\x01\x01\x12\\\n\x14\x66\x61ilure_cleanup_rule\x18\n \x01(\x0b\x32\x38.google.cloud.backupdr.v1.RestoreVerificationCleanupRuleB\x04\xe2\x41\x01\x01\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"m\n\x05State\x12\x15\n\x11STATE_UNSPECIFIED\x10\x00\x12\x0c\n\x08\x43REATING\x10\x01\x12\n\n\x06\x41\x43TIVE\x10\x02\x12\x0c\n\x08\x44\x45LETING\x10\x03\x12\x0c\n\x08INACTIVE\x10\x04\x12\x0c\n\x08UPDATING\x10\x05\x12\t\n\x05\x45RROR\x10\x06:\xc4\x01\xea\x41\xc0\x01\n/backupdr.googleapis.com/RestoreVerificationPlan\x12Zprojects/{project}/locations/{location}/restoreVerificationPlans/{restoreVerificationPlan}*\x18restoreVerificationPlans2\x17restoreVerificationPlan\"\x8a\x01\n\x1eRestoreVerificationCleanupRule\x12\x36\n\rcleanup_delay\x18\x01 \x01(\x0b\x32\x19.google.protobuf.DurationB\x04\xe2\x41\x01\x01\x12\x1f\n\x0cskip_cleanup\x18\x02 \x01(\x08\x42\x04\xe2\x41\x01\x01H\x00\x88\x01\x01\x42\x0f\n\r_skip_cleanup\"\x9a\x02\n$CreateRestoreVerificationPlanRequest\x12H\n\x06parent\x18\x01 \x01(\tB8\xe2\x41\x01\x02\xfa\x41\x31\x12/backupdr.googleapis.com/RestoreVerificationPlan\x12*\n\x1crestore_verification_plan_id\x18\x02 \x01(\tB\x04\xe2\x41\x01\x02\x12Z\n\x19restore_verification_plan\x18\x03 \x01(\x0b\x32\x31.google.cloud.backupdr.v1.RestoreVerificationPlanB\x04\xe2\x41\x01\x02\x12 \n\nrequest_id\x18\x04 \x01(\tB\x0c\xe2\x41\x01\x01\xe2\x8c\xcf\xd7\x08\x02\x08\x01\"k\n!GetRestoreVerificationPlanRequest\x12\x46\n\x04name\x18\x01 \x01(\tB8\xe2\x41\x01\x02\xfa\x41\x31\n/backupdr.googleapis.com/RestoreVerificationPlan\"\xd0\x01\n#ListRestoreVerificationPlansRequest\x12H\n\x06parent\x18\x01 \x01(\tB8\xe2\x41\x01\x02\xfa\x41\x31\x12/backupdr.googleapis.com/RestoreVerificationPlan\x12\x17\n\tpage_size\x18\x02 \x01(\x05\x42\x04\xe2\x41\x01\x01\x12\x18\n\npage_token\x18\x03 \x01(\tB\x04\xe2\x41\x01\x01\x12\x14\n\x06\x66ilter\x18\x04 \x01(\tB\x04\xe2\x41\x01\x01\x12\x16\n\x08order_by\x18\x05 \x01(\tB\x04\xe2\x41\x01\x01\"\xab\x01\n$ListRestoreVerificationPlansResponse\x12U\n\x1arestore_verification_plans\x18\x01 \x03(\x0b\x32\x31.google.cloud.backupdr.v1.RestoreVerificationPlan\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\x12\x13\n\x0bunreachable\x18\x03 \x03(\t\"\xa5\x01\n$DeleteRestoreVerificationPlanRequest\x12\x46\n\x04name\x18\x01 \x01(\tB8\xe2\x41\x01\x02\xfa\x41\x31\n/backupdr.googleapis.com/RestoreVerificationPlan\x12 \n\nrequest_id\x18\x02 \x01(\tB\x0c\xe2\x41\x01\x01\xe2\x8c\xcf\xd7\x08\x02\x08\x01\x12\x13\n\x05\x66orce\x18\x03 \x01(\x08\x42\x04\xe2\x41\x01\x01\x42\xcc\x01\n\x1c\x63om.google.cloud.backupdr.v1B\x1cRestoreVerificationPlanProtoP\x01Z8cloud.google.com/go/backupdr/apiv1/backupdrpb;backupdrpb\xaa\x02\x18Google.Cloud.BackupDR.V1\xca\x02\x18Google\\Cloud\\BackupDR\\V1\xea\x02\x1bGoogle::Cloud::BackupDR::V1b\x06proto3"
15
+
16
+ pool = ::Google::Protobuf::DescriptorPool.generated_pool
17
+ pool.add_serialized_file(descriptor_data)
18
+
19
+ module Google
20
+ module Cloud
21
+ module BackupDR
22
+ module V1
23
+ RestoreVerificationPlan = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.backupdr.v1.RestoreVerificationPlan").msgclass
24
+ RestoreVerificationPlan::State = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.backupdr.v1.RestoreVerificationPlan.State").enummodule
25
+ RestoreVerificationCleanupRule = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.backupdr.v1.RestoreVerificationCleanupRule").msgclass
26
+ CreateRestoreVerificationPlanRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.backupdr.v1.CreateRestoreVerificationPlanRequest").msgclass
27
+ GetRestoreVerificationPlanRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.backupdr.v1.GetRestoreVerificationPlanRequest").msgclass
28
+ ListRestoreVerificationPlansRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.backupdr.v1.ListRestoreVerificationPlansRequest").msgclass
29
+ ListRestoreVerificationPlansResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.backupdr.v1.ListRestoreVerificationPlansResponse").msgclass
30
+ DeleteRestoreVerificationPlanRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.backupdr.v1.DeleteRestoreVerificationPlanRequest").msgclass
31
+ end
32
+ end
33
+ end
34
+ end
@@ -21,7 +21,7 @@ module Google
21
21
  module Cloud
22
22
  module BackupDR
23
23
  module V1
24
- VERSION = "1.12.0"
24
+ VERSION = "1.13.0"
25
25
  end
26
26
  end
27
27
  end
@@ -0,0 +1,123 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2026 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 BackupDR
23
+ module V1
24
+ # AppliedAutoProtectionPolicy is a read-only view of AutoProtectionPolicy
25
+ # and AutoProtectionPolicyBinding resources that apply to a given workload
26
+ # project.
27
+ # @!attribute [rw] name
28
+ # @return [::String]
29
+ # Identifier. Canonical resource name.
30
+ # Format:
31
+ # projects/\\{workload-project-number}/locations/\\{location}/appliedAutoProtectionPolicies/\\{id}.
32
+ # @!attribute [r] source_binding
33
+ # @return [::String]
34
+ # Output only. The full resource name of the AutoProtectionPolicyBinding that
35
+ # applies the source policy to a scope including this workload project. e.g.,
36
+ # projects/\\{admin-project}/locations/\\{location}/autoProtectionPolicies/\\{policy_id}/autoProtectionPolicyBindings/\\{binding_id}.
37
+ # @!attribute [r] criteria
38
+ # @return [::Google::Cloud::BackupDR::V1::Criteria]
39
+ # Output only. The criteria resources must meet for this rule to apply. From
40
+ # AutoProtectionPolicy.criteria.
41
+ # @!attribute [r] backup_plan_details
42
+ # @return [::Array<::Google::Cloud::BackupDR::V1::BackupPlanDetail>]
43
+ # Output only. The set of backup plan configurations, mirroring the
44
+ # backup_plan_details from the source AutoProtectionPolicy. Each element
45
+ # specifies a backup plan for a given resource type.
46
+ # @!attribute [r] update_time
47
+ # @return [::Google::Protobuf::Timestamp]
48
+ # Output only. Timestamp indicating when the binding was last modified.
49
+ # @!attribute [r] create_time
50
+ # @return [::Google::Protobuf::Timestamp]
51
+ # Output only. Timestamp indicating when the binding was last created.
52
+ # @!attribute [r] binding_evaluation_summary
53
+ # @return [::Google::Cloud::BackupDR::V1::BindingEvaluationSummary]
54
+ # Output only. The summary of the last policy application when the job has
55
+ # run.
56
+ # @!attribute [r] status
57
+ # @return [::Google::Cloud::BackupDR::V1::AppliedAutoProtectionPolicy::State]
58
+ # Output only. The status of the applied auto protection policy.
59
+ class AppliedAutoProtectionPolicy
60
+ include ::Google::Protobuf::MessageExts
61
+ extend ::Google::Protobuf::MessageExts::ClassMethods
62
+
63
+ # Represents the various states an applied auto protection policy can be in.
64
+ module State
65
+ # State is not specified.
66
+ STATE_UNSPECIFIED = 0
67
+
68
+ # The policy is in the process of being applied.
69
+ CREATING = 1
70
+
71
+ # The policy has been applied and is active.
72
+ ACTIVE = 2
73
+
74
+ # The policy is in the process of being removed.
75
+ DELETION_INITIATED = 3
76
+ end
77
+ end
78
+
79
+ # Request message for listing AppliedAutoProtectionPolicies.
80
+ # @!attribute [rw] parent
81
+ # @return [::String]
82
+ # Required. The project and location for which to retrieve the list of
83
+ # applied policies. Format: projects/\\{project}/locations/\\{location}
84
+ # @!attribute [rw] page_size
85
+ # @return [::Integer]
86
+ # Optional. The maximum number of applied policies to return in a single
87
+ # page. The maximum value is 1000; values above 1000 will be coerced to
88
+ # 1000. If unspecified or set to 0, a default page size of 500 will be used.
89
+ # @!attribute [rw] page_token
90
+ # @return [::String]
91
+ # Optional. A page token, received from a previous
92
+ # `ListAppliedAutoProtectionPolicies` call.
93
+ # @!attribute [rw] filter
94
+ # @return [::String]
95
+ # Optional. A filter expression that filters resources listed in the
96
+ # response.
97
+ # @!attribute [rw] order_by
98
+ # @return [::String]
99
+ # Optional. An expression that sorts the results in the response.
100
+ class ListAppliedAutoProtectionPoliciesRequest
101
+ include ::Google::Protobuf::MessageExts
102
+ extend ::Google::Protobuf::MessageExts::ClassMethods
103
+ end
104
+
105
+ # Response message for ListAppliedAutoProtectionPolicies.
106
+ # @!attribute [rw] applied_auto_protection_policies
107
+ # @return [::Array<::Google::Cloud::BackupDR::V1::AppliedAutoProtectionPolicy>]
108
+ # A list of the AppliedAutoProtectionPolicy resources found.
109
+ # @!attribute [rw] next_page_token
110
+ # @return [::String]
111
+ # A token that can be sent as `page_token` to retrieve the next page.
112
+ # @!attribute [rw] unreachable
113
+ # @return [::Array<::String>]
114
+ # Unordered list. Locations that could not be reached. For example,
115
+ # "projects/my-project/locations/us-east1"].
116
+ class ListAppliedAutoProtectionPoliciesResponse
117
+ include ::Google::Protobuf::MessageExts
118
+ extend ::Google::Protobuf::MessageExts::ClassMethods
119
+ end
120
+ end
121
+ end
122
+ end
123
+ end
@@ -0,0 +1,307 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2026 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 BackupDR
23
+ module V1
24
+ # An AutoprotectionPolicy is a policy resource designed to automate backup
25
+ # management, moving from manual per-resource protection to a bulk approach.
26
+ # The policy dynamically discovers and applies a specified backup plan to all
27
+ # eligible resources that match its defined scope and criteria.
28
+ # @!attribute [r] name
29
+ # @return [::String]
30
+ # Output only. Identifier. The resource name of the AutoProtectionPolicy.
31
+ # Format:
32
+ # `projects/{project}/locations/{location}/autoProtectionPolicies/{auto_protection_policy}`
33
+ # @!attribute [rw] description
34
+ # @return [::String]
35
+ # Optional. A description of the policy. The description must be at most 2048
36
+ # characters.
37
+ # @!attribute [rw] backup_plan_details
38
+ # @return [::Array<::Google::Cloud::BackupDR::V1::BackupPlanDetail>]
39
+ # Required. The backup plan details for matching resources.
40
+ # @!attribute [rw] criteria
41
+ # @return [::Google::Cloud::BackupDR::V1::Criteria]
42
+ # Required. The criteria for matching resources.
43
+ # @!attribute [r] state
44
+ # @return [::Google::Cloud::BackupDR::V1::AutoProtectionPolicy::State]
45
+ # Output only. The current state of the AutoProtectionPolicy.
46
+ # @!attribute [rw] etag
47
+ # @return [::String]
48
+ # Output only. The etag for the policy.
49
+ # If this is provided on update, it must match the server's etag.
50
+ # @!attribute [r] binding_summary
51
+ # @return [::Google::Cloud::BackupDR::V1::BindingSummary]
52
+ # Output only. Summary of total count of different containers covered through
53
+ # this policy.
54
+ # @!attribute [r] policy_evaluation_summary
55
+ # @return [::Google::Cloud::BackupDR::V1::PolicyEvaluationSummary]
56
+ # Output only. Summary of last policy evaluation when job was run per
57
+ # workload type.
58
+ # @!attribute [r] create_time
59
+ # @return [::Google::Protobuf::Timestamp]
60
+ # Output only. The timestamp when the policy was created.
61
+ # @!attribute [r] update_time
62
+ # @return [::Google::Protobuf::Timestamp]
63
+ # Output only. The timestamp when the policy was last updated.
64
+ class AutoProtectionPolicy
65
+ include ::Google::Protobuf::MessageExts
66
+ extend ::Google::Protobuf::MessageExts::ClassMethods
67
+
68
+ # The state of an AutoProtectionPolicy.
69
+ module State
70
+ # The state of the policy is unspecified.
71
+ STATE_UNSPECIFIED = 0
72
+
73
+ # The policy is being created.
74
+ CREATING = 1
75
+
76
+ # The policy is active and protecting matching resources.
77
+ ACTIVE = 2
78
+
79
+ # The policy is being updated.
80
+ UPDATING = 3
81
+
82
+ # The policy is being deleted.
83
+ DELETING = 4
84
+ end
85
+ end
86
+
87
+ # BackupPlanDetail defines configuration of protection.
88
+ # @!attribute [rw] resource_type
89
+ # @return [::String]
90
+ # Required. The type of resource that this policy will automatically protect.
91
+ # Allowed values are, `compute.googleapis.com/Instance` and
92
+ # `compute.googleapis.com/Disk` are supported.
93
+ # @!attribute [rw] backup_plan
94
+ # @return [::String]
95
+ # Required. The resource name of the BackupPlan to apply to resources that
96
+ # match the policy's criteria. This backup plan must be in the same location
97
+ # as AutoProtectionPolicy. Format:
98
+ # projects/\\{project}/locations/\\{location}/backupPlans/\\{backupPlanId}
99
+ class BackupPlanDetail
100
+ include ::Google::Protobuf::MessageExts
101
+ extend ::Google::Protobuf::MessageExts::ClassMethods
102
+ end
103
+
104
+ # Criteria specifies a set of criteria for matching resources.
105
+ # @!attribute [rw] matching_conditions
106
+ # @return [::Array<::Google::Cloud::BackupDR::V1::MatchingCondition>]
107
+ # Required. A list of matching conditions that a resource must meet to be
108
+ # protected by the policy.
109
+ class Criteria
110
+ include ::Google::Protobuf::MessageExts
111
+ extend ::Google::Protobuf::MessageExts::ClassMethods
112
+ end
113
+
114
+ # MatchingCondition specifies a set of conditions for matching resources.
115
+ # @!attribute [rw] label_condition
116
+ # @return [::Google::Cloud::BackupDR::V1::KeyValuePair]
117
+ # Optional. A condition that matches resources based on their labels.
118
+ # For MVP, this is limited to a single label match.
119
+ class MatchingCondition
120
+ include ::Google::Protobuf::MessageExts
121
+ extend ::Google::Protobuf::MessageExts::ClassMethods
122
+ end
123
+
124
+ # PolicyEvaluationSummary contains the summary of the last run of job that
125
+ # applies policy to matching resources.
126
+ # @!attribute [r] matching_resource_count
127
+ # @return [::Integer]
128
+ # Output only. The number of resources that currently match the policy's
129
+ # criteria.
130
+ # @!attribute [r] protected_resource_count
131
+ # @return [::Integer]
132
+ # Output only. The number of matching resources that are successfully
133
+ # protected.
134
+ # @!attribute [r] failed_resource_count
135
+ # @return [::Integer]
136
+ # Output only. The number of matching resources whose protection failed
137
+ # during job run.
138
+ class PolicyEvaluationSummary
139
+ include ::Google::Protobuf::MessageExts
140
+ extend ::Google::Protobuf::MessageExts::ClassMethods
141
+ end
142
+
143
+ # BindingSummary contains count of different containers covered through this
144
+ # policy.
145
+ # @!attribute [r] project_count
146
+ # @return [::Integer]
147
+ # Output only. Total count of Projects protected with this policy.
148
+ class BindingSummary
149
+ include ::Google::Protobuf::MessageExts
150
+ extend ::Google::Protobuf::MessageExts::ClassMethods
151
+ end
152
+
153
+ # KeyValuePair defines a key-value pair for matching resource labels.
154
+ # @!attribute [rw] key
155
+ # @return [::String]
156
+ # Required. The key of the label to match.
157
+ # This must be in the format `{label_key}`.
158
+ # The key must match the regex
159
+ # Format:`[\p{Ll}\p{Lo}][\p{Ll}\p{Lo}\p{N}_-]{0,62}`.
160
+ # @!attribute [rw] values
161
+ # @return [::Array<::String>]
162
+ # Required. The values of the label to match.
163
+ # There will be explicit "OR" between values of array.
164
+ # Each value must be in the format `{label_value}`.
165
+ # The value must match the regex
166
+ # Format: `[\\p{Ll}\\p{Lo}\\p{N}_-]{1,63}`.
167
+ class KeyValuePair
168
+ include ::Google::Protobuf::MessageExts
169
+ extend ::Google::Protobuf::MessageExts::ClassMethods
170
+ end
171
+
172
+ # Request message for creating an AutoProtectionPolicy.
173
+ # @!attribute [rw] parent
174
+ # @return [::String]
175
+ # Required. The parent resource where this policy will be created.
176
+ # Format: projects/\\{project}/locations/\\{location}
177
+ # @!attribute [rw] auto_protection_policy_id
178
+ # @return [::String]
179
+ # Required. The ID to use for the policy.
180
+ # This will become the final component of the policy's resource name.
181
+ #
182
+ # This value must start with a lowercase letter followed by up to 62
183
+ # lowercase letters, numbers, or hyphens, and cannot end with a hyphen.
184
+ # @!attribute [rw] auto_protection_policy
185
+ # @return [::Google::Cloud::BackupDR::V1::AutoProtectionPolicy]
186
+ # Required. The AutoProtectionPolicy resource to create.
187
+ # @!attribute [rw] request_id
188
+ # @return [::String]
189
+ # Optional. An optional request ID to identify requests. Specify a unique
190
+ # request ID so that if you must retry your request, the server will know to
191
+ # ignore the request if it has already been completed. The server will
192
+ # guarantee that for at least 60 minutes since the first request.
193
+ #
194
+ # The request ID must be a valid UUID with the exception that zero UUID is
195
+ # not supported (00000000-0000-0000-0000-000000000000).
196
+ class CreateAutoProtectionPolicyRequest
197
+ include ::Google::Protobuf::MessageExts
198
+ extend ::Google::Protobuf::MessageExts::ClassMethods
199
+ end
200
+
201
+ # Request message for getting an AutoProtectionPolicy.
202
+ # @!attribute [rw] name
203
+ # @return [::String]
204
+ # Required. The name of the policy to retrieve.
205
+ # Format:
206
+ # projects/\\{project}/locations/\\{location}/autoProtectionPolicies/\\{auto_protection_policy}
207
+ class GetAutoProtectionPolicyRequest
208
+ include ::Google::Protobuf::MessageExts
209
+ extend ::Google::Protobuf::MessageExts::ClassMethods
210
+ end
211
+
212
+ # Request message for updating an AutoProtectionPolicy.
213
+ # @!attribute [rw] auto_protection_policy
214
+ # @return [::Google::Cloud::BackupDR::V1::AutoProtectionPolicy]
215
+ # Required. The policy to update.
216
+ # @!attribute [rw] update_mask
217
+ # @return [::Google::Protobuf::FieldMask]
218
+ # Optional. Field mask is used to specify the fields to be overwritten in the
219
+ # AutoProtectionPolicy resource by the update.
220
+ # The fields specified in the update_mask are relative to the resource, not
221
+ # the full request. A field will be overwritten if it is in the mask. If the
222
+ # user does not provide a mask then all fields will be overwritten.
223
+ # @!attribute [rw] request_id
224
+ # @return [::String]
225
+ # Optional. An optional request ID to identify requests. Specify a unique
226
+ # request ID so that if you must retry your request, the server will know to
227
+ # ignore the request if it has already been completed. The server will
228
+ # guarantee that for at least 60 minutes since the first request.
229
+ #
230
+ # The request ID must be a valid UUID with the exception that zero UUID is
231
+ # not supported (00000000-0000-0000-0000-000000000000).
232
+ class UpdateAutoProtectionPolicyRequest
233
+ include ::Google::Protobuf::MessageExts
234
+ extend ::Google::Protobuf::MessageExts::ClassMethods
235
+ end
236
+
237
+ # Request message for deleting an AutoProtectionPolicy.
238
+ # @!attribute [rw] name
239
+ # @return [::String]
240
+ # Required. The name of the policy to delete.
241
+ # Format:
242
+ # projects/\\{project}/locations/\\{location}/autoProtectionPolicies/\\{auto_protection_policy}
243
+ # @!attribute [rw] etag
244
+ # @return [::String]
245
+ # Optional. The current etag of the autoprotectionpolicy.
246
+ # If an etag is provided and does not match the current etag of the
247
+ # connection, deletion will be blocked.
248
+ # @!attribute [rw] request_id
249
+ # @return [::String]
250
+ # Optional. An optional request ID to identify requests. Specify a unique
251
+ # request ID so that if you must retry your request, the server will know to
252
+ # ignore the request if it has already been completed. The server will
253
+ # guarantee that for at least 60 minutes since the first request.
254
+ #
255
+ # The request ID must be a valid UUID with the exception that zero UUID is
256
+ # not supported (00000000-0000-0000-0000-000000000000).
257
+ class DeleteAutoProtectionPolicyRequest
258
+ include ::Google::Protobuf::MessageExts
259
+ extend ::Google::Protobuf::MessageExts::ClassMethods
260
+ end
261
+
262
+ # Request message for ListAutoProtectionPolicies.
263
+ # @!attribute [rw] parent
264
+ # @return [::String]
265
+ # Required. The project and location for which to retrieve the list of
266
+ # policies. Format: projects/\\{project}/locations/\\{location}
267
+ # @!attribute [rw] page_size
268
+ # @return [::Integer]
269
+ # Optional. The maximum number of policies to return in a single page.
270
+ # If unspecified, a server-default value will be used.
271
+ # @!attribute [rw] page_token
272
+ # @return [::String]
273
+ # Optional. A page token, received from a previous
274
+ # `ListAutoProtectionPolicies` call. Provide this to retrieve the subsequent
275
+ # page.
276
+ # @!attribute [rw] filter
277
+ # @return [::String]
278
+ # Optional. A filter expression that filters resources listed in the
279
+ # response. The following fields are filterable:
280
+ # @!attribute [rw] order_by
281
+ # @return [::String]
282
+ # Optional. An expression that sorts the results in the response. The
283
+ # following fields are sortable:
284
+ class ListAutoProtectionPoliciesRequest
285
+ include ::Google::Protobuf::MessageExts
286
+ extend ::Google::Protobuf::MessageExts::ClassMethods
287
+ end
288
+
289
+ # Response message for ListAutoProtectionPolicies.
290
+ # @!attribute [rw] auto_protection_policies
291
+ # @return [::Array<::Google::Cloud::BackupDR::V1::AutoProtectionPolicy>]
292
+ # A list of the AutoProtectionPolicy resources found.
293
+ # @!attribute [rw] next_page_token
294
+ # @return [::String]
295
+ # A token that can be sent as `page_token` to retrieve the next page.
296
+ # If this field is omitted, there are no subsequent pages.
297
+ # @!attribute [rw] unreachable
298
+ # @return [::Array<::String>]
299
+ # Unordered list. Locations that could not be reached.
300
+ class ListAutoProtectionPoliciesResponse
301
+ include ::Google::Protobuf::MessageExts
302
+ extend ::Google::Protobuf::MessageExts::ClassMethods
303
+ end
304
+ end
305
+ end
306
+ end
307
+ end