Class: Google::Apis::AlloydbV1::Backup

Inherits:
Object
  • Object
show all
Includes:
Core::Hashable, Core::JsonObjectSupport
Defined in:
lib/google/apis/alloydb_v1/classes.rb,
lib/google/apis/alloydb_v1/representations.rb,
lib/google/apis/alloydb_v1/representations.rb

Overview

Message describing Backup object

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ Backup

Returns a new instance of Backup.



274
275
276
# File 'lib/google/apis/alloydb_v1/classes.rb', line 274

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#annotationsHash<String,String>

Annotations to allow client tools to store small amount of arbitrary data. This is distinct from labels. https://google.aip.dev/128 Corresponds to the JSON property annotations

Returns:

  • (Hash<String,String>)


129
130
131
# File 'lib/google/apis/alloydb_v1/classes.rb', line 129

def annotations
  @annotations
end

#cluster_nameString

Required. The full resource name of the backup source cluster (e.g., projects/ project/locations/region/clusters/cluster_id). Corresponds to the JSON property clusterName

Returns:

  • (String)


135
136
137
# File 'lib/google/apis/alloydb_v1/classes.rb', line 135

def cluster_name
  @cluster_name
end

#cluster_uidString

Output only. The system-generated UID of the cluster which was used to create this resource. Corresponds to the JSON property clusterUid

Returns:

  • (String)


141
142
143
# File 'lib/google/apis/alloydb_v1/classes.rb', line 141

def cluster_uid
  @cluster_uid
end

#create_completion_timeString

Output only. Timestamp when the resource finished being created. Corresponds to the JSON property createCompletionTime

Returns:

  • (String)


146
147
148
# File 'lib/google/apis/alloydb_v1/classes.rb', line 146

def create_completion_time
  @create_completion_time
end

#create_timeString

Output only. Create time stamp Corresponds to the JSON property createTime

Returns:

  • (String)


151
152
153
# File 'lib/google/apis/alloydb_v1/classes.rb', line 151

def create_time
  @create_time
end

#database_versionString

Output only. The database engine major version of the cluster this backup was created from. Any restored cluster created from this backup will have the same database version. Corresponds to the JSON property databaseVersion

Returns:

  • (String)


158
159
160
# File 'lib/google/apis/alloydb_v1/classes.rb', line 158

def database_version
  @database_version
end

#delete_timeString

Output only. Delete time stamp Corresponds to the JSON property deleteTime

Returns:

  • (String)


163
164
165
# File 'lib/google/apis/alloydb_v1/classes.rb', line 163

def delete_time
  @delete_time
end

#descriptionString

User-provided description of the backup. Corresponds to the JSON property description

Returns:

  • (String)


168
169
170
# File 'lib/google/apis/alloydb_v1/classes.rb', line 168

def description
  @description
end

#display_nameString

User-settable and human-readable display name for the Backup. Corresponds to the JSON property displayName

Returns:

  • (String)


173
174
175
# File 'lib/google/apis/alloydb_v1/classes.rb', line 173

def display_name
  @display_name
end

#encryption_configGoogle::Apis::AlloydbV1::EncryptionConfig

EncryptionConfig describes the encryption config of a cluster or a backup that is encrypted with a CMEK (customer-managed encryption key). Corresponds to the JSON property encryptionConfig



179
180
181
# File 'lib/google/apis/alloydb_v1/classes.rb', line 179

def encryption_config
  @encryption_config
end

#encryption_infoGoogle::Apis::AlloydbV1::EncryptionInfo

EncryptionInfo describes the encryption information of a cluster or a backup. Corresponds to the JSON property encryptionInfo



184
185
186
# File 'lib/google/apis/alloydb_v1/classes.rb', line 184

def encryption_info
  @encryption_info
end

#etagString

