File: backupdr_v1.projects.locations.backupPlans.html

package info (click to toggle)
python-googleapi 2.180.0-1
  • links: PTS
  • area: main
  • in suites: forky, sid
  • size: 527,124 kB
  • sloc: python: 11,076; javascript: 249; sh: 114; makefile: 59
file content (477 lines) | stat: -rw-r--r-- 51,623 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
<html><body>
<style>

body, h1, h2, h3, div, span, p, pre, a {
  margin: 0;
  padding: 0;
  border: 0;
  font-weight: inherit;
  font-style: inherit;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
}

body {
  font-size: 13px;
  padding: 1em;
}

h1 {
  font-size: 26px;
  margin-bottom: 1em;
}

h2 {
  font-size: 24px;
  margin-bottom: 1em;
}

h3 {
  font-size: 20px;
  margin-bottom: 1em;
  margin-top: 1em;
}

pre, code {
  line-height: 1.5;
  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
}

pre {
  margin-top: 0.5em;
}

h1, h2, h3, p {
  font-family: Arial, sans serif;
}

h1, h2, h3 {
  border-bottom: solid #CCC 1px;
}

.toc_element {
  margin-top: 0.5em;
}

.firstline {
  margin-left: 2 em;
}

.method  {
  margin-top: 1em;
  border: solid 1px #CCC;
  padding: 1em;
  background: #EEE;
}

.details {
  font-weight: bold;
  font-size: 14px;
}

</style>

<h1><a href="backupdr_v1.html">Backup and DR Service API</a> . <a href="backupdr_v1.projects.html">projects</a> . <a href="backupdr_v1.projects.locations.html">locations</a> . <a href="backupdr_v1.projects.locations.backupPlans.html">backupPlans</a></h1>
<h2>Instance Methods</h2>
<p class="toc_element">
  <code><a href="backupdr_v1.projects.locations.backupPlans.revisions.html">revisions()</a></code>
</p>
<p class="firstline">Returns the revisions Resource.</p>

<p class="toc_element">
  <code><a href="#close">close()</a></code></p>
<p class="firstline">Close httplib2 connections.</p>
<p class="toc_element">
  <code><a href="#create">create(parent, backupPlanId=None, body=None, requestId=None, x__xgafv=None)</a></code></p>
<p class="firstline">Create a BackupPlan</p>
<p class="toc_element">
  <code><a href="#delete">delete(name, requestId=None, x__xgafv=None)</a></code></p>
<p class="firstline">Deletes a single BackupPlan.</p>
<p class="toc_element">
  <code><a href="#get">get(name, x__xgafv=None)</a></code></p>
<p class="firstline">Gets details of a single BackupPlan.</p>
<p class="toc_element">
  <code><a href="#list">list(parent, filter=None, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None)</a></code></p>
<p class="firstline">Lists BackupPlans in a given project and location.</p>
<p class="toc_element">
  <code><a href="#list_next">list_next()</a></code></p>
<p class="firstline">Retrieves the next page of results.</p>
<p class="toc_element">
  <code><a href="#patch">patch(name, body=None, requestId=None, updateMask=None, x__xgafv=None)</a></code></p>
<p class="firstline">Update a BackupPlan.</p>
<h3>Method Details</h3>
<div class="method">
    <code class="details" id="close">close()</code>
  <pre>Close httplib2 connections.</pre>
</div>

<div class="method">
    <code class="details" id="create">create(parent, backupPlanId=None, body=None, requestId=None, x__xgafv=None)</code>
  <pre>Create a BackupPlan

Args:
  parent: string, Required. The `BackupPlan` project and location in the format `projects/{project}/locations/{location}`. In Cloud BackupDR locations map to GCP regions, for example **us-central1**. (required)
  body: object, The request body.
    The object takes the form of:

