google-cloud-backupdr-v1 0.2.1 → 0.4.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/README.md +30 -20
  3. data/lib/google/cloud/backupdr/v1/backupdr/client.rb +2850 -156
  4. data/lib/google/cloud/backupdr/v1/backupdr/operations.rb +12 -15
  5. data/lib/google/cloud/backupdr/v1/backupdr/paths.rb +101 -0
  6. data/lib/google/cloud/backupdr/v1/backupdr/rest/client.rb +2676 -156
  7. data/lib/google/cloud/backupdr/v1/backupdr/rest/operations.rb +43 -38
  8. data/lib/google/cloud/backupdr/v1/backupdr/rest/service_stub.rb +1514 -83
  9. data/lib/google/cloud/backupdr/v1/backupdr_pb.rb +5 -1
  10. data/lib/google/cloud/backupdr/v1/backupdr_services_pb.rb +48 -0
  11. data/lib/google/cloud/backupdr/v1/backupplan_pb.rb +62 -0
  12. data/lib/google/cloud/backupdr/v1/backupplanassociation_pb.rb +59 -0
  13. data/lib/google/cloud/backupdr/v1/backupvault_ba_pb.rb +46 -0
  14. data/lib/google/cloud/backupdr/v1/backupvault_gce_pb.rb +87 -0
  15. data/lib/google/cloud/backupdr/v1/backupvault_pb.rb +99 -0
  16. data/lib/google/cloud/backupdr/v1/version.rb +1 -1
  17. data/proto_docs/google/api/client.rb +39 -0
  18. data/proto_docs/google/api/field_info.rb +88 -0
  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 +18 -5
@@ -28,6 +28,9 @@ module Google
28
28
  # @!attribute [rw] destinations
29
29
  # @return [::Array<::Google::Api::ClientLibraryDestination>]
30
30
  # The destination where API teams want this client library to be published.
31
+ # @!attribute [rw] selective_gapic_generation
32
+ # @return [::Google::Api::SelectiveGapicGeneration]
33
+ # Configuration for which RPCs should be generated in the GAPIC client.
31
34
  class CommonLanguageSettings
32
35
  include ::Google::Protobuf::MessageExts
33
36
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -212,6 +215,12 @@ module Google
212
215
  # enabled. By default, asynchronous REST clients will not be generated.
213
216
  # This feature will be enabled by default 1 month after launching the
214
217
  # feature in preview packages.
218
+ # @!attribute [rw] protobuf_pythonic_types_enabled
219
+ # @return [::Boolean]
220
+ # Enables generation of protobuf code using new types that are more
221
+ # Pythonic which are included in `protobuf>=5.29.x`. This feature will be
222
+ # enabled by default 1 month after launching the feature in preview
223
+ # packages.
215
224
  class ExperimentalFeatures
216
225
  include ::Google::Protobuf::MessageExts
217
226
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -297,9 +306,28 @@ module Google
297
306
  # @!attribute [rw] common
298
307
  # @return [::Google::Api::CommonLanguageSettings]
299
308
  # Some settings.
309
+ # @!attribute [rw] renamed_services
310
+ # @return [::Google::Protobuf::Map{::String => ::String}]
311
+ # Map of service names to renamed services. Keys are the package relative
312
+ # service names and values are the name to be used for the service client
313
+ # and call options.
314
+ #
315
+ # publishing:
316
+ # go_settings:
317
+ # renamed_services:
318
+ # Publisher: TopicAdmin
300
319
  class GoSettings
301
320
  include ::Google::Protobuf::MessageExts
302
321
  extend ::Google::Protobuf::MessageExts::ClassMethods
322
+
323
+ # @!attribute [rw] key
324
+ # @return [::String]
325
+ # @!attribute [rw] value
326
+ # @return [::String]
327
+ class RenamedServicesEntry
328
+ include ::Google::Protobuf::MessageExts
329
+ extend ::Google::Protobuf::MessageExts::ClassMethods
330
+ end
303
331
  end
304
332
 
