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,207 @@
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 AutoProtectionPolicyBinding (APPA) acts as the bridge between an
25
+ # AutoProtectionPolicy and the scope (Project) where
26
+ # the policy should be applied.
27
+ # @!attribute [r] name
28
+ # @return [::String]
29
+ # Output only. Identifier. The resource name of the
30
+ # AutoProtectionPolicyBinding. Format:
31
+ # `projects/{project}/locations/{location}/autoProtectionPolicies/{auto_protection_policy}/bindings/{binding}`
32
+ # @!attribute [rw] description
33
+ # @return [::String]
34
+ # Optional. A description of the binding. The description must be at most
35
+ # 2048 characters.
36
+ # @!attribute [r] state
37
+ # @return [::Google::Cloud::BackupDR::V1::AutoProtectionPolicyBinding::State]
38
+ # Output only. The current state of the AutoProtectionPolicyBinding.
39
+ # @!attribute [rw] scope
40
+ # @return [::String]
41
+ # Required. Immutable. Resource Id of target container on which policy will
42
+ # be applied. Format: projects/\\{project_id}
43
+ # @!attribute [r] binding_evaluation_summary
44
+ # @return [::Google::Cloud::BackupDR::V1::BindingEvaluationSummary]
45
+ # Output only. Summaries of the last policy application when the job has run,
46
+ # with one entry per resource type specified in the AutoProtectionPolicy.
47
+ # @!attribute [r] create_time
48
+ # @return [::Google::Protobuf::Timestamp]
49
+ # Output only. The timestamp when the binding was created.
50
+ # @!attribute [r] update_time
51
+ # @return [::Google::Protobuf::Timestamp]
52
+ # Output only. The timestamp when the binding was last updated.
53
+ # @!attribute [rw] etag
54
+ # @return [::String]
55
+ # Output only. The etag for the binding.
56
+ # If this is provided on update, it must match the server's etag.
57
+ class AutoProtectionPolicyBinding
58
+ include ::Google::Protobuf::MessageExts
59
+ extend ::Google::Protobuf::MessageExts::ClassMethods
60
+
61
+ # The state of an AutoProtectionPolicyBinding.
62
+ module State
63
+ # The state of the binding is unspecified.
64
+ STATE_UNSPECIFIED = 0
65
+
66
+ # The binding is being created.
67
+ CREATING = 1
68
+
69
+ # The binding is active.
70
+ ACTIVE = 2
71
+
72
+ # The binding deletion is initiated.
73
+ DELETION_INITIATED = 3
74
+ end
75
+ end
76
+
77
+ # BindingEvaluationSummary contains the summary of the last run of job
78
+ # that applies policy to matching resources for a given binding.
79
+ # @!attribute [r] matching_resource_count
80
+ # @return [::Integer]
81
+ # Output only. The number of resources that currently match the policy's
82
+ # criteria.
83
+ # @!attribute [r] protected_resource_count
84
+ # @return [::Integer]
85
+ # Output only. The number of matching resources that are successfully
86
+ # protected.
87
+ # @!attribute [r] failed_resource_count
88
+ # @return [::Integer]
89
+ # Output only. The number of matching resources whose protection failed
90
+ # during job run.
91
+ class BindingEvaluationSummary
92
+ include ::Google::Protobuf::MessageExts
93
+ extend ::Google::Protobuf::MessageExts::ClassMethods
94
+ end
95
+
96
+ # Request message for creating an AutoProtectionPolicyBinding.
97
+ # @!attribute [rw] parent
98
+ # @return [::String]
99
+ # Required. The parent resource where this binding will be created.
100
+ # Format:
101
+ # projects/\\{project}/locations/\\{location}/autoProtectionPolicies/\\{auto_protection_policy}
102
+ # @!attribute [rw] auto_protection_policy_binding_id
103
+ # @return [::String]
104
+ # Required. The ID to use for the binding.
105
+ # This will become the final component of the binding's resource name.
106
+ #
107
+ # This value must start with a lowercase letter followed by up to 62
108
+ # lowercase letters, numbers, or hyphens, and cannot end with a hyphen.
109
+ # @!attribute [rw] auto_protection_policy_binding
110
+ # @return [::Google::Cloud::BackupDR::V1::AutoProtectionPolicyBinding]
111
+ # Required. The AutoProtectionPolicyBinding resource to create.
112
+ # @!attribute [rw] request_id
113
+ # @return [::String]
114
+ # Optional. An optional request ID to identify requests. Specify a unique
115
+ # request ID so that if you must retry your request, the server will know to
116
+ # ignore the request if it has already been completed. The server will
117
+ # guarantee that for at least 60 minutes since the first request.
118
+ #
119
+ # The request ID must be a valid UUID with the exception that zero UUID is
120
+ # not supported (00000000-0000-0000-0000-000000000000).
121
+ class CreateAutoProtectionPolicyBindingRequest
122
+ include ::Google::Protobuf::MessageExts
123
+ extend ::Google::Protobuf::MessageExts::ClassMethods
124
+ end
125
+
126
+ # Request message for getting an AutoProtectionPolicyBinding.
127
+ # @!attribute [rw] name
128
+ # @return [::String]
129
+ # Required. The name of the binding to retrieve.
130
+ # Format:
131
+ # projects/\\{project}/locations/\\{location}/autoProtectionPolicies/\\{auto_protection_policy}/bindings/\\{binding}
132
+ class GetAutoProtectionPolicyBindingRequest
133
+ include ::Google::Protobuf::MessageExts
134
+ extend ::Google::Protobuf::MessageExts::ClassMethods
135
+ end
136
+
137
+ # Request message for ListAutoProtectionPolicyBindings.
138
+ # @!attribute [rw] parent
139
+ # @return [::String]
140
+ # Required. The project and location for which to retrieve the list of
141
+ # policies. Format: projects/\\{project}/locations/\\{location}
142
+ # @!attribute [rw] page_size
143
+ # @return [::Integer]
144
+ # Optional. The maximum number of policies to return in a single page is 500.
145
+ # If unspecified, a server-default value will be used.
146
+ # @!attribute [rw] page_token
147
+ # @return [::String]
148
+ # Optional. A page token, received from a previous
149
+ # `ListAutoProtectionPolicies` call. Provide this to retrieve the subsequent
150
+ # page.
151
+ # @!attribute [rw] filter
152
+ # @return [::String]
153
+ # Optional. A filter expression that filters resources listed in the
154
+ # response. The following fields are filterable:
155
+ # @!attribute [rw] order_by
156
+ # @return [::String]
157
+ # Optional. An expression that sorts the results in the response. The
158
+ # following fields are sortable:
159
+ class ListAutoProtectionPolicyBindingsRequest
160
+ include ::Google::Protobuf::MessageExts
161
+ extend ::Google::Protobuf::MessageExts::ClassMethods
162
+ end
163
+
164
+ # Response message for ListAutoProtectionPolicyBindings.
165
+ # @!attribute [rw] auto_protection_policy_bindings
166
+ # @return [::Array<::Google::Cloud::BackupDR::V1::AutoProtectionPolicyBinding>]
167
+ # A list of the AutoProtectionPolicyBindings resources found.
168
+ # @!attribute [rw] next_page_token
169
+ # @return [::String]
170
+ # A token that can be sent as `page_token` to retrieve the next page.
171
+ # If this field is omitted, there are no subsequent pages.
172
+ # @!attribute [rw] unreachable
173
+ # @return [::Array<::String>]
174
+ # Unordered list. Locations that could not be reached.
175
+ class ListAutoProtectionPolicyBindingsResponse
176
+ include ::Google::Protobuf::MessageExts
177
+ extend ::Google::Protobuf::MessageExts::ClassMethods
178
+ end
179
+
180
+ # Request message for initiating delete of an AutoProtectionPolicyBinding.
181
+ # @!attribute [rw] name
182
+ # @return [::String]
183
+ # Required. The name of the binding to delete.
184
+ # Format:
185
+ # projects/\\{project}/locations/\\{location}/autoProtectionPolicies/\\{auto_protection_policy}/bindings/\\{binding}
186
+ # @!attribute [rw] etag
187
+ # @return [::String]
188
+ # Optional. The current etag of the AutoProtectionPolicyBinding.
189
+ # If an etag is provided and does not match the current etag of the
190
+ # binding, deletion will be blocked and an ABORTED error will be returned.
191
+ # @!attribute [rw] request_id
192
+ # @return [::String]
193
+ # Optional. An optional request ID to identify requests. Specify a unique
194
+ # request ID so that if you must retry your request, the server will know to
195
+ # ignore the request if it has already been completed. The server will
196
+ # guarantee that for at least 60 minutes since the first request.
197
+ #
198
+ # The request ID must be a valid UUID with the exception that zero UUID is
199
+ # not supported (00000000-0000-0000-0000-000000000000).
200
+ class InitiateDeleteAutoProtectionPolicyBindingRequest
201
+ include ::Google::Protobuf::MessageExts
202
+ extend ::Google::Protobuf::MessageExts::ClassMethods
203
+ end
204
+ end
205
+ end
206
+ end
207
+ end
@@ -26,7 +26,7 @@ module Google
26
26
  # @!attribute [r] name