{ # A `BackupPlan` specifies some common fields, such as `description` as well as one or more `BackupRule` messages. Each `BackupRule` has a retention policy and defines a schedule by which the system is to perform backup workloads.
  &quot;backupRules&quot;: [ # Optional. The backup rules for this `BackupPlan`.
    { # `BackupRule` binds the backup schedule to a retention policy.
      &quot;backupRetentionDays&quot;: 42, # Required. Configures the duration for which backup data will be kept. It is defined in “days”. The value should be greater than or equal to minimum enforced retention of the backup vault. Minimum value is 1 and maximum value is 36159 for custom retention on-demand backup. Minimum and maximum values are workload specific for all other rules.
      &quot;ruleId&quot;: &quot;A String&quot;, # Required. Immutable. The unique id of this `BackupRule`. The `rule_id` is unique per `BackupPlan`.The `rule_id` must start with a lowercase letter followed by up to 62 lowercase letters, numbers, or hyphens. Pattern, /a-z{,62}/.
      &quot;standardSchedule&quot;: { # `StandardSchedule` defines a schedule that run within the confines of a defined window of days. We can define recurrence type for schedule as HOURLY, DAILY, WEEKLY, MONTHLY or YEARLY. # Optional. Defines a schedule that runs within the confines of a defined window of time.
        &quot;backupWindow&quot;: { # `BackupWindow` defines a window of the day during which backup jobs will run. # Required. A BackupWindow defines the window of day during which backup jobs will run. Jobs are queued at the beginning of the window and will be marked as `NOT_RUN` if they do not start by the end of the window. Note: running jobs will not be cancelled at the end of the window.
          &quot;endHourOfDay&quot;: 42, # Required. The hour of day (1-24) when the window end for e.g. if value of end hour of day is 10 that mean backup window end time is 10:00. End hour of day should be greater than start hour of day. 0 &lt;= start_hour_of_day &lt; end_hour_of_day &lt;= 24 End hour of day is not include in backup window that mean if end_hour_of_day= 10 jobs should start before 10:00.
          &quot;startHourOfDay&quot;: 42, # Required. The hour of day (0-23) when the window starts for e.g. if value of start hour of day is 6 that mean backup window start at 6:00.
        },
        &quot;daysOfMonth&quot;: [ # Optional. Specifies days of months like 1, 5, or 14 on which jobs will run. Values for `days_of_month` are only applicable for `recurrence_type`, `MONTHLY` and `YEARLY`. A validation error will occur if other values are supplied.
          42,
        ],
        &quot;daysOfWeek&quot;: [ # Optional. Specifies days of week like, MONDAY or TUESDAY, on which jobs will run. This is required for `recurrence_type`, `WEEKLY` and is not applicable otherwise. A validation error will occur if a value is supplied and `recurrence_type` is not `WEEKLY`.
          &quot;A String&quot;,
        ],
        &quot;hourlyFrequency&quot;: 42, # Optional. Specifies frequency for hourly backups. A hourly frequency of 2 means jobs will run every 2 hours from start time till end time defined. This is required for `recurrence_type`, `HOURLY` and is not applicable otherwise. A validation error will occur if a value is supplied and `recurrence_type` is not `HOURLY`. Value of hourly frequency should be between 4 and 23. Reason for limit : We found that there is bandwidth limitation of 3GB/S for GMI while taking a backup and 5GB/S while doing a restore. Given the amount of parallel backups and restore we are targeting, this will potentially take the backup time to mins and hours (in worst case scenario).
        &quot;months&quot;: [ # Optional. Specifies the months of year, like `FEBRUARY` and/or `MAY`, on which jobs will run. This field is only applicable when `recurrence_type` is `YEARLY`. A validation error will occur if other values are supplied.
          &quot;A String&quot;,
        ],
        &quot;recurrenceType&quot;: &quot;A String&quot;, # Required. Specifies the `RecurrenceType` for the schedule.
        &quot;timeZone&quot;: &quot;A String&quot;, # Required. The time zone to be used when interpreting the schedule. The value of this field must be a time zone name from the IANA tz database. See https://en.wikipedia.org/wiki/List_of_tz_database_time_zones for the list of valid timezone names. For e.g., Europe/Paris.
        &quot;weekDayOfMonth&quot;: { # `WeekDayOfMonth` defines the week day of the month on which the backups will run. The message combines a `WeekOfMonth` and `DayOfWeek` to produce values like `FIRST`/`MONDAY` or `LAST`/`FRIDAY`. # Optional. Specifies a week day of the month like, FIRST SUNDAY or LAST MONDAY, on which jobs will run. This will be specified by two fields in `WeekDayOfMonth`, one for the day, e.g. `MONDAY`, and one for the week, e.g. `LAST`. This field is only applicable for `recurrence_type`, `MONTHLY` and `YEARLY`. A validation error will occur if other values are supplied.
          &quot;dayOfWeek&quot;: &quot;A String&quot;, # Required. Specifies the day of the week.
          &quot;weekOfMonth&quot;: &quot;A String&quot;, # Required. Specifies the week of the month.
        },
      },
    },
  ],
  &quot;backupVault&quot;: &quot;A String&quot;, # Required. Resource name of backup vault which will be used as storage location for backups. Format: projects/{project}/locations/{location}/backupVaults/{backupvault}
  &quot;backupVaultServiceAccount&quot;: &quot;A String&quot;, # Output only. The Google Cloud Platform Service Account to be used by the BackupVault for taking backups. Specify the email address of the Backup Vault Service Account.
  &quot;createTime&quot;: &quot;A String&quot;, # Output only. When the `BackupPlan` was created.
  &quot;description&quot;: &quot;A String&quot;, # Optional. The description of the `BackupPlan` resource. The description allows for additional details about `BackupPlan` and its use cases to be provided. An example description is the following: &quot;This is a backup plan that performs a daily backup at 6pm and retains data for 3 months&quot;. The description must be at most 2048 characters.
  &quot;etag&quot;: &quot;A String&quot;, # Optional. `etag` is returned from the service in the response. As a user of the service, you may provide an etag value in this field to prevent stale resources.
  &quot;labels&quot;: { # Optional. This collection of key/value pairs allows for custom labels to be supplied by the user. Example, {&quot;tag&quot;: &quot;Weekly&quot;}.
    &quot;a_key&quot;: &quot;A String&quot;,
  },
  &quot;logRetentionDays&quot;: &quot;A String&quot;, # Optional. Applicable only for CloudSQL resource_type. Configures how long logs will be stored. It is defined in “days”. This value should be greater than or equal to minimum enforced log retention duration of the backup vault.
  &quot;name&quot;: &quot;A String&quot;, # Output only. Identifier. The resource name of the `BackupPlan`. Format: `projects/{project}/locations/{location}/backupPlans/{backup_plan}`
  &quot;resourceType&quot;: &quot;A String&quot;, # Required. The resource type to which the `BackupPlan` will be applied. Examples include, &quot;compute.googleapis.com/Instance&quot;, &quot;sqladmin.googleapis.com/Instance&quot;, &quot;alloydb.googleapis.com/Cluster&quot;, &quot;compute.googleapis.com/Disk&quot;.
  &quot;revisionId&quot;: &quot;A String&quot;, # Output only. The user friendly revision ID of the `BackupPlanRevision`. Example: v0, v1, v2, etc.
  &quot;revisionName&quot;: &quot;A String&quot;, # Output only. The resource id of the `BackupPlanRevision`. Format: `projects/{project}/locations/{location}/backupPlans/{backup_plan}/revisions/{revision_id}`
  &quot;state&quot;: &quot;A String&quot;, # Output only. The `State` for the `BackupPlan`.
  &quot;supportedResourceTypes&quot;: [ # Output only. All resource types to which backupPlan can be applied.
    &quot;A String&quot;,
  ],
  &quot;updateTime&quot;: &quot;A String&quot;, # Output only. When the `BackupPlan` was last updated.
}

  backupPlanId: string, Required. The name of the `BackupPlan` to create. The name must be unique for the specified project and location.The name must start with a lowercase letter followed by up to 62 lowercase letters, numbers, or hyphens. Pattern, /a-z{,62}/.
  requestId: string, Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and t he request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # This resource represents a long-running operation that is the result of a network API call.
  &quot;done&quot;: True or False, # If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.
  &quot;error&quot;: { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # The error result of the operation in case of failure or cancellation.
    &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
    &quot;details&quot;: [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
      {
        &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
      },
    ],
    &quot;message&quot;: &quot;A String&quot;, # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
  },
  &quot;metadata&quot;: { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
    &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
  },
  &quot;name&quot;: &quot;A String&quot;, # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.
  &quot;response&quot;: { # The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
    &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
  },
}</pre>
</div>

