Class: Google::Apis::GkebackupV1::Backup

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

Overview

Represents a request to perform a single point-in-time capture of some portion of the state of a GKE cluster, the record of the backup operation itself, and an anchor for the underlying artifacts that comprise the Backup (the config backup and VolumeBackups).

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ Backup

Returns a new instance of Backup.



276
277
278
# File 'lib/google/apis/gkebackup_v1/classes.rb', line 276

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

Instance Attribute Details

#all_namespacesBoolean Also known as: all_namespaces?

Output only. If True, all namespaces were included in the Backup. Corresponds to the JSON property allNamespaces

Returns:

  • (Boolean)


106
107
108
# File 'lib/google/apis/gkebackup_v1/classes.rb', line 106

def all_namespaces
  @all_namespaces
end

#cluster_metadataGoogle::Apis::GkebackupV1::ClusterMetadata

Information about the GKE cluster from which this Backup was created. Corresponds to the JSON property clusterMetadata



112
113
114
# File 'lib/google/apis/gkebackup_v1/classes.rb', line 112

def 
  @cluster_metadata
end

#complete_timeString

Output only. Completion time of the Backup Corresponds to the JSON property completeTime

Returns:

  • (String)


117
118
119
# File 'lib/google/apis/gkebackup_v1/classes.rb', line 117

def complete_time
  @complete_time
end

#config_backup_size_bytesFixnum

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

Returns:

  • (Fixnum)


122
123
124
# File 'lib/google/apis/gkebackup_v1/classes.rb', line 122

def config_backup_size_bytes
  @config_backup_size_bytes
end

#contains_secretsBoolean Also known as: contains_secrets?

Output only. Whether or not the Backup contains Kubernetes Secrets. Controlled by the parent BackupPlan's include_secrets value. Corresponds to the JSON property containsSecrets

Returns:

  • (Boolean)


128
129
130
# File 'lib/google/apis/gkebackup_v1/classes.rb', line 128

def contains_secrets
  @contains_secrets
end

#contains_volume_dataBoolean Also known as: contains_volume_data?

Output only. Whether or not the Backup contains volume data. Controlled by the parent BackupPlan's include_volume_data value. Corresponds to the JSON property containsVolumeData

Returns:

  • (Boolean)


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

def contains_volume_data
  @contains_volume_data
end

#create_timeString

Output only. The timestamp when this Backup resource was created. Corresponds to the JSON property createTime

Returns:

  • (String)


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

def create_time
  @create_time
end

#delete_lock_daysFixnum

Optional. Minimum age for this Backup (in days). If this field is set to a non- zero value, the Backup will be "locked" against deletion (either manual or automatic deletion) for the number of days provided (measured from the creation time of the Backup). MUST be an integer value between 0-90 (inclusive) . Defaults to parent BackupPlan's backup_delete_lock_days setting and may only be increased (either at creation time or in a subsequent update). Corresponds to the JSON property deleteLockDays

Returns:

  • (Fixnum)


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

def delete_lock_days
  @delete_lock_days
end

#delete_lock_expire_timeString

Output only. The time at which an existing delete lock will expire for this backup (calculated from create_time + delete_lock_days). Corresponds to the JSON property deleteLockExpireTime

Returns:

  • (String)


157
158
159
# File 'lib/google/apis/gkebackup_v1/classes.rb', line 157

def delete_lock_expire_time
  @delete_lock_expire_time
end

#descriptionString

Optional. User specified descriptive string for this Backup. Corresponds to the JSON property description

Returns:

  • (String)


162
163
164
# File 'lib/google/apis/gkebackup_v1/classes.rb', line 162

def description
  @description
end

#encryption_keyGoogle::Apis::GkebackupV1::EncryptionKey

Defined a customer managed encryption key that will be used to encrypt Backup artifacts. Corresponds to the JSON property encryptionKey



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

def encryption_key
  @encryption_key
end

#etagString

Output only. etag is used for optimistic concurrency control as a way to help prevent simultaneous updates of a backup from overwriting each other. It is strongly suggested that systems make use of the etag in the read-modify- write cycle to perform backup updates in order to avoid race conditions: An etag is returned in the response to GetBackup, and systems are expected to put that etag in the request to UpdateBackup or DeleteBackup to ensure that their change will be applied to the same version of the resource. Corresponds to the JSON property etag

Returns:

  • (String)


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

def etag
  @etag
end

#labelsHash<String,String>

Optional. A set of custom labels supplied by user. Corresponds to the JSON property labels

Returns:

  • (Hash<String,String>)


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

def labels
  @labels
end

#manualBoolean Also known as: manual?

Output only. This flag indicates whether this Backup resource was created manually by a user or via a schedule in the BackupPlan. A value of True means that the Backup was created manually. Corresponds to the JSON property manual

Returns:

  • (Boolean)


191
192
193
# File 'lib/google/apis/gkebackup_v1/classes.rb', line 191

def manual
  @manual
end

#nameString