305
333
  # Describes the generator configuration for a method.
@@ -375,6 +403,17 @@ module Google
375
403
  end
376
404
  end
377
405
 
406
+ # This message is used to configure the generation of a subset of the RPCs in
407
+ # a service for client libraries.
408
+ # @!attribute [rw] methods
409
+ # @return [::Array<::String>]
410
+ # An allowlist of the fully qualified names of RPCs that should be included
411
+ # on public client surfaces.
412
+ class SelectiveGapicGeneration
413
+ include ::Google::Protobuf::MessageExts
414
+ extend ::Google::Protobuf::MessageExts::ClassMethods
415
+ end
416
+
378
417
  # The organization for which the client libraries are being published.
379
418
  # Affects the url where generated docs are published, etc.
380
419
  module ClientLibraryOrganization
@@ -0,0 +1,88 @@
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 Api
22
+ # Rich semantic information of an API field beyond basic typing.
23
+ # @!attribute [rw] format
24
+ # @return [::Google::Api::FieldInfo::Format]
25
+ # The standard format of a field value. This does not explicitly configure
26
+ # any API consumer, just documents the API's format for the field it is
27
+ # applied to.
28
+ # @!attribute [rw] referenced_types
29
+ # @return [::Array<::Google::Api::TypeReference>]
30
+ # The type(s) that the annotated, generic field may represent.
31
+ #
32
+ # Currently, this must only be used on fields of type `google.protobuf.Any`.
33
+ # Supporting other generic types may be considered in the future.
34
+ class FieldInfo
35
+ include ::Google::Protobuf::MessageExts
36
+ extend ::Google::Protobuf::MessageExts::ClassMethods
37
+
38
+ # The standard format of a field value. The supported formats are all backed
39
+ # by either an RFC defined by the IETF or a Google-defined AIP.
40
+ module Format
41
+ # Default, unspecified value.
42
+ FORMAT_UNSPECIFIED = 0
43
+
44
+ # Universally Unique Identifier, version 4, value as defined by
45
+ # https://datatracker.ietf.org/doc/html/rfc4122. The value may be
46
+ # normalized to entirely lowercase letters. For example, the value
47
+ # `F47AC10B-58CC-0372-8567-0E02B2C3D479` would be normalized to
48
+ # `f47ac10b-58cc-0372-8567-0e02b2c3d479`.
49
+ UUID4 = 1
50
+
51
+ # Internet Protocol v4 value as defined by [RFC
52
+ # 791](https://datatracker.ietf.org/doc/html/rfc791). The value may be
53
+ # condensed, with leading zeros in each octet stripped. For example,
54
+ # `001.022.233.040` would be condensed to `1.22.233.40`.
55
+ IPV4 = 2
56
+
57
+ # Internet Protocol v6 value as defined by [RFC
58
+ # 2460](https://datatracker.ietf.org/doc/html/rfc2460). The value may be
59
+ # normalized to entirely lowercase letters with zeros compressed, following
60
+ # [RFC 5952](https://datatracker.ietf.org/doc/html/rfc5952). For example,
61
+ # the value `2001:0DB8:0::0` would be normalized to `2001:db8::`.
62
+ IPV6 = 3
63
+
64
+ # An IP address in either v4 or v6 format as described by the individual
65
+ # values defined herein. See the comments on the IPV4 and IPV6 types for
66
+ # allowed normalizations of each.
67
+ IPV4_OR_IPV6 = 4
68
+ end
69
+ end
70
+
71
+ # A reference to a message type, for use in {::Google::Api::FieldInfo FieldInfo}.
72
+ # @!attribute [rw] type_name
73
+ # @return [::String]
74
+ # The name of the type that the annotated, generic field may represent.
75
+ # If the type is in the same protobuf package, the value can be the simple
76
+ # message name e.g., `"MyMessage"`. Otherwise, the value must be the
77
+ # fully-qualified message name e.g., `"google.library.v1.Book"`.
78
+ #
79
+ # If the type(s) are unknown to the service (e.g. the field accepts generic
80
+ # user input), use the wildcard `"*"` to denote this behavior.
81
+ #
82
+ # See [AIP-202](https://google.aip.dev/202#type-references) for more details.
83
+ class TypeReference
84
+ include ::Google::Protobuf::MessageExts
85
+ extend ::Google::Protobuf::MessageExts::ClassMethods
86
+ end
87
+ end
88
+ end
@@ -128,7 +128,7 @@ module Google
128
128
  # @return [::String]
