google-cloud-backupdr-v1 0.2.0 → 0.3.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 (28) hide show
  1. checksums.yaml +4 -4
  2. data/lib/google/cloud/backupdr/v1/backupdr/client.rb +2829 -157
  3. data/lib/google/cloud/backupdr/v1/backupdr/operations.rb +3 -10
  4. data/lib/google/cloud/backupdr/v1/backupdr/paths.rb +101 -0
  5. data/lib/google/cloud/backupdr/v1/backupdr/rest/client.rb +2656 -151
  6. data/lib/google/cloud/backupdr/v1/backupdr/rest/operations.rb +3 -10
  7. data/lib/google/cloud/backupdr/v1/backupdr/rest/service_stub.rb +1382 -17
  8. data/lib/google/cloud/backupdr/v1/backupdr_pb.rb +5 -1
  9. data/lib/google/cloud/backupdr/v1/backupdr_services_pb.rb +48 -0
  10. data/lib/google/cloud/backupdr/v1/backupplan_pb.rb +62 -0
  11. data/lib/google/cloud/backupdr/v1/backupplanassociation_pb.rb +59 -0
  12. data/lib/google/cloud/backupdr/v1/backupvault_ba_pb.rb +46 -0
  13. data/lib/google/cloud/backupdr/v1/backupvault_gce_pb.rb +87 -0
  14. data/lib/google/cloud/backupdr/v1/backupvault_pb.rb +99 -0
  15. data/lib/google/cloud/backupdr/v1/version.rb +1 -1
  16. data/proto_docs/google/api/client.rb +51 -10
  17. data/proto_docs/google/api/field_info.rb +88 -0
  18. data/proto_docs/google/api/resource.rb +7 -2
  19. data/proto_docs/google/cloud/backupdr/v1/backupdr.rb +11 -10
  20. data/proto_docs/google/cloud/backupdr/v1/backupplan.rb +414 -0
  21. data/proto_docs/google/cloud/backupdr/v1/backupplanassociation.rb +272 -0
  22. data/proto_docs/google/cloud/backupdr/v1/backupvault.rb +1103 -0
  23. data/proto_docs/google/cloud/backupdr/v1/backupvault_ba.rb +47 -0
  24. data/proto_docs/google/cloud/backupdr/v1/backupvault_gce.rb +993 -0
  25. data/proto_docs/google/longrunning/operations.rb +19 -14
  26. data/proto_docs/google/type/dayofweek.rb +49 -0
  27. data/proto_docs/google/type/month.rb +64 -0
  28. metadata +16 -3