Output only. The fully qualified name of the Backup. projects/*/locations/*/ backupPlans/*/backups/* Corresponds to the JSON property name

Returns:

  • (String)


198
199
200
# File 'lib/google/apis/gkebackup_v1/classes.rb', line 198

def name
  @name
end

#permissive_modeBoolean Also known as: permissive_mode?

Output only. If false, Backup will fail when Backup for GKE detects Kubernetes configuration that is non-standard or requires additional setup to restore. Inherited from the parent BackupPlan's permissive_mode value. Corresponds to the JSON property permissiveMode

Returns:

  • (Boolean)


205
206
207
# File 'lib/google/apis/gkebackup_v1/classes.rb', line 205

def permissive_mode
  @permissive_mode
end

#pod_countFixnum

Output only. The total number of Kubernetes Pods contained in the Backup. Corresponds to the JSON property podCount

Returns:

  • (Fixnum)


211
212
213
# File 'lib/google/apis/gkebackup_v1/classes.rb', line 211

def pod_count
  @pod_count
end

#resource_countFixnum

Output only. The total number of Kubernetes resources included in the Backup. Corresponds to the JSON property resourceCount

Returns:

  • (Fixnum)


216
217
218
# File 'lib/google/apis/gkebackup_v1/classes.rb', line 216

def resource_count
  @resource_count
end

#retain_daysFixnum

Optional. The age (in days) after which this Backup will be automatically deleted. Must be an integer value >= 0: - If 0, no automatic deletion will occur for this Backup. - If not 0, this must be >= delete_lock_days and <= 365. Once a Backup is created, this value may only be increased. Defaults to the parent BackupPlan's backup_retain_days value. Corresponds to the JSON property retainDays

Returns:

  • (Fixnum)


225
226
227
# File 'lib/google/apis/gkebackup_v1/classes.rb', line 225

def retain_days
  @retain_days
end

#retain_expire_timeString

Output only. The time at which this Backup will be automatically deleted ( calculated from create_time + retain_days). Corresponds to the JSON property retainExpireTime

Returns:

  • (String)


231
232
233
# File 'lib/google/apis/gkebackup_v1/classes.rb', line 231

def retain_expire_time
  @retain_expire_time
end

#selected_applicationsGoogle::Apis::GkebackupV1::NamespacedNames

A list of namespaced Kubernetes resources. Corresponds to the JSON property selectedApplications



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

def selected_applications
  @selected_applications
end

#selected_namespacesGoogle::Apis::GkebackupV1::Namespaces

A list of Kubernetes Namespaces Corresponds to the JSON property selectedNamespaces



241
242
243
# File 'lib/google/apis/gkebackup_v1/classes.rb', line 241

def selected_namespaces
  @selected_namespaces
end

#size_bytesFixnum

Output only. The total size of the Backup in bytes = config backup size + sum( volume backup sizes) Corresponds to the JSON property sizeBytes

Returns:

  • (Fixnum)


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

def size_bytes
  @size_bytes
end

#stateString

Output only. Current state of the Backup Corresponds to the JSON property state

Returns:

  • (String)


252
253
254
# File 'lib/google/apis/gkebackup_v1/classes.rb', line 252

def state
  @state
end

#state_reasonString

Output only. Human-readable description of why the backup is in the current state. Corresponds to the JSON property stateReason

Returns:

  • (String)


258
259
260
# File 'lib/google/apis/gkebackup_v1/classes.rb', line 258

def state_reason
  @state_reason
end

#uidString

Output only. Server generated global unique identifier of UUID4 Corresponds to the JSON property uid

Returns:

  • (String)


264
265
266
# File 'lib/google/apis/gkebackup_v1/classes.rb', line 264

def uid
  @uid
end

#update_timeString

Output only. The timestamp when this Backup resource was last updated. Corresponds to the JSON property updateTime

Returns:

  • (String)


269
270
271
# File 'lib/google/apis/gkebackup_v1/classes.rb', line 269

def update_time
  @update_time
end

#volume_countFixnum

Output only. The total number of volume backups contained in the Backup. Corresponds to the JSON property volumeCount

Returns:

  • (Fixnum)


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

def volume_count
  @volume_count
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



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

def update!(**args)
  @all_namespaces = args[:all_namespaces] if args.key?(:all_namespaces)
  @cluster_metadata = args[:cluster_metadata] if args.key?(:cluster_metadata)
  @complete_time = args[:complete_time] if args.key?(:complete_time)
  @config_backup_size_bytes = args[:config_backup_size_bytes] if args.key?(:config_backup_size_bytes)
  @contains_secrets = args[:contains_secrets] if args.key?(:contains_secrets)
  @contains_volume_data = args[:contains_volume_data] if args.key?(:contains_volume_data)
  @create_time = args[:create_time] if args.key?(:create_time)
  @delete_lock_days = args[:delete_lock_days] if args.key?(:delete_lock_days)
  @delete_lock_expire_time = args[:delete_lock_expire_time] if args.key?(:delete_lock_expire_time)
  @description = args[:description] if args.key?(:description)
  @encryption_key = args[:encryption_key] if args.key?(:encryption_key)
  @etag = args[:etag] if args.key?(:etag)
  @labels = args[:labels] if args.key?(:labels)
  @manual = args[:manual] if args.key?(:manual)
  @name = args[:name] if args.key?(:name)
  @permissive_mode = args[:permissive_mode] if args.key?(:permissive_mode)
  @pod_count = args[:pod_count] if args.key?(:pod_count)
  @resource_count = args[:resource_count] if args.key?(:resource_count)
  @retain_days = args[:retain_days] if args.key?(:retain_days)
  @retain_expire_time = args[:retain_expire_time] if args.key?(:retain_expire_time)
  @selected_applications = args[:selected_applications] if args.key?(:selected_applications)
  @selected_namespaces = args[:selected_namespaces] if args.key?(:selected_namespaces)
  @size_bytes = args[:size_bytes] if args.key?(:size_bytes)
  @state = args[:state] if args.key?(:state)
  @state_reason = args[:state_reason] if args.key?(:state_reason)
  @uid = args[:uid] if args.key?(:uid)
  @update_time = args[:update_time] if args.key?(:update_time)
  @volume_count = args[:volume_count] if args.key?(:volume_count)
end