|
| 1 | +--- !ruby/object:Api::Resource |
| 2 | +base_url: projects/{{project}}/locations/{{location}}/backupVaults |
| 3 | +create_url: projects/{{project}}/locations/{{location}}/backupVaults?backupVaultId={{backup_vault_id}} |
| 4 | +update_url: projects/{{project}}/locations/{{location}}/backupVaults/{{backup_vault_id}}?force={{force_update}} |
| 5 | +delete_url: projects/{{project}}/locations/{{location}}/backupVaults/{{backup_vault_id}}?force={{force_delete}}&allowMissing={{allow_missing}} |
| 6 | +self_link: projects/{{project}}/locations/{{location}}/backupVaults/{{backup_vault_id}} |
| 7 | +id_format: projects/{{project}}/locations/{{location}}/backupVaults/{{backup_vault_id}} |
| 8 | +import_format: |
| 9 | + - projects/{{project}}/locations/{{location}}/backupVaults/{{backup_vault_id}} |
| 10 | +name: BackupVault |
| 11 | +description: Container to store and organize immutable and indelible backups. |
| 12 | +autogen_async: true |
| 13 | +examples: |
| 14 | + - !ruby/object:Provider::Terraform::Examples |
| 15 | + min_version: beta |
| 16 | + name: 'backup_dr_backup_vault_full' |
| 17 | + primary_resource_id: 'backup-vault-test' |
| 18 | + vars: |
| 19 | + backup_vault_id: 'backup-vault-test' |
| 20 | + test_env_vars: |
| 21 | + project: :PROJECT_NAME |
| 22 | +properties: |
| 23 | + - !ruby/object:Api::Type::String |
| 24 | + name: name |
| 25 | + description: 'Output only. Identifier. The resource name. ' |
| 26 | + output: true |
| 27 | + - !ruby/object:Api::Type::String |
| 28 | + name: description |
| 29 | + description: 'Optional. The description of the BackupVault instance (2048 characters |
| 30 | + or less). ' |
| 31 | + - !ruby/object:Api::Type::KeyValueLabels |
| 32 | + name: labels |
| 33 | + description: "Optional. Resource labels to represent user provided metadata. " |
| 34 | + - !ruby/object:Api::Type::String |
| 35 | + name: createTime |
| 36 | + description: 'Output only. The time when the instance was created. ' |
| 37 | + output: true |
| 38 | + - !ruby/object:Api::Type::String |
| 39 | + name: updateTime |
| 40 | + description: 'Output only. The time when the instance was updated. ' |
| 41 | + output: true |
| 42 | + - !ruby/object:Api::Type::String |
| 43 | + name: backupMinimumEnforcedRetentionDuration |
| 44 | + description: "Required. The default and minimum enforced retention for each backup |
| 45 | + within the backup vault. The enforced retention for each backup can be extended. " |
| 46 | + required: true |
| 47 | + - !ruby/object:Api::Type::Boolean |
| 48 | + name: deletable |
| 49 | + description: 'Output only. Set to true when there are no backups nested under this |
| 50 | + resource. ' |
| 51 | + output: true |
| 52 | + - !ruby/object:Api::Type::String |
| 53 | + name: etag |
| 54 | + output: true |
| 55 | + description: "Optional. Server specified ETag for the backup vault resource to prevent |
| 56 | + simultaneous updates from overwiting each other. " |
| 57 | + - !ruby/object:Api::Type::String |
| 58 | + name: state |
| 59 | + description: "Output only. The BackupVault resource instance state. \n Possible |
| 60 | + values:\n STATE_UNSPECIFIED\n CREATING\n ACTIVE\n DELETING\n ERROR" |
| 61 | + output: true |
| 62 | + - !ruby/object:Api::Type::String |
| 63 | + name: effectiveTime |
| 64 | + description: 'Optional. Time after which the BackupVault resource is locked. ' |
| 65 | + - !ruby/object:Api::Type::String |
| 66 | + name: backupCount |
| 67 | + description: 'Output only. The number of backups in this backup vault. ' |
| 68 | + output: true |
| 69 | + - !ruby/object:Api::Type::String |
| 70 | + name: serviceAccount |
| 71 | + description: "Output only. Service account used by the BackupVault Service for this |
| 72 | + BackupVault. The user should grant this account permissions in their workload |
| 73 | + project to enable the service to run backups and restores there. " |
| 74 | + output: true |
| 75 | + - !ruby/object:Api::Type::String |
| 76 | + name: totalStoredBytes |
| 77 | + description: 'Output only. Total size of the storage used by all backup resources. ' |
| 78 | + output: true |
| 79 | + - !ruby/object:Api::Type::String |
| 80 | + name: uid |
| 81 | + description: "Output only. Output only Immutable after resource creation until |
| 82 | + resource deletion. " |
| 83 | + output: true |
| 84 | + - !ruby/object:Api::Type::KeyValueAnnotations |
| 85 | + name: annotations |
| 86 | + description: "Optional. User annotations. See https://google.aip.dev/128#annotations\nStores |
| 87 | + small amounts of arbitrary data. " |
| 88 | +parameters: |
| 89 | + - !ruby/object:Api::Type::String |
| 90 | + name: location |
| 91 | + description: "The GCP location for the backup vault. " |
| 92 | + url_param_only: true |
| 93 | + required: true |
| 94 | + immutable: true |
| 95 | + - !ruby/object:Api::Type::String |
| 96 | + name: backupVaultId |
| 97 | + description: "Required. ID of the requesting object." |
| 98 | + url_param_only: true |
| 99 | + required: true |
| 100 | + immutable: true |
| 101 | + - !ruby/object:Api::Type::Boolean |
| 102 | + name: 'force_update' |
| 103 | + default_value: false |
| 104 | + url_param_only: true |
| 105 | + description: | |
| 106 | + If set, allow update to extend the minimum enforced retention for backup vault. This overrides |
| 107 | + the restriction against conflicting retention periods. This conflict may occur when the |
| 108 | + expiration schedule defined by the associated backup plan is shorter than the minimum |
| 109 | + retention set by the backup vault. |
| 110 | + - !ruby/object:Api::Type::Boolean |
| 111 | + name: 'force_delete' |
| 112 | + default_value: false |
| 113 | + url_param_only: true |
| 114 | + description: | |
| 115 | + If set, the following restrictions against deletion of the backup vault instance can be overridden: |
| 116 | + * deletion of a backup vault instance containing no backups, but still containing empty datasources. |
| 117 | + * deletion of a backup vault instance that is being referenced by an active backup plan. |
| 118 | + - !ruby/object:Api::Type::Boolean |
| 119 | + name: 'allow_missing' |
| 120 | + default_value: false |
| 121 | + url_param_only: true |
| 122 | + description: | |
| 123 | + Allow idempotent deletion of backup vault. The request will still succeed in case the backup vault does not exist. |
| 124 | +async: !ruby/object:Api::OpAsync |
| 125 | + operation: !ruby/object:Api::OpAsync::Operation |
| 126 | + path: name |
| 127 | + base_url: "{{op_id}}" |
| 128 | + wait_ms: 1000 |
| 129 | + timeouts: |
| 130 | + result: !ruby/object:Api::OpAsync::Result |
| 131 | + path: response |
| 132 | + resource_inside_response: true |
| 133 | + status: !ruby/object:Api::OpAsync::Status |
| 134 | + path: done |
| 135 | + complete: true |
| 136 | + allowed: |
| 137 | + - true |
| 138 | + - false |
| 139 | + error: !ruby/object:Api::OpAsync::Error |
| 140 | + path: error |
| 141 | + message: message |
| 142 | +update_verb: :PATCH |
| 143 | +update_mask: true |
0 commit comments