<div class="method">
    <code class="details" id="delete">delete(name, requestId=None, x__xgafv=None)</code>
  <pre>Deletes a single BackupPlan.

Args:
  name: string, Required. The resource name of the `BackupPlan` to delete. Format: `projects/{project}/locations/{location}/backupPlans/{backup_plan}` (required)
  requestId: string, Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # This resource represents a long-running operation that is the result of a network API call.
  &quot;done&quot;: True or False, # If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.
  &quot;error&quot;: { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # The error result of the operation in case of failure or cancellation.
    &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
    &quot;details&quot;: [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
      {
        &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
      },
    ],
    &quot;message&quot;: &quot;A String&quot;, # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
  },
  &quot;metadata&quot;: { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
    &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
  },
  &quot;name&quot;: &quot;A String&quot;, # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.
  &quot;response&quot;: { # The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
    &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
  },
}</pre>
</div>

<div class="method">
    <code class="details" id="get">get(name, x__xgafv=None)</code>
  <pre>Gets details of a single BackupPlan.

Args:
  name: string, Required. The resource name of the `BackupPlan` to retrieve. Format: `projects/{project}/locations/{location}/backupPlans/{backup_plan}` (required)
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # A `BackupPlan` specifies some common fields, such as `description` as well as one or more `BackupRule` messages. Each `BackupRule` has a retention policy and defines a schedule by which the system is to perform backup workloads.
  &quot;backupRules&quot;: [ # Optional. The backup rules for this `BackupPlan`.
    { # `BackupRule` binds the backup schedule to a retention policy.
      &quot;backupRetentionDays&quot;: 42, # Required. Configures the duration for which backup data will be kept. It is defined in “days”. The value should be greater than or equal to minimum enforced retention of the backup vault. Minimum value is 1 and maximum value is 36159 for custom retention on-demand backup. Minimum and maximum values are workload specific for all other rules.
      &quot;ruleId&quot;: &quot;A String&quot;, # Required. Immutable. The unique id of this `BackupRule`. The `rule_id` is unique per `BackupPlan`.The `rule_id` must start with a lowercase letter followed by up to 62 lowercase letters, numbers, or hyphens. Pattern, /a-z{,62}/.
      &quot;standardSchedule&quot;: { # `StandardSchedule` defines a schedule that run within the confines of a defined window of days. We can define recurrence type for schedule as HOURLY, DAILY, WEEKLY, MONTHLY or YEARLY. # Optional. Defines a schedule that runs within the confines of a defined window of time.
        &quot;backupWindow&quot;: { # `BackupWindow` defines a window of the day during which backup jobs will run. # Required. A BackupWindow defines the window of day during which backup jobs will run. Jobs are queued at the beginning of the window and will be marked as `NOT_RUN` if they do not start by the end of the window. Note: running jobs will not be cancelled at the end of the window.
          &quot;endHourOfDay&quot;: 42, # Required. The hour of day (1-24) when the window end for e.g. if value of end hour of day is 10 that mean backup window end time is 10:00. End hour of day should be greater than start hour of day. 0 &lt;= start_hour_of_day &lt; end_hour_of_day &lt;= 24 End hour of day is not include in backup window that mean if end_hour_of_day= 10 jobs should start before 10:00.
          &quot;startHourOfDay&quot;: 42, # Required. The hour of day (0-23) when the window starts for e.g. if value of start hour of day is 6 that mean backup window start at 6:00.
        },
        &quot;daysOfMonth&quot;: [ # Optional. Specifies days of months like 1, 5, or 14 on which jobs will run. Values for `days_of_month` are only applicable for `recurrence_type`, `MONTHLY` and `YEARLY`. A validation error will occur if other values are supplied.
          42,
        ],
        &quot;daysOfWeek&quot;: [ # Optional. Specifies days of week like, MONDAY or TUESDAY, on which jobs will run. This is required for `recurrence_type`, `WEEKLY` and is not applicable otherwise. A validation error will occur if a value is supplied and `recurrence_type` is not `WEEKLY`.
          &quot;A String&quot;,
        ],
        &quot;hourlyFrequency&quot;: 42, # Optional. Specifies frequency for hourly backups. A hourly frequency of 2 means jobs will run every 2 hours from start time till end time defined. This is required for `recurrence_type`, `HOURLY` and is not applicable otherwise. A validation error will occur if a value is supplied and `recurrence_type` is not `HOURLY`. Value of hourly frequency should be between 4 and 23. Reason for limit : We found that there is bandwidth limitation of 3GB/S for GMI while taking a backup and 5GB/S while doing a restore. Given the amount of parallel backups and restore we are targeting, this will potentially take the backup time to mins and hours (in worst case scenario).
        &quot;months&quot;: [ # Optional. Specifies the months of year, like `FEBRUARY` and/or `MAY`, on which jobs will run. This field is only applicable when `recurrence_type` is `YEARLY`. A validation error will occur if other values are supplied.
          &quot;A String&quot;,
        ],
        &quot;recurrenceType&quot;: &quot;A String&quot;, # Required. Specifies the `RecurrenceType` for the schedule.
        &quot;timeZone&quot;: &quot;A String&quot;, # Required. The time zone to be used when interpreting the schedule. The value of this field must be a time zone name from the IANA tz database. See https://en.wikipedia.org/wiki/List_of_tz_database_time_zones for the list of valid timezone names. For e.g., Europe/Paris.
        &quot;weekDayOfMonth&quot;: { # `WeekDayOfMonth` defines the week day of the month on which the backups will run. The message combines a `WeekOfMonth` and `DayOfWeek` to produce values like `FIRST`/`MONDAY` or `LAST`/`FRIDAY`. # Optional. Specifies a week day of the month like, FIRST SUNDAY or LAST MONDAY, on which jobs will run. This will be specified by two fields in `WeekDayOfMonth`, one for the day, e.g. `MONDAY`, and one for the week, e.g. `LAST`. This field is only applicable for `recurrence_type`, `MONTHLY` and `YEARLY`. A validation error will occur if other values are supplied.
          &quot;dayOfWeek&quot;: &quot;A String&quot;, # Required. Specifies the day of the week.
          &quot;weekOfMonth&quot;: &quot;A String&quot;, # Required. Specifies the week of the month.
        },
      },
    },
  ],
  &quot;backupVault&quot;: &quot;A String&quot;, # Required. Resource name of backup vault which will be used as storage location for backups. Format: projects/{project}/locations/{location}/backupVaults/{backupvault}
  &quot;backupVaultServiceAccount&quot;: &quot;A String&quot;, # Output only. The Google Cloud Platform Service Account to be used by the BackupVault for taking backups. Specify the email address of the Backup Vault Service Account.
  &quot;createTime&quot;: &quot;A String&quot;, # Output only. When the `BackupPlan` was created.
  &quot;description&quot;: &quot;A String&quot;, # Optional. The description of the `BackupPlan` resource. The description allows for additional details about `BackupPlan` and its use cases to be provided. An example description is the following: &quot;This is a backup plan that performs a daily backup at 6pm and retains data for 3 months&quot;. The description must be at most 2048 characters.
  &quot;etag&quot;: &quot;A String&quot;, # Optional. `etag` is returned from the service in the response. As a user of the service, you may provide an etag value in this field to prevent stale resources.
  &quot;labels&quot;: { # Optional. This collection of key/value pairs allows for custom labels to be supplied by the user. Example, {&quot;tag&quot;: &quot;Weekly&quot;}.
    &quot;a_key&quot;: &quot;A String&quot;,
  },
  &quot;logRetentionDays&quot;: &quot;A String&quot;, # Optional. Applicable only for CloudSQL resource_type. Configures how long logs will be stored. It is defined in “days”. This value should be greater than or equal to minimum enforced log retention duration of the backup vault.
  &quot;name&quot;: &quot;A String&quot;, # Output only. Identifier. The resource name of the `BackupPlan`. Format: `projects/{project}/locations/{location}/backupPlans/{backup_plan}`
  &quot;resourceType&quot;: &quot;A String&quot;, # Required. The resource type to which the `BackupPlan` will be applied. Examples include, &quot;compute.googleapis.com/Instance&quot;, &quot;sqladmin.googleapis.com/Instance&quot;, &quot;alloydb.googleapis.com/Cluster&quot;, &quot;compute.googleapis.com/Disk&quot;.
  &quot;revisionId&quot;: &quot;A String&quot;, # Output only. The user friendly revision ID of the `BackupPlanRevision`. Example: v0, v1, v2, etc.
  &quot;revisionName&quot;: &quot;A String&quot;, # Output only. The resource id of the `BackupPlanRevision`. Format: `projects/{project}/locations/{location}/backupPlans/{backup_plan}/revisions/{revision_id}`
  &quot;state&quot;: &quot;A String&quot;, # Output only. The `State` for the `BackupPlan`.
  &quot;supportedResourceTypes&quot;: [ # Output only. All resource types to which backupPlan can be applied.
    &quot;A String&quot;,
  ],
  &quot;updateTime&quot;: &quot;A String&quot;, # Output only. When the `BackupPlan` was last updated.
}</pre>
</div>