27
27
  # @return [::String]
28
28
  # Output only. Identifier. The resource name of BackupPlanAssociation in
29
- # below format Format :
29
+ # below format Format:
30
30
  # projects/\\{project}/locations/\\{location}/backupPlanAssociations/\\{backupPlanAssociationId}
31
31
  # @!attribute [rw] resource_type
32
32
  # @return [::String]
@@ -84,6 +84,11 @@ module Google
84
84
  #
85
85
  # Format:
86
86
  # `projects/{project}/locations/{location}/backupPlans/{backup_plan}/revisions/{revision_id}`
87
+ # @!attribute [r] auto_protection_policy_binding
88
+ # @return [::String]
89
+ # Output only. The resource name of the `AutoProtectionPolicyBinding` that
90
+ # manages this association, if any. Format:
91
+ # `projects/{project}/locations/{location}/autoProtectionPolicies/{policy}/bindings/{binding}`.
87
92
  class BackupPlanAssociation
88
93
  include ::Google::Protobuf::MessageExts
89
94
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -317,6 +322,13 @@ module Google
317
322
  #
318
323
  # The request ID must be a valid UUID with the exception that zero UUID is
319
324
  # not supported (00000000-0000-0000-0000-000000000000).
325
+ # @!attribute [rw] auto_protection_policy_binding
326
+ # @return [::String]
327
+ # Optional. This field is exclusively used by Backup and DR's auto-protection
328
+ # feature. The resource name of the `AutoProtectionPolicyBinding` that
329
+ # triggered the deletion of this association.
330
+ # Format:
331
+ # `projects/{project}/locations/{location}/autoProtectionPolicies/{policy}/bindings/{binding}`.
320
332
  class DeleteBackupPlanAssociationRequest
321
333
  include ::Google::Protobuf::MessageExts
322
334
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -348,6 +348,12 @@ module Google
348
348
  # @return [::String]
349
349
  # The user friendly id of the backup plan revision.
350
350
  # E.g. v0, v1 etc.
351
+ # @!attribute [r] auto_protection_policy_binding
352
+ # @return [::String]
353
+ # Output only. The resource name of the `AutoProtectionPolicyBinding` that
354
+ # manages this datasource, if any.
355
+ # Format:
356
+ # `projects/{project}/locations/{location}/autoProtectionPolicies/{policy}/bindings/{binding}`.
351
357
  class GcpBackupConfig
352
358
  include ::Google::Protobuf::MessageExts
353
359
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -616,6 +622,9 @@ module Google
616
622
  # @return [::Array<::String>]
617
623
  # Optional. Output only. The list of KMS key versions used to encrypt the
618
624
  # backup.
625
+ # @!attribute [r] verification_summary
626
+ # @return [::Google::Cloud::BackupDR::V1::VerificationSummary]
627
+ # Output only. The restore verification status of the backup.
619
628
  class Backup
620
629
  include ::Google::Protobuf::MessageExts
621
630
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -693,6 +702,34 @@ module Google
693
702
  end
694
703
  end
695
704
 
705
+ # VerificationSummary contains the status and timestamp of the
706
+ # latest Automated Verification test.
707
+ # @!attribute [r] last_verification_time
708
+ # @return [::Google::Protobuf::Timestamp]
709
+ # Output only. The time when the backup was last verified.
710
+ # @!attribute [r] last_verification_state
711
+ # @return [::Google::Cloud::BackupDR::V1::VerificationSummary::LastVerificationState]
712
+ # Output only. The state of the last verification.
713
+ # @!attribute [r] last_verification_execution
714
+ # @return [::String]
715
+ # Output only. The last verification execution.
716
+ class VerificationSummary
717
+ include ::Google::Protobuf::MessageExts
718
+ extend ::Google::Protobuf::MessageExts::ClassMethods
719
+
720
+ # LastVerificationState represents the state of the verification.
721
+ module LastVerificationState
722
+ # Verification state is unspecified.
723
+ STATE_UNSPECIFIED = 0
724
+
725
+ # Verification succeeded.
726
+ SUCCEEDED = 1
727
+
728
+ # Verification failed.
729
+ FAILED = 2
730
+ end
731
+ end
732
+
696
733
  # Message for creating a BackupVault.
697
734
  # @!attribute [rw] parent
698
735
  # @return [::String]
@@ -0,0 +1,149 @@
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
+ # Request message for List BindingMatchingResources.
25
+ # @!attribute [rw] parent
26
+ # @return [::String]
27
+ # Required. The project, location, auto protection policy and binding for
28
+ # which to retrieve `BindingMatchingResources` information. Format:
29
+ # `projects/{project}/locations/{location}/autoProtectionPolicies/{auto_protection_policy}/bindings/{binding}`.
30
+ # In Google Cloud Backup and DR, locations map to Google Cloud regions, for
31
+ # example **us-central1**.
32
+ # @!attribute [rw] page_size
33
+ # @return [::Integer]
34
+ # Optional. The maximum number of `BindingMatchingResources` to return in a
35
+ # single response. The default page size is 100 and maximum page size is 200.
36
+ # Note that the response may include a partial list and a caller should
37
+ # only rely on the response's
38
+ # {::Google::Cloud::BackupDR::V1::ListBindingMatchingResourcesResponse#next_page_token next_page_token}
39
+ # to determine if there are more instances left to be queried.
40
+ # @!attribute [rw] page_token
41
+ # @return [::String]
42
+ # Optional. The value of
43
+ # {::Google::Cloud::BackupDR::V1::ListBindingMatchingResourcesResponse#next_page_token next_page_token}
44
+ # received from a previous `ListBindingMatchingResources` call. Provide this
45
+ # to retrieve the subsequent page in a multi-page list of results. When
46
+ # paginating, all other parameters provided to `ListBindingMatchingResources`
47
+ # must match the call that provided the page token.
48
+ # @!attribute [rw] filter
49
+ # @return [::String]
50
+ # Optional. Field match expression used to filter the results.
51
+ # @!attribute [rw] order_by
52
+ # @return [::String]
53
+ # Optional. Field by which to sort the results.
54
+ class ListBindingMatchingResourcesRequest
55
+ include ::Google::Protobuf::MessageExts
56
+ extend ::Google::Protobuf::MessageExts::ClassMethods
57
+ end
58
+
59
+ # The response message for getting a list of `BindingMatchingResources`.
60
+ # @!attribute [rw] matching_resources
61
+ # @return [::Array<::Google::Cloud::BackupDR::V1::BindingMatchingResource>]
62
+ # The list of `BindingMatchingResources` in the project,location for the
63
+ # specified binding.
64
+ # @!attribute [rw] next_page_token
65
+ # @return [::String]
66
+ # A token which may be sent as
67
+ # {::Google::Cloud::BackupDR::V1::ListBindingMatchingResourcesRequest#page_token page_token}
68
+ # in a subsequent `ListBindingMatchingResources` call to retrieve the next
69
+ # page of results. If this field is omitted or empty, then there are no more
70
+ # results to return.
71
+ class ListBindingMatchingResourcesResponse
72
+ include ::Google::Protobuf::MessageExts
73
+ extend ::Google::Protobuf::MessageExts::ClassMethods
74
+ end
75
+
76
+ # BindingMatchingResource contains the details of a resource that matches the
77
+ # criteria of a binding.
78
+ # @!attribute [r] name
79
+ # @return [::String]
80
+ # Output only. Identifier. The resource name of the
81
+ # `BindingMatchingResource`. Format:
82
+ # `projects/{project}/locations/{location}/autoProtectionPolicies/{auto_protection_policy}/bindings/{binding}/matchingResources/{matching_resource}`
83
+ # @!attribute [r] resource
84
+ # @return [::String]
85
+ # Output only. Resource name of the workload that matches the criteria of the
86
+ # binding.
87
+ #
88
+ # The format can be either a relative resource name (e.g.,
89
+ # `projects/my-project/zones/us-central1-a/instances/my-instance`) or a
90
+ # schemeless full resource name (e.g.,
91
+ # `//compute.googleapis.com/projects/my-project/zones/us-central1-a/instances/my-instance`).
92
+ # @!attribute [r] last_evaluation_time
93
+ # @return [::Google::Protobuf::Timestamp]
94
+ # Output only. The timestamp when the resource was last evaluated for
95
+ # protection.
96
+ # @!attribute [r] auto_protection_details
97
+ # @return [::Google::Cloud::BackupDR::V1::AutoProtectionDetails]
98
+ # Output only. The auto protection details of the resource from the current
99
+ # binding's perspective.
100
+ class BindingMatchingResource
101
+ include ::Google::Protobuf::MessageExts
102
+ extend ::Google::Protobuf::MessageExts::ClassMethods
103
+ end
104
+
105
+ # AutoProtectionDetails contains the protection details of a resource from the
106
+ # current binding's perspective.
107
+ # @!attribute [r] state
108
+ # @return [::Google::Cloud::BackupDR::V1::AutoProtectionDetails::State]
109
+ # Output only. Protection state of the resource from the current binding's
110
+ # perspective. Output only.
111
+ # @!attribute [r] backup_plan_association
112
+ # @return [::String]
113
+ # Output only. Resource name of backup plan association linked to the
114
+ # resource, if any. Format:
115
+ # projects/\\{project}/locations/\\{location}/backupPlanAssociations/\\{backupPlanAssociationId}
116
+ # @!attribute [r] data_source
117
+ # @return [::String]
118
+ # Output only. Resource name of the datasource linked to the resource, if
119
+ # any. Format:
120
+ # projects/\\{project}/locations/\\{location}/backupVaults/\\{backupVaultId}/dataSources/\\{dataSourceId}
121
+ # @!attribute [r] error
122
+ # @return [::Google::Rpc::Status]
123
+ # Output only. Error during last sync for protection/unprotection, if any.
124
+ class AutoProtectionDetails
125
+ include ::Google::Protobuf::MessageExts
126
+ extend ::Google::Protobuf::MessageExts::ClassMethods
127
+
128
+ # Enum for protection state of the resource.
129
+ module State
130
+ # State unspecified.
131
+ STATE_UNSPECIFIED = 0
132
+
133
+ # Resource is protected.
134
+ PROTECTED = 1
135
+
136
+ # Resource protection failed.
137
+ PROTECTION_FAILED = 2
138
+
139
+ # Resource is being unprotected.
140
+ UNPROTECTING = 3
141
+
142
+ # Resource unprotection failed.
143
+ UNPROTECTION_FAILED = 4
144
+ end
145
+ end
146
+ end
147
+ end
148
+ end
149
+ end