For Resource freshness validation (https://google.aip.dev/154) Corresponds to the JSON property etag

Returns:

  • (String)


189
190
191
# File 'lib/google/apis/alloydb_v1/classes.rb', line 189

def etag
  @etag
end

#expiry_quantityGoogle::Apis::AlloydbV1::QuantityBasedExpiry

A backup's position in a quantity-based retention queue, of backups with the same source cluster and type, with length, retention, specified by the backup' s retention policy. Once the position is greater than the retention, the backup is eligible to be garbage collected. Example: 5 backups from the same source cluster and type with a quantity-based retention of 3 and denoted by backup_id (position, retention). Safe: backup_5 (1, 3), backup_4, (2, 3), backup_3 (3, 3). Awaiting garbage collection: backup_2 (4, 3), backup_1 (5, 3) Corresponds to the JSON property expiryQuantity



200
201
202
# File 'lib/google/apis/alloydb_v1/classes.rb', line 200

def expiry_quantity
  @expiry_quantity
end

#expiry_timeString

Output only. The time at which after the backup is eligible to be garbage collected. It is the duration specified by the backup's retention policy, added to the backup's create_time. Corresponds to the JSON property expiryTime

Returns:

  • (String)


207
208
209
# File 'lib/google/apis/alloydb_v1/classes.rb', line 207

def expiry_time
  @expiry_time
end

#labelsHash<String,String>

Labels as key value pairs Corresponds to the JSON property labels

Returns:

  • (Hash<String,String>)


212
213
214
# File 'lib/google/apis/alloydb_v1/classes.rb', line 212

def labels
  @labels
end

#nameString

Output only. The name of the backup resource with the format: * projects/ project/locations/region/backups/backup_id where the cluster and backup ID segments should satisfy the regex expression [a-z]([a-z0-9-]0,61[a-z0-9]) ?, e.g. 1-63 characters of lowercase letters, numbers, and dashes, starting with a letter, and ending with a letter or number. For more details see https:/ /google.aip.dev/122. The prefix of the backup resource name is the name of the parent resource: * projects/project/locations/region Corresponds to the JSON property name

Returns:

  • (String)


223
224
225
# File 'lib/google/apis/alloydb_v1/classes.rb', line 223

def name
  @name
end

#reconcilingBoolean Also known as: reconciling?

Output only. Reconciling (https://google.aip.dev/128#reconciliation), if true, indicates that the service is actively updating the resource. This can happen due to user-triggered updates or system actions like failover or maintenance. Corresponds to the JSON property reconciling

Returns:

  • (Boolean)


230
231
232
# File 'lib/google/apis/alloydb_v1/classes.rb', line 230

def reconciling
  @reconciling
end

#satisfies_pzsBoolean Also known as: satisfies_pzs?

Output only. Reserved for future use. Corresponds to the JSON property satisfiesPzs

Returns:

  • (Boolean)


236
237
238
# File 'lib/google/apis/alloydb_v1/classes.rb', line 236

def satisfies_pzs
  @satisfies_pzs
end

#size_bytesFixnum

Output only. The size of the backup in bytes. Corresponds to the JSON property sizeBytes

Returns:

  • (Fixnum)


242
243
244
# File 'lib/google/apis/alloydb_v1/classes.rb', line 242

def size_bytes
  @size_bytes
end

#stateString

Output only. The current state of the backup. Corresponds to the JSON property state

Returns:

  • (String)


247
248
249
# File 'lib/google/apis/alloydb_v1/classes.rb', line 247

def state
  @state
end

#tagsHash<String,String>

Optional. Input only. Immutable. Tag keys/values directly bound to this resource. For example: "123/environment": "production", "123/costCenter": " marketing" Corresponds to the JSON property tags

Returns:

  • (Hash<String,String>)


254
255
256
# File 'lib/google/apis/alloydb_v1/classes.rb', line 254

def tags
  @tags
end

#typeString

The backup type, which suggests the trigger for the backup. Corresponds to the JSON property type

Returns:

  • (String)


259
260
261
# File 'lib/google/apis/alloydb_v1/classes.rb', line 259

def type
  @type
end

#uidString

Output only. The system-generated UID of the resource. The UID is assigned when the resource is created, and it is retained until it is deleted. Corresponds to the JSON property uid

Returns:

  • (String)


265
266
267
# File 'lib/google/apis/alloydb_v1/classes.rb', line 265

def uid
  @uid
end

#update_timeString

Output only. Update time stamp Users should not infer any meaning from this field. Its value is generally unrelated to the timing of the backup creation operation. Corresponds to the JSON property updateTime

Returns:

  • (String)


272
273
274
# File 'lib/google/apis/alloydb_v1/classes.rb', line 272

def update_time
  @update_time
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



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
# File 'lib/google/apis/alloydb_v1/classes.rb', line 279

def update!(**args)
  @annotations = args[:annotations] if args.key?(:annotations)
  @cluster_name = args[:cluster_name] if args.key?(:cluster_name)
  @cluster_uid = args[:cluster_uid] if args.key?(:cluster_uid)
  @create_completion_time = args[:create_completion_time] if args.key?(:create_completion_time)
  @create_time = args[:create_time] if args.key?(:create_time)
  @database_version = args[:database_version] if args.key?(:database_version)
  @delete_time = args[:delete_time] if args.key?(:delete_time)
  @description = args[:description] if args.key?(:description)
  @display_name = args[:display_name] if args.key?(:display_name)
  @encryption_config = args[:encryption_config] if args.key?(:encryption_config)
  @encryption_info = args[:encryption_info] if args.key?(:encryption_info)
  @etag = args[:etag] if args.key?(:etag)
  @expiry_quantity = args[:expiry_quantity] if args.key?(:expiry_quantity)
  @expiry_time = args[:expiry_time] if args.key?(:expiry_time)
  @labels = args[:labels] if args.key?(:labels)
  @name = args[:name] if args.key?(:name)
  @reconciling = args[:reconciling] if args.key?(:reconciling)
  @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
  @size_bytes = args[:size_bytes] if args.key?(:size_bytes)
  @state = args[:state] if args.key?(:state)
  @tags = args[:tags] if args.key?(:tags)
  @type = args[:type] if args.key?(:type)
  @uid = args[:uid] if args.key?(:uid)
  @update_time = args[:update_time] if args.key?(:update_time)
end