<div class="method">
    <code class="details" id="list">list(parent, filter=None, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None)</code>
  <pre>Lists BackupPlans in a given project and location.

Args:
  parent: string, Required. The project and location for which to retrieve `BackupPlans` information. Format: `projects/{project}/locations/{location}`. In Cloud BackupDR, locations map to GCP regions, for e.g. **us-central1**. To retrieve backup plans for all locations, use &quot;-&quot; for the `{location}` value. (required)
  filter: string, Optional. Field match expression used to filter the results.
  orderBy: string, Optional. Field by which to sort the results.
  pageSize: integer, Optional. The maximum number of `BackupPlans` to return in a single response. If not specified, a default value will be chosen by the service. Note that the response may include a partial list and a caller should only rely on the response&#x27;s next_page_token to determine if there are more instances left to be queried.
  pageToken: string, Optional. The value of next_page_token received from a previous `ListBackupPlans` call. Provide this to retrieve the subsequent page in a multi-page list of results. When paginating, all other parameters provided to `ListBackupPlans` must match the call that provided the page token.
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # The response message for getting a list of `BackupPlan`.
  &quot;backupPlans&quot;: [ # The list of `BackupPlans` in the project for the specified location. If the `{location}` value in the request is &quot;-&quot;, the response contains a list of resources from all locations. In case any location is unreachable, the response will only return backup plans in reachable locations and the &#x27;unreachable&#x27; field will be populated with a list of unreachable locations. BackupPlan
    { # A `BackupPlan` specifies some common fields, such as `description` as well as one or more `BackupRule` messages. Each `BackupRule` has a retention policy and defines a schedule by which the system is to perform backup workloads.
      &quot;backupRules&quot;: [ # Optional. The backup rules for this `BackupPlan`.
        { # `BackupRule` binds the backup schedule to a retention policy.
          &quot;backupRetentionDays&quot;: 42, # Required. Configures the duration for which backup data will be kept. It is defined in “days”. The value should be greater than or equal to minimum enforced retention of the backup vault. Minimum value is 1 and maximum value is 36159 for custom retention on-demand backup. Minimum and maximum values are workload specific for all other rules.
          &quot;ruleId&quot;: &quot;A String&quot;, # Required. Immutable. The unique id of this `BackupRule`. The `rule_id` is unique per `BackupPlan`.The `rule_id` must start with a lowercase letter followed by up to 62 lowercase letters, numbers, or hyphens. Pattern, /a-z{,62}/.
          &quot;standardSchedule&quot;: { # `StandardSchedule` defines a schedule that run within the confines of a defined window of days. We can define recurrence type for schedule as HOURLY, DAILY, WEEKLY, MONTHLY or YEARLY. # Optional. Defines a schedule that runs within the confines of a defined window of time.
            &quot;backupWindow&quot;: { # `BackupWindow` defines a window of the day during which backup jobs will run. # Required. A BackupWindow defines the window of day during which backup jobs will run. Jobs are queued at the beginning of the window and will be marked as `NOT_RUN` if they do not start by the end of the window. Note: running jobs will not be cancelled at the end of the window.
              &quot;endHourOfDay&quot;: 42, # Required. The hour of day (1-24) when the window end for e.g. if value of end hour of day is 10 that mean backup window end time is 10:00. End hour of day should be greater than start hour of day. 0 &lt;= start_hour_of_day &lt; end_hour_of_day &lt;= 24 End hour of day is not include in backup window that mean if end_hour_of_day= 10 jobs should start before 10:00.
              &quot;startHourOfDay&quot;: 42, # Required. The hour of day (0-23) when the window starts for e.g. if value of start hour of day is 6 that mean backup window start at 6:00.
            },
            &quot;daysOfMonth&quot;: [ # Optional. Specifies days of months like 1, 5, or 14 on which jobs will run. Values for `days_of_month` are only applicable for `recurrence_type`, `MONTHLY` and `YEARLY`. A validation error will occur if other values are supplied.
              42,
            ],
            &quot;daysOfWeek&quot;: [ # Optional. Specifies days of week like, MONDAY or TUESDAY, on which jobs will run. This is required for `recurrence_type`, `WEEKLY` and is not applicable otherwise. A validation error will occur if a value is supplied and `recurrence_type` is not `WEEKLY`.
              &quot;A String&quot;,
            ],
            &quot;hourlyFrequency&quot;: 42, # Optional. Specifies frequency for hourly backups. A hourly frequency of 2 means jobs will run every 2 hours from start time till end time defined. This is required for `recurrence_type`, `HOURLY` and is not applicable otherwise. A validation error will occur if a value is supplied and `recurrence_type` is not `HOURLY`. Value of hourly frequency should be between 4 and 23. Reason for limit : We found that there is bandwidth limitation of 3GB/S for GMI while taking a backup and 5GB/S while doing a restore. Given the amount of parallel backups and restore we are targeting, this will potentially take the backup time to mins and hours (in worst case scenario).
            &quot;months&quot;: [ # Optional. Specifies the months of year, like `FEBRUARY` and/or `MAY`, on which jobs will run. This field is only applicable when `recurrence_type` is `YEARLY`. A validation error will occur if other values are supplied.
              &quot;A String&quot;,
            ],
            &quot;recurrenceType&quot;: &quot;A String&quot;, # Required. Specifies the `RecurrenceType` for the schedule.
            &quot;timeZone&quot;: &quot;A String&quot;, # Required. The time zone to be used when interpreting the schedule. The value of this field must be a time zone name from the IANA tz database. See https://en.wikipedia.org/wiki/List_of_tz_database_time_zones for the list of valid timezone names. For e.g., Europe/Paris.
            &quot;weekDayOfMonth&quot;: { # `WeekDayOfMonth` defines the week day of the month on which the backups will run. The message combines a `WeekOfMonth` and `DayOfWeek` to produce values like `FIRST`/`MONDAY` or `LAST`/`FRIDAY`. # Optional. Specifies a week day of the month like, FIRST SUNDAY or LAST MONDAY, on which jobs will run. This will be specified by two fields in `WeekDayOfMonth`, one for the day, e.g. `MONDAY`, and one for the week, e.g. `LAST`. This field is only applicable for `recurrence_type`, `MONTHLY` and `YEARLY`. A validation error will occur if other values are supplied.
              &quot;dayOfWeek&quot;: &quot;A String&quot;, # Required. Specifies the day of the week.
              &quot;weekOfMonth&quot;: &quot;A String&quot;, # Required. Specifies the week of the month.
            },
          },
        },
      ],
      &quot;backupVault&quot;: &quot;A String&quot;, # Required. Resource name of backup vault which will be used as storage location for backups. Format: projects/{project}/locations/{location}/backupVaults/{backupvault}
      &quot;backupVaultServiceAccount&quot;: &quot;A String&quot;, # Output only. The Google Cloud Platform Service Account to be used by the BackupVault for taking backups. Specify the email address of the Backup Vault Service Account.
      &quot;createTime&quot;: &quot;A String&quot;, # Output only. When the `BackupPlan` was created.
      &quot;description&quot;: &quot;A String&quot;, # Optional. The description of the `BackupPlan` resource. The description allows for additional details about `BackupPlan` and its use cases to be provided. An example description is the following: &quot;This is a backup plan that performs a daily backup at 6pm and retains data for 3 months&quot;. The description must be at most 2048 characters.
      &quot;etag&quot;: &quot;A String&quot;, # Optional. `etag` is returned from the service in the response. As a user of the service, you may provide an etag value in this field to prevent stale resources.
      &quot;labels&quot;: { # Optional. This collection of key/value pairs allows for custom labels to be supplied by the user. Example, {&quot;tag&quot;: &quot;Weekly&quot;}.
        &quot;a_key&quot;: &quot;A String&quot;,
      },
      &quot;logRetentionDays&quot;: &quot;A String&quot;, # Optional. Applicable only for CloudSQL resource_type. Configures how long logs will be stored. It is defined in “days”. This value should be greater than or equal to minimum enforced log retention duration of the backup vault.
      &quot;name&quot;: &quot;A String&quot;, # Output only. Identifier. The resource name of the `BackupPlan`. Format: `projects/{project}/locations/{location}/backupPlans/{backup_plan}`
      &quot;resourceType&quot;: &quot;A String&quot;, # Required. The resource type to which the `BackupPlan` will be applied. Examples include, &quot;compute.googleapis.com/Instance&quot;, &quot;sqladmin.googleapis.com/Instance&quot;, &quot;alloydb.googleapis.com/Cluster&quot;, &quot;compute.googleapis.com/Disk&quot;.
      &quot;revisionId&quot;: &quot;A String&quot;, # Output only. The user friendly revision ID of the `BackupPlanRevision`. Example: v0, v1, v2, etc.
      &quot;revisionName&quot;: &quot;A String&quot;, # Output only. The resource id of the `BackupPlanRevision`. Format: `projects/{project}/locations/{location}/backupPlans/{backup_plan}/revisions/{revision_id}`
      &quot;state&quot;: &quot;A String&quot;, # Output only. The `State` for the `BackupPlan`.
      &quot;supportedResourceTypes&quot;: [ # Output only. All resource types to which backupPlan can be applied.
        &quot;A String&quot;,
      ],
      &quot;updateTime&quot;: &quot;A String&quot;, # Output only. When the `BackupPlan` was last updated.
    },
  ],
  &quot;nextPageToken&quot;: &quot;A String&quot;, # A token which may be sent as page_token in a subsequent `ListBackupPlans` call to retrieve the next page of results. If this field is omitted or empty, then there are no more results to return.
  &quot;unreachable&quot;: [ # Locations that could not be reached.
    &quot;A String&quot;,
  ],
}</pre>
</div>

<div class="method">
    <code class="details" id="list_next">list_next()</code>
  <pre>Retrieves the next page of results.

        Args:
          previous_request: The request for the previous page. (required)
          previous_response: The response from the request for the previous page. (required)

        Returns:
          A request object that you can call &#x27;execute()&#x27; on to request the next
          page. Returns None if there are no more items in the collection.
        </pre>
</div>

<div class="method">
    <code class="details" id="patch">patch(name, body=None, requestId=None, updateMask=None, x__xgafv=None)</code>
  <pre>Update a BackupPlan.

Args:
  name: string, Output only. Identifier. The resource name of the `BackupPlan`. Format: `projects/{project}/locations/{location}/backupPlans/{backup_plan}` (required)
  body: object, The request body.
    The object takes the form of:

{ # A `BackupPlan` specifies some common fields, such as `description` as well as one or more `BackupRule` messages. Each `BackupRule` has a retention policy and defines a schedule by which the system is to perform backup workloads.
  &quot;backupRules&quot;: [ # Optional. The backup rules for this `BackupPlan`.
    { # `BackupRule` binds the backup schedule to a retention policy.
      &quot;backupRetentionDays&quot;: 42, # Required. Configures the duration for which backup data will be kept. It is defined in “days”. The value should be greater than or equal to minimum enforced retention of the backup vault. Minimum value is 1 and maximum value is 36159 for custom retention on-demand backup. Minimum and maximum values are workload specific for all other rules.
      &quot;ruleId&quot;: &quot;A String&quot;, # Required. Immutable. The unique id of this `BackupRule`. The `rule_id` is unique per `BackupPlan`.The `rule_id` must start with a lowercase letter followed by up to 62 lowercase letters, numbers, or hyphens. Pattern, /a-z{,62}/.
      &quot;standardSchedule&quot;: { # `StandardSchedule` defines a schedule that run within the confines of a defined window of days. We can define recurrence type for schedule as HOURLY, DAILY, WEEKLY, MONTHLY or YEARLY. # Optional. Defines a schedule that runs within the confines of a defined window of time.
        &quot;backupWindow&quot;: { # `BackupWindow` defines a window of the day during which backup jobs will run. # Required. A BackupWindow defines the window of day during which backup jobs will run. Jobs are queued at the beginning of the window and will be marked as `NOT_RUN` if they do not start by the end of the window. Note: running jobs will not be cancelled at the end of the window.
          &quot;endHourOfDay&quot;: 42, # Required. The hour of day (1-24) when the window end for e.g. if value of end hour of day is 10 that mean backup window end time is 10:00. End hour of day should be greater than start hour of day. 0 &lt;= start_hour_of_day &lt; end_hour_of_day &lt;= 24 End hour of day is not include in backup window that mean if end_hour_of_day= 10 jobs should start before 10:00.
          &quot;startHourOfDay&quot;: 42, # Required. The hour of day (0-23) when the window starts for e.g. if value of start hour of day is 6 that mean backup window start at 6:00.
        },
        &quot;daysOfMonth&quot;: [ # Optional. Specifies days of months like 1, 5, or 14 on which jobs will run. Values for `days_of_month` are only applicable for `recurrence_type`, `MONTHLY` and `YEARLY`. A validation error will occur if other values are supplied.
          42,
        ],
        &quot;daysOfWeek&quot;: [ # Optional. Specifies days of week like, MONDAY or TUESDAY, on which jobs will run. This is required for `recurrence_type`, `WEEKLY` and is not applicable otherwise. A validation error will occur if a value is supplied and `recurrence_type` is not `WEEKLY`.
          &quot;A String&quot;,
        ],
        &quot;hourlyFrequency&quot;: 42, # Optional. Specifies frequency for hourly backups. A hourly frequency of 2 means jobs will run every 2 hours from start time till end time defined. This is required for `recurrence_type`, `HOURLY` and is not applicable otherwise. A validation error will occur if a value is supplied and `recurrence_type` is not `HOURLY`. Value of hourly frequency should be between 4 and 23. Reason for limit : We found that there is bandwidth limitation of 3GB/S for GMI while taking a backup and 5GB/S while doing a restore. Given the amount of parallel backups and restore we are targeting, this will potentially take the backup time to mins and hours (in worst case scenario).
        &quot;months&quot;: [ # Optional. Specifies the months of year, like `FEBRUARY` and/or `MAY`, on which jobs will run. This field is only applicable when `recurrence_type` is `YEARLY`. A validation error will occur if other values are supplied.
          &quot;A String&quot;,
        ],
        &quot;recurrenceType&quot;: &quot;A String&quot;, # Required. Specifies the `RecurrenceType` for the schedule.
        &quot;timeZone&quot;: &quot;A String&quot;, # Required. The time zone to be used when interpreting the schedule. The value of this field must be a time zone name from the IANA tz database. See https://en.wikipedia.org/wiki/List_of_tz_database_time_zones for the list of valid timezone names. For e.g., Europe/Paris.
        &quot;weekDayOfMonth&quot;: { # `WeekDayOfMonth` defines the week day of the month on which the backups will run. The message combines a `WeekOfMonth` and `DayOfWeek` to produce values like `FIRST`/`MONDAY` or `LAST`/`FRIDAY`. # Optional. Specifies a week day of the month like, FIRST SUNDAY or LAST MONDAY, on which jobs will run. This will be specified by two fields in `WeekDayOfMonth`, one for the day, e.g. `MONDAY`, and one for the week, e.g. `LAST`. This field is only applicable for `recurrence_type`, `MONTHLY` and `YEARLY`. A validation error will occur if other values are supplied.
          &quot;dayOfWeek&quot;: &quot;A String&quot;, # Required. Specifies the day of the week.
          &quot;weekOfMonth&quot;: &quot;A String&quot;, # Required. Specifies the week of the month.
        },
      },
    },
  ],
  &quot;backupVault&quot;: &quot;A String&quot;, # Required. Resource name of backup vault which will be used as storage location for backups. Format: projects/{project}/locations/{location}/backupVaults/{backupvault}
  &quot;backupVaultServiceAccount&quot;: &quot;A String&quot;, # Output only. The Google Cloud Platform Service Account to be used by the BackupVault for taking backups. Specify the email address of the Backup Vault Service Account.
  &quot;createTime&quot;: &quot;A String&quot;, # Output only. When the `BackupPlan` was created.
  &quot;description&quot;: &quot;A String&quot;, # Optional. The description of the `BackupPlan` resource. The description allows for additional details about `BackupPlan` and its use cases to be provided. An example description is the following: &quot;This is a backup plan that performs a daily backup at 6pm and retains data for 3 months&quot;. The description must be at most 2048 characters.
  &quot;etag&quot;: &quot;A String&quot;, # Optional. `etag` is returned from the service in the response. As a user of the service, you may provide an etag value in this field to prevent stale resources.
  &quot;labels&quot;: { # Optional. This collection of key/value pairs allows for custom labels to be supplied by the user. Example, {&quot;tag&quot;: &quot;Weekly&quot;}.
    &quot;a_key&quot;: &quot;A String&quot;,
  },
  &quot;logRetentionDays&quot;: &quot;A String&quot;, # Optional. Applicable only for CloudSQL resource_type. Configures how long logs will be stored. It is defined in “days”. This value should be greater than or equal to minimum enforced log retention duration of the backup vault.
  &quot;name&quot;: &quot;A String&quot;, # Output only. Identifier. The resource name of the `BackupPlan`. Format: `projects/{project}/locations/{location}/backupPlans/{backup_plan}`
  &quot;resourceType&quot;: &quot;A String&quot;, # Required. The resource type to which the `BackupPlan` will be applied. Examples include, &quot;compute.googleapis.com/Instance&quot;, &quot;sqladmin.googleapis.com/Instance&quot;, &quot;alloydb.googleapis.com/Cluster&quot;, &quot;compute.googleapis.com/Disk&quot;.
  &quot;revisionId&quot;: &quot;A String&quot;, # Output only. The user friendly revision ID of the `BackupPlanRevision`. Example: v0, v1, v2, etc.
  &quot;revisionName&quot;: &quot;A String&quot;, # Output only. The resource id of the `BackupPlanRevision`. Format: `projects/{project}/locations/{location}/backupPlans/{backup_plan}/revisions/{revision_id}`
  &quot;state&quot;: &quot;A String&quot;, # Output only. The `State` for the `BackupPlan`.
  &quot;supportedResourceTypes&quot;: [ # Output only. All resource types to which backupPlan can be applied.
    &quot;A String&quot;,
  ],
  &quot;updateTime&quot;: &quot;A String&quot;, # Output only. When the `BackupPlan` was last updated.
}

  requestId: string, Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and t he request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
  updateMask: string, Required. The list of fields to update. Field mask is used to specify the fields to be overwritten in the BackupPlan resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then the request will fail. Currently, these fields are supported in update: description, schedules, retention period, adding and removing Backup Rules.
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # This resource represents a long-running operation that is the result of a network API call.
  &quot;done&quot;: True or False, # If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.
  &quot;error&quot;: { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # The error result of the operation in case of failure or cancellation.
    &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
    &quot;details&quot;: [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
      {
        &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
      },
    ],
    &quot;message&quot;: &quot;A String&quot;, # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
  },
  &quot;metadata&quot;: { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
    &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
  },
  &quot;name&quot;: &quot;A String&quot;, # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.
  &quot;response&quot;: { # The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
    &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
  },
}</pre>
</div>

</body></html>