129
129
  # Output only. The OAuth 2.0 client id is required to make API calls to the
130
130
  # BackupDR instance API of this ManagementServer. This is the value that
131
- # should be provided in the aud field of the OIDC ID Token (see openid
131
+ # should be provided in the 'aud' field of the OIDC ID Token (see openid
132
132
  # specification
133
133
  # https://openid.net/specs/openid-connect-core-1_0.html#IDToken).
134
134
  # @!attribute [r] workforce_identity_based_oauth2_client_id
@@ -201,10 +201,11 @@ module Google
201
201
  # @!attribute [rw] parent
202
202
  # @return [::String]
203
203
  # Required. The project and location for which to retrieve management servers
204
- # information, in the format `projects/{project_id}/locations/{location}`. In
205
- # Cloud BackupDR, locations map to GCP regions, for example **us-central1**.
206
- # To retrieve management servers for all locations, use "-" for the
207
- # `{location}` value.
204
+ # information, in the format 'projects/\\{project_id}/locations/\\{location}'. In
205
+ # Cloud BackupDR, locations map to Google Cloud regions, for example
206
+ # **us-central1**. To retrieve management servers for all locations, use "-"
207
+ # for the
208
+ # '\\{location}' value.
208
209
  # @!attribute [rw] page_size
209
210
  # @return [::Integer]
210
211
  # Optional. Requested page size. Server may return fewer items than
@@ -229,7 +230,7 @@ module Google
229
230
  # The list of ManagementServer instances in the project for the specified
230
231
  # location.
231
232
  #
232
- # If the `{location}` value in the request is "-", the response contains a
233
+ # If the '\\{location}' value in the request is "-", the response contains a
233
234
  # list of instances from all locations. In case any location is unreachable,
234
235
  # the response will only return management servers in reachable locations and
235
236
  # the 'unreachable' field will be populated with a list of unreachable
@@ -249,7 +250,7 @@ module Google
249
250
  # @!attribute [rw] name
250
251
  # @return [::String]
251
252
  # Required. Name of the management server resource name, in the format
252
- # `projects/{project_id}/locations/{location}/managementServers/{resource_name}`
253
+ # 'projects/\\{project_id}/locations/\\{location}/managementServers/\\{resource_name}'
253
254
  class GetManagementServerRequest
254
255
  include ::Google::Protobuf::MessageExts
255
256
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -259,8 +260,8 @@ module Google
259
260
  # @!attribute [rw] parent
260
261
  # @return [::String]
261
262
  # Required. The management server project and location in the format
262
- # `projects/{project_id}/locations/{location}`. In Cloud Backup and DR
263
- # locations map to GCP regions, for example **us-central1**.
263
+ # 'projects/\\{project_id}/locations/\\{location}'. In Cloud Backup and DR
264
+ # locations map to Google Cloud regions, for example **us-central1**.
264
265
  # @!attribute [rw] management_server_id
265
266
  # @return [::String]
266
267
  # Required. The name of the management server to create. The name must be
@@ -335,7 +336,7 @@ module Google
335
336
  # of the operation. Operations that have successfully been cancelled
336
337
  # have [Operation.error][] value with a
337
338
  # {::Google::Rpc::Status#code google.rpc.Status.code} of 1, corresponding to
338
- # `Code.CANCELLED`.
339
+ # 'Code.CANCELLED'.
339
340
  # @!attribute [r] api_version
340
341
  # @return [::String]
341
342
  # Output only. API version used to start the operation.
@@ -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