@@ -0,0 +1,414 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2024 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
+ # A `BackupPlan` specifies some common fields, such as `description` as well
25
+ # as one or more `BackupRule` messages. Each `BackupRule` has a retention
26
+ # policy and defines a schedule by which the system is to perform backup
27
+ # workloads.
28
+ # @!attribute [r] name
29
+ # @return [::String]
30
+ # Output only. Identifier. The resource name of the `BackupPlan`.
31
+ #
32
+ # Format: `projects/{project}/locations/{location}/backupPlans/{backup_plan}`
33
+ # @!attribute [rw] description
34
+ # @return [::String]
35
+ # Optional. The description of the `BackupPlan` resource.
36
+ #
37
+ # The description allows for additional details about `BackupPlan` and its
38
+ # use cases to be provided. An example description is the following: "This
39
+ # is a backup plan that performs a daily backup at 6pm and retains data for 3
40
+ # months". The description must be at most 2048 characters.
41
+ # @!attribute [rw] labels
42
+ # @return [::Google::Protobuf::Map{::String => ::String}]
43
+ # Optional. This collection of key/value pairs allows for custom labels to be
44
+ # supplied by the user. Example, \\{"tag": "Weekly"}.
45
+ # @!attribute [r] create_time
46
+ # @return [::Google::Protobuf::Timestamp]
47
+ # Output only. When the `BackupPlan` was created.
48
+ # @!attribute [r] update_time
49
+ # @return [::Google::Protobuf::Timestamp]
50
+ # Output only. When the `BackupPlan` was last updated.
51
+ # @!attribute [rw] backup_rules
52
+ # @return [::Array<::Google::Cloud::BackupDR::V1::BackupRule>]
53
+ # Required. The backup rules for this `BackupPlan`. There must be at least
54
+ # one `BackupRule` message.
55
+ # @!attribute [r] state
56
+ # @return [::Google::Cloud::BackupDR::V1::BackupPlan::State]
57
+ # Output only. The `State` for the `BackupPlan`.
58
+ # @!attribute [rw] resource_type
59
+ # @return [::String]
60
+ # Required. The resource type to which the `BackupPlan` will be applied.
61
+ # Examples include, "compute.googleapis.com/Instance" and
62
+ # "storage.googleapis.com/Bucket".
63
+ # @!attribute [rw] etag
64
+ # @return [::String]
65
+ # Optional. `etag` is returned from the service in the response. As a user of
66
+ # the service, you may provide an etag value in this field to prevent stale
67
+ # resources.
68
+ # @!attribute [rw] backup_vault
69
+ # @return [::String]
70
+ # Required. Resource name of backup vault which will be used as storage
71
+ # location for backups. Format:
72
+ # projects/\\{project}/locations/\\{location}/backupVaults/\\{backupvault}
73
+ # @!attribute [r] backup_vault_service_account
74
+ # @return [::String]
75
+ # Output only. The Google Cloud Platform Service Account to be used by the
76
+ # BackupVault for taking backups. Specify the email address of the Backup
77
+ # Vault Service Account.
78
+ class BackupPlan
79
+ include ::Google::Protobuf::MessageExts
80
+ extend ::Google::Protobuf::MessageExts::ClassMethods
81
+
82
+ # @!attribute [rw] key
83
+ # @return [::String]
84
+ # @!attribute [rw] value
85
+ # @return [::String]
86
+ class LabelsEntry
87
+ include ::Google::Protobuf::MessageExts
88
+ extend ::Google::Protobuf::MessageExts::ClassMethods
89
+ end
90
+
91
+ # `State` enumerates the possible states for a `BackupPlan`.
92
+ module State
93
+ # State not set.
94
+ STATE_UNSPECIFIED = 0
95
+
96
+ # The resource is being created.
97
+ CREATING = 1
98
+
99
+ # The resource has been created and is fully usable.
100
+ ACTIVE = 2
101
+
102
+ # The resource is being deleted.
103
+ DELETING = 3
104
+
105
+ # The resource has been created but is not usable.
106
+ INACTIVE = 4
107
+ end
108
+ end
109
+
110
+ # `BackupRule` binds the backup schedule to a retention policy.
111
+ # @!attribute [rw] rule_id
112
+ # @return [::String]
113
+ # Required. Immutable. The unique id of this `BackupRule`. The `rule_id` is
114
+ # unique per `BackupPlan`.The `rule_id` must start with a lowercase letter
115
+ # followed by up to 62 lowercase letters, numbers, or hyphens. Pattern,
116
+ # /[a-z][a-z0-9-]\\{,62}/.
117
+ # @!attribute [rw] backup_retention_days
118
+ # @return [::Integer]
119
+ # Required. Configures the duration for which backup data will be kept. It is
120
+ # defined in “days”. The value should be greater than or equal to minimum
121
+ # enforced retention of the backup vault.
122
+ # @!attribute [rw] standard_schedule
123
+ # @return [::Google::Cloud::BackupDR::V1::StandardSchedule]
124
+ # Required. Defines a schedule that runs within the confines of a defined
125
+ # window of time.
126
+ class BackupRule
127
+ include ::Google::Protobuf::MessageExts
128
+ extend ::Google::Protobuf::MessageExts::ClassMethods
129
+ end
130
+
131
+ # `StandardSchedule` defines a schedule that run within the confines of a
132
+ # defined window of days. We can define recurrence type for schedule as
133
+ # HOURLY, DAILY, WEEKLY, MONTHLY or YEARLY.
134
+ # @!attribute [rw] recurrence_type
135
+ # @return [::Google::Cloud::BackupDR::V1::StandardSchedule::RecurrenceType]
136
+ # Required. Specifies the `RecurrenceType` for the schedule.
137
+ # @!attribute [rw] hourly_frequency
138
+ # @return [::Integer]
139
+ # Optional. Specifies frequency for hourly backups. A hourly frequency of 2
140
+ # means jobs will run every 2 hours from start time till end time defined.
141
+ #
142
+ # This is required for `recurrence_type`, `HOURLY` and is not applicable
143
+ # otherwise. A validation error will occur if a value is supplied and
144
+ # `recurrence_type` is not `HOURLY`.
145
+ #
146
+ # Value of hourly frequency should be between 6 and 23.
147
+ #
148
+ # Reason for limit : We found that there is bandwidth limitation of 3GB/S for
149
+ # GMI while taking a backup and 5GB/S while doing a restore. Given the amount
150
+ # of parallel backups and restore we are targeting, this will potentially
151
+ # take the backup time to mins and hours (in worst case scenario).
152
+ # @!attribute [rw] days_of_week
153
+ # @return [::Array<::Google::Type::DayOfWeek>]
154
+ # Optional. Specifies days of week like, MONDAY or TUESDAY, on which jobs
155
+ # will run.
156
+ #
157
+ # This is required for `recurrence_type`, `WEEKLY` and is not applicable
158
+ # otherwise. A validation error will occur if a value is supplied and
159
+ # `recurrence_type` is not `WEEKLY`.
160
+ # @!attribute [rw] days_of_month
161
+ # @return [::Array<::Integer>]
162
+ # Optional. Specifies days of months like 1, 5, or 14 on which jobs will run.
163
+ #
164
+ # Values for `days_of_month` are only applicable for `recurrence_type`,
165
+ # `MONTHLY` and `YEARLY`. A validation error will occur if other values are
166
+ # supplied.
167
+ # @!attribute [rw] week_day_of_month
168
+ # @return [::Google::Cloud::BackupDR::V1::WeekDayOfMonth]
169
+ # Optional. Specifies a week day of the month like, FIRST SUNDAY or LAST
170
+ # MONDAY, on which jobs will run. This will be specified by two fields in
171
+ # `WeekDayOfMonth`, one for the day, e.g. `MONDAY`, and one for the week,
172
+ # e.g. `LAST`.
173
+ #
174
+ # This field is only applicable for `recurrence_type`, `MONTHLY` and
175
+ # `YEARLY`. A validation error will occur if other values are supplied.
176
+ # @!attribute [rw] months
177
+ # @return [::Array<::Google::Type::Month>]
178
+ # Optional. Specifies the months of year, like `FEBRUARY` and/or `MAY`, on
179
+ # which jobs will run.
180
+ #
181
+ # This field is only applicable when `recurrence_type` is `YEARLY`. A
182
+ # validation error will occur if other values are supplied.
183
+ # @!attribute [rw] backup_window
184
+ # @return [::Google::Cloud::BackupDR::V1::BackupWindow]
185
+ # Required. A BackupWindow defines the window of day during which backup jobs
186
+ # will run. Jobs are queued at the beginning of the window and will be marked
187
+ # as `NOT_RUN` if they do not start by the end of the window.
188
+ #
189
+ # Note: running jobs will not be cancelled at the end of the window.
190
+ # @!attribute [rw] time_zone
191
+ # @return [::String]
192
+ # Required. The time zone to be used when interpreting the schedule.
193
+ # The value of this field must be a time zone name from the IANA tz database.
194
+ # See https://en.wikipedia.org/wiki/List_of_tz_database_time_zones for the
195
+ # list of valid timezone names. For e.g., Europe/Paris.
196
+ class StandardSchedule
197
+ include ::Google::Protobuf::MessageExts
198
+ extend ::Google::Protobuf::MessageExts::ClassMethods
199
+
200
+ # `RecurrenceTypes` enumerates the applicable periodicity for the schedule.
201
+ module RecurrenceType
202
+ # recurrence type not set
203
+ RECURRENCE_TYPE_UNSPECIFIED = 0
204
+
205
+ # The `BackupRule` is to be applied hourly.
206
+ HOURLY = 1
207
+
208
+ # The `BackupRule` is to be applied daily.
209
+ DAILY = 2
210
+
211
+ # The `BackupRule` is to be applied weekly.
212
+ WEEKLY = 3
213
+
214
+ # The `BackupRule` is to be applied monthly.
215
+ MONTHLY = 4
216
+
217
+ # The `BackupRule` is to be applied yearly.
218
+ YEARLY = 5
219
+ end
220
+ end
221
+
222
+ # `BackupWindow` defines a window of the day during which backup jobs will run.
223
+ # @!attribute [rw] start_hour_of_day
224
+ # @return [::Integer]
225
+ # Required. The hour of day (0-23) when the window starts for e.g. if value
226
+ # of start hour of day is 6 that mean backup window start at 6:00.
227
+ # @!attribute [rw] end_hour_of_day
228
+ # @return [::Integer]
229
+ # Required. The hour of day (1-24) when the window end for e.g. if value of
230
+ # end hour of day is 10 that mean backup window end time is 10:00.
231
+ #
232
+ # End hour of day should be greater than start hour of day.
233
+ # 0 <= start_hour_of_day < end_hour_of_day <= 24
234
+ #
235
+ # End hour of day is not include in backup window that mean if
236
+ # end_hour_of_day= 10 jobs should start before 10:00.
237
+ class BackupWindow
238
+ include ::Google::Protobuf::MessageExts
239
+ extend ::Google::Protobuf::MessageExts::ClassMethods
240
+ end
241
+
242
+ # `WeekDayOfMonth` defines the week day of the month on which the backups will
243
+ # run. The message combines a `WeekOfMonth` and `DayOfWeek` to produce values
244
+ # like `FIRST`/`MONDAY` or `LAST`/`FRIDAY`.
245
+ # @!attribute [rw] week_of_month
246
+ # @return [::Google::Cloud::BackupDR::V1::WeekDayOfMonth::WeekOfMonth]
247
+ # Required. Specifies the week of the month.
248
+ # @!attribute [rw] day_of_week
249
+ # @return [::Google::Type::DayOfWeek]
250
+ # Required. Specifies the day of the week.
251
+ class WeekDayOfMonth
252
+ include ::Google::Protobuf::MessageExts
253
+ extend ::Google::Protobuf::MessageExts::ClassMethods
254
+
255
+ # `WeekOfMonth` enumerates possible weeks in the month, e.g. the first,
256
+ # third, or last week of the month.
257
+ module WeekOfMonth
258
+ # The zero value. Do not use.
259
+ WEEK_OF_MONTH_UNSPECIFIED = 0
260
+
261
+ # The first week of the month.
262
+ FIRST = 1
263
+
264
+ # The second week of the month.
265
+ SECOND = 2
266
+
267
+ # The third week of the month.
268
+ THIRD = 3
269
+
270
+ # The fourth week of the month.
271
+ FOURTH = 4
272
+
273
+ # The last week of the month.
274
+ LAST = 5
275
+ end
276
+ end
277
+
278
+ # The request message for creating a `BackupPlan`.
279
+ # @!attribute [rw] parent
280
+ # @return [::String]
281
+ # Required. The `BackupPlan` project and location in the format
282
+ # `projects/{project}/locations/{location}`. In Cloud BackupDR locations
283
+ # map to GCP regions, for example **us-central1**.
284
+ # @!attribute [rw] backup_plan_id
285
+ # @return [::String]
286
+ # Required. The name of the `BackupPlan` to create. The name must be unique
287
+ # for the specified project and location.The name must start with a lowercase
288
+ # letter followed by up to 62 lowercase letters, numbers, or hyphens.
289
+ # Pattern, /[a-z][a-z0-9-]\\{,62}/.
290
+ # @!attribute [rw] backup_plan
291
+ # @return [::Google::Cloud::BackupDR::V1::BackupPlan]
292
+ # Required. The `BackupPlan` resource object to create.
293
+ # @!attribute [rw] request_id
294
+ # @return [::String]
295
+ # Optional. An optional request ID to identify requests. Specify a unique
296
+ # request ID so that if you must retry your request, the server will know to
297
+ # ignore the request if it has already been completed. The server will
298
+ # guarantee that for at least 60 minutes since the first request.
299
+ #
300
+ # For example, consider a situation where you make an initial request and t
301
+ # he request times out. If you make the request again with the same request
302
+ # ID, the server can check if original operation with the same request ID
303
+ # was received, and if so, will ignore the second request. This prevents
304
+ # clients from accidentally creating duplicate commitments.
305
+ #
306
+ # The request ID must be a valid UUID with the exception that zero UUID is
307
+ # not supported (00000000-0000-0000-0000-000000000000).
308
+ class CreateBackupPlanRequest
309
+ include ::Google::Protobuf::MessageExts
310
+ extend ::Google::Protobuf::MessageExts::ClassMethods
311
+ end
312
+
313
+ # The request message for getting a list `BackupPlan`.
314
+ # @!attribute [rw] parent
315
+ # @return [::String]
316
+ # Required. The project and location for which to retrieve `BackupPlans`
317
+ # information. Format: `projects/{project}/locations/{location}`. In Cloud
318
+ # BackupDR, locations map to GCP regions, for e.g. **us-central1**. To
319
+ # retrieve backup plans for all locations, use "-" for the
320
+ # `{location}` value.
321
+ # @!attribute [rw] page_size
322
+ # @return [::Integer]
323
+ # Optional. The maximum number of `BackupPlans` to return in a single
324
+ # response. If not specified, a default value will be chosen by the service.
325
+ # Note that the response may include a partial list and a caller should
326
+ # only rely on the response's
327
+ # {::Google::Cloud::BackupDR::V1::ListBackupPlansResponse#next_page_token next_page_token}
328
+ # to determine if there are more instances left to be queried.
329
+ # @!attribute [rw] page_token
330
+ # @return [::String]
331
+ # Optional. The value of
332
+ # {::Google::Cloud::BackupDR::V1::ListBackupPlansResponse#next_page_token next_page_token}
333
+ # received from a previous `ListBackupPlans` call.
334
+ # Provide this to retrieve the subsequent page in a multi-page list of
335
+ # results. When paginating, all other parameters provided to
336
+ # `ListBackupPlans` must match the call that provided the page token.
337
+ # @!attribute [rw] filter
338
+ # @return [::String]
339
+ # Optional. Field match expression used to filter the results.
340
+ # @!attribute [rw] order_by
341
+ # @return [::String]
342
+ # Optional. Field by which to sort the results.
343
+ class ListBackupPlansRequest
344
+ include ::Google::Protobuf::MessageExts
345
+ extend ::Google::Protobuf::MessageExts::ClassMethods
346
+ end
347
+
348
+ # The response message for getting a list of `BackupPlan`.
349
+ # @!attribute [rw] backup_plans
350
+ # @return [::Array<::Google::Cloud::BackupDR::V1::BackupPlan>]
351
+ # The list of `BackupPlans` in the project for the specified
352
+ # location.
353
+ #
354
+ # If the `{location}` value in the request is "-", the response contains a
355
+ # list of resources from all locations. In case any location is unreachable,
356
+ # the response will only return backup plans in reachable locations and
357
+ # the 'unreachable' field will be populated with a list of unreachable
358
+ # locations.
359
+ # BackupPlan
360
+ # @!attribute [rw] next_page_token
361
+ # @return [::String]
362
+ # A token which may be sent as
363
+ # {::Google::Cloud::BackupDR::V1::ListBackupPlansRequest#page_token page_token} in
364
+ # a subsequent `ListBackupPlans` call to retrieve the next page of results.
365
+ # If this field is omitted or empty, then there are no more results to
366
+ # return.
367
+ # @!attribute [rw] unreachable
368
+ # @return [::Array<::String>]
369
+ # Locations that could not be reached.
370
+ class ListBackupPlansResponse
371
+ include ::Google::Protobuf::MessageExts
372
+ extend ::Google::Protobuf::MessageExts::ClassMethods
373
+ end
374
+
375
+ # The request message for getting a `BackupPlan`.
376
+ # @!attribute [rw] name
377
+ # @return [::String]
378
+ # Required. The resource name of the `BackupPlan` to retrieve.
379
+ #
380
+ # Format: `projects/{project}/locations/{location}/backupPlans/{backup_plan}`
381
+ class GetBackupPlanRequest
382
+ include ::Google::Protobuf::MessageExts
383
+ extend ::Google::Protobuf::MessageExts::ClassMethods
384
+ end
385
+
386
+ # The request message for deleting a `BackupPlan`.
387
+ # @!attribute [rw] name
388
+ # @return [::String]
389
+ # Required. The resource name of the `BackupPlan` to delete.
390
+ #
391
+ # Format: `projects/{project}/locations/{location}/backupPlans/{backup_plan}`
392
+ # @!attribute [rw] request_id
393
+ # @return [::String]
394
+ # Optional. An optional request ID to identify requests. Specify a unique
395
+ # request ID so that if you must retry your request, the server will know to
396
+ # ignore the request if it has already been completed. The server will
397
+ # guarantee that for at least 60 minutes after the first request.
398
+ #
399
+ # For example, consider a situation where you make an initial request and
400
+ # the request times out. If you make the request again with the same request
401
+ # ID, the server can check if original operation with the same request ID
402
+ # was received, and if so, will ignore the second request. This prevents
403
+ # clients from accidentally creating duplicate commitments.
404
+ #
405
+ # The request ID must be a valid UUID with the exception that zero UUID is
406
+ # not supported (00000000-0000-0000-0000-000000000000).
407
+ class DeleteBackupPlanRequest
408
+ include ::Google::Protobuf::MessageExts
409
+ extend ::Google::Protobuf::MessageExts::ClassMethods
410
+ end
411
+ end
412
+ end
413
+ end
414
+ end
@@ -0,0 +1,272 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2024 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
+ # A BackupPlanAssociation represents a single BackupPlanAssociation which
25
+ # contains details like workload, backup plan etc
26
+ # @!attribute [r] name
27
+ # @return [::String]
28
+ # Output only. Identifier. The resource name of BackupPlanAssociation in
29
+ # below format Format :
30
+ # projects/\\{project}/locations/\\{location}/backupPlanAssociations/\\{backupPlanAssociationId}
31
+ # @!attribute [rw] resource_type
32
+ # @return [::String]
33
+ # Optional. Resource type of workload on which backupplan is applied
34
+ # @!attribute [rw] resource
35
+ # @return [::String]
36
+ # Required. Immutable. Resource name of workload on which backupplan is
37
+ # applied
38
+ # @!attribute [rw] backup_plan
39
+ # @return [::String]
40
+ # Required. Resource name of backup plan which needs to be applied on
41
+ # workload. Format:
42
+ # projects/\\{project}/locations/\\{location}/backupPlans/\\{backupPlanId}
43
+ # @!attribute [r] create_time
44
+ # @return [::Google::Protobuf::Timestamp]
45
+ # Output only. The time when the instance was created.
46
+ # @!attribute [r] update_time
47
+ # @return [::Google::Protobuf::Timestamp]
48
+ # Output only. The time when the instance was updated.
49
+ # @!attribute [r] state
50
+ # @return [::Google::Cloud::BackupDR::V1::BackupPlanAssociation::State]
51
+ # Output only. The BackupPlanAssociation resource state.
52
+ # @!attribute [r] rules_config_info
53
+ # @return [::Array<::Google::Cloud::BackupDR::V1::RuleConfigInfo>]
54
+ # Output only. The config info related to backup rules.
55
+ # @!attribute [r] data_source
56
+ # @return [::String]
57
+ # Output only. Output Only.
58
+ #
59
+ # Resource name of data source which will be used as storage location for
60
+ # backups taken.
61
+ # Format :
62
+ # projects/\\{project}/locations/\\{location}/backupVaults/\\{backupvault}/dataSources/\\{datasource}
63
+ class BackupPlanAssociation
64
+ include ::Google::Protobuf::MessageExts
65
+ extend ::Google::Protobuf::MessageExts::ClassMethods
66
+
67
+ # Enum for State of BackupPlan Association
68
+ module State
69
+ # State not set.
70
+ STATE_UNSPECIFIED = 0
71
+
72
+ # The resource is being created.
73
+ CREATING = 1
74
+
75
+ # The resource has been created and is fully usable.
76
+ ACTIVE = 2
77
+
78
+ # The resource is being deleted.
79
+ DELETING = 3
80
+
81
+ # The resource has been created but is not usable.
82
+ INACTIVE = 4
83
+ end
84
+ end
85
+
86
+ # Message for rules config info.
87
+ # @!attribute [r] rule_id
88
+ # @return [::String]
89
+ # Output only. Output Only.
90
+ #
91
+ # Backup Rule id fetched from backup plan.
92
+ # @!attribute [r] last_backup_state
93
+ # @return [::Google::Cloud::BackupDR::V1::RuleConfigInfo::LastBackupState]
94
+ # Output only. The last backup state for rule.
95
+ # @!attribute [r] last_backup_error
96
+ # @return [::Google::Rpc::Status]
97
+ # Output only. Output Only.
98
+ #
99
+ # google.rpc.Status object to store the last backup error.
100
+ # @!attribute [r] last_successful_backup_consistency_time
101
+ # @return [::Google::Protobuf::Timestamp]
102
+ # Output only. The point in time when the last successful backup was captured
103
+ # from the source.
104
+ class RuleConfigInfo
105
+ include ::Google::Protobuf::MessageExts
106
+ extend ::Google::Protobuf::MessageExts::ClassMethods
107
+
108
+ # Enum for LastBackupState
109
+ module LastBackupState
110
+ # State not set.
111
+ LAST_BACKUP_STATE_UNSPECIFIED = 0
112
+
113
+ # The first backup is pending.
114
+ FIRST_BACKUP_PENDING = 1
115
+
116
+ # The most recent backup could not be run/failed because of the lack of
117
+ # permissions.
118
+ PERMISSION_DENIED = 2
119
+
120
+ # The last backup operation succeeded.
121
+ SUCCEEDED = 3
122
+
123
+ # The last backup operation failed.
124
+ FAILED = 4
125
+ end
126
+ end
127
+
128
+ # Request message for creating a backup plan.
129
+ # @!attribute [rw] parent
130
+ # @return [::String]
131
+ # Required. The backup plan association project and location in the format
132
+ # `projects/{project_id}/locations/{location}`. In Cloud BackupDR locations
133
+ # map to GCP regions, for example **us-central1**.
134
+ # @!attribute [rw] backup_plan_association_id
135
+ # @return [::String]
136
+ # Required. The name of the backup plan association to create. The name must
137
+ # be unique for the specified project and location.
138
+ # @!attribute [rw] backup_plan_association
139
+ # @return [::Google::Cloud::BackupDR::V1::BackupPlanAssociation]
140
+ # Required. The resource being created
141
+ # @!attribute [rw] request_id
142
+ # @return [::String]
143
+ # Optional. An optional request ID to identify requests. Specify a unique
144
+ # request ID so that if you must retry your request, the server will know to
145
+ # ignore the request if it has already been completed. The server will
146
+ # guarantee that for at least 60 minutes since the first request.
147
+ #
148
+ # For example, consider a situation where you make an initial request and t
149
+ # he request times out. If you make the request again with the same request
150
+ # ID, the server can check if original operation with the same request ID
151
+ # was received, and if so, will ignore the second request. This prevents
152
+ # clients from accidentally creating duplicate commitments.
153
+ #
154
+ # The request ID must be a valid UUID with the exception that zero UUID is
155
+ # not supported (00000000-0000-0000-0000-000000000000).
156
+ class CreateBackupPlanAssociationRequest
157
+ include ::Google::Protobuf::MessageExts
158
+ extend ::Google::Protobuf::MessageExts::ClassMethods
159
+ end
160
+
161
+ # Request message for List BackupPlanAssociation
162
+ # @!attribute [rw] parent
163
+ # @return [::String]
164
+ # Required. The project and location for which to retrieve backup Plan
165
+ # Associations information, in the format
166
+ # `projects/{project_id}/locations/{location}`. In Cloud BackupDR, locations
167
+ # map to GCP regions, for example **us-central1**. To retrieve backup plan
168
+ # associations for all locations, use "-" for the
169
+ # `{location}` value.
170
+ # @!attribute [rw] page_size
171
+ # @return [::Integer]
172
+ # Optional. Requested page size. Server may return fewer items than
173
+ # requested. If unspecified, server will pick an appropriate default.
174
+ # @!attribute [rw] page_token
175
+ # @return [::String]
176
+ # Optional. A token identifying a page of results the server should return.
177
+ # @!attribute [rw] filter
178
+ # @return [::String]
179
+ # Optional. Filtering results
180
+ class ListBackupPlanAssociationsRequest
181
+ include ::Google::Protobuf::MessageExts
182
+ extend ::Google::Protobuf::MessageExts::ClassMethods
183
+ end
184
+
185
+ # Response message for List BackupPlanAssociation
186
+ # @!attribute [rw] backup_plan_associations
187
+ # @return [::Array<::Google::Cloud::BackupDR::V1::BackupPlanAssociation>]
188
+ # The list of Backup Plan Associations in the project for the specified
189
+ # location.
190
+ #
191
+ # If the `{location}` value in the request is "-", the response contains a
192
+ # list of instances from all locations. In case any location is unreachable,
193
+ # the response will only return backup plan associations in reachable
194
+ # locations and the 'unreachable' field will be populated with a list of
195
+ # unreachable locations.
196
+ # @!attribute [rw] next_page_token
197
+ # @return [::String]
198
+ # A token identifying a page of results the server should return.
199
+ # @!attribute [rw] unreachable
200
+ # @return [::Array<::String>]
201
+ # Locations that could not be reached.
202
+ class ListBackupPlanAssociationsResponse
203
+ include ::Google::Protobuf::MessageExts
204
+ extend ::Google::Protobuf::MessageExts::ClassMethods
205
+ end
206
+
207
+ # Request message for getting a BackupPlanAssociation resource.
208
+ # @!attribute [rw] name
209
+ # @return [::String]
210
+ # Required. Name of the backup plan association resource, in the format
211
+ # `projects/{project}/locations/{location}/backupPlanAssociations/{backupPlanAssociationId}`
212
+ class GetBackupPlanAssociationRequest
213
+ include ::Google::Protobuf::MessageExts
214
+ extend ::Google::Protobuf::MessageExts::ClassMethods
215
+ end
216
+
217
+ # Request message for deleting a backup plan association.
218
+ # @!attribute [rw] name
219
+ # @return [::String]
220
+ # Required. Name of the backup plan association resource, in the format
221
+ # `projects/{project}/locations/{location}/backupPlanAssociations/{backupPlanAssociationId}`
222
+ # @!attribute [rw] request_id
223
+ # @return [::String]
224
+ # Optional. An optional request ID to identify requests. Specify a unique
225
+ # request ID so that if you must retry your request, the server will know to
226
+ # ignore the request if it has already been completed. The server will
227
+ # guarantee that for at least 60 minutes after the first request.
228
+ #
229
+ # For example, consider a situation where you make an initial request and
230
+ # the request times out. If you make the request again with the same request
231
+ # ID, the server can check if original operation with the same request ID
232
+ # was received, and if so, will ignore the second request. This prevents
233
+ # clients from accidentally creating duplicate commitments.
234
+ #
235
+ # The request ID must be a valid UUID with the exception that zero UUID is
236
+ # not supported (00000000-0000-0000-0000-000000000000).
237
+ class DeleteBackupPlanAssociationRequest
238
+ include ::Google::Protobuf::MessageExts
239
+ extend ::Google::Protobuf::MessageExts::ClassMethods
240
+ end
241
+
242
+ # Request message for triggering a backup.
243
+ # @!attribute [rw] name
244
+ # @return [::String]
245
+ # Required. Name of the backup plan association resource, in the format
246
+ # `projects/{project}/locations/{location}/backupPlanAssociations/{backupPlanAssociationId}`
247
+ # @!attribute [rw] rule_id
248
+ # @return [::String]
249
+ # Required. backup rule_id for which a backup needs to be triggered.
250
+ # @!attribute [rw] request_id
251
+ # @return [::String]
252
+ # Optional. An optional request ID to identify requests. Specify a unique
253
+ # request ID so that if you must retry your request, the server will know to
254
+ # ignore the request if it has already been completed. The server will
255
+ # guarantee that for at least 60 minutes after the first request.
256
+ #
257
+ # For example, consider a situation where you make an initial request and
258
+ # the request times out. If you make the request again with the same request
259
+ # ID, the server can check if original operation with the same request ID
260
+ # was received, and if so, will ignore the second request. This prevents
261
+ # clients from accidentally creating duplicate commitments.
262
+ #
263
+ # The request ID must be a valid UUID with the exception that zero UUID is
264
+ # not supported (00000000-0000-0000-0000-000000000000).
265
+ class TriggerBackupRequest
266
+ include ::Google::Protobuf::MessageExts
267
+ extend ::Google::Protobuf::MessageExts::ClassMethods
268
+ end
269
+ end
270
+ end
271
+ end
272
+ end