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.



581
582
583
# File 'lib/google/apis/gkebackup_v1/classes.rb', line 581

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)


380
381
382
# File 'lib/google/apis/gkebackup_v1/classes.rb', line 380

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



386
387
388
# File 'lib/google/apis/gkebackup_v1/classes.rb', line 386

def 
  @cluster_metadata
end

#complete_timeString

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

Returns:

  • (String)


391
392
393
# File 'lib/google/apis/gkebackup_v1/classes.rb', line 391

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)


396
397
398
# File 'lib/google/apis/gkebackup_v1/classes.rb', line 396

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)


402
403
404
# File 'lib/google/apis/gkebackup_v1/classes.rb', line 402

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)


409
410
411
# File 'lib/google/apis/gkebackup_v1/classes.rb', line 409

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)


415
416
417
# File 'lib/google/apis/gkebackup_v1/classes.rb', line 415

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)


425
426
427
# File 'lib/google/apis/gkebackup_v1/classes.rb', line 425

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)


431
432
433
# File 'lib/google/apis/gkebackup_v1/classes.rb', line 431

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)


436
437
438
# File 'lib/google/apis/gkebackup_v1/classes.rb', line 436

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



442
443
444
# File 'lib/google/apis/gkebackup_v1/classes.rb', line 442

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)


453
454
455
# File 'lib/google/apis/gkebackup_v1/classes.rb', line 453

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>)


458
459
460
# File 'lib/google/apis/gkebackup_v1/classes.rb', line 458

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)


465
466
467
# File 'lib/google/apis/gkebackup_v1/classes.rb', line 465

def manual
  @manual
end

#nameString

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

Returns:

  • (String)


472
473
474
# File 'lib/google/apis/gkebackup_v1/classes.rb', line 472

def name
  @name
end

#namespace_countFixnum

Output only. The total number of user managed namespaces contained in the Backup. Corresponds to the JSON property namespaceCount

Returns:

  • (Fixnum)


478
479
480
# File 'lib/google/apis/gkebackup_v1/classes.rb', line 478

def namespace_count
  @namespace_count
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)


485
486
487
# File 'lib/google/apis/gkebackup_v1/classes.rb', line 485

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)


491
492
493
# File 'lib/google/apis/gkebackup_v1/classes.rb', line 491

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)


496
497
498
# File 'lib/google/apis/gkebackup_v1/classes.rb', line 496

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)


505
506
507
# File 'lib/google/apis/gkebackup_v1/classes.rb', line 505

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)


511
512
513
# File 'lib/google/apis/gkebackup_v1/classes.rb', line 511

def retain_expire_time
  @retain_expire_time
end

#satisfies_pziBoolean Also known as: satisfies_pzi?

Output only. [Output Only] Reserved for future use. Corresponds to the JSON property satisfiesPzi

Returns:

  • (Boolean)


516
517
518
# File 'lib/google/apis/gkebackup_v1/classes.rb', line 516

def satisfies_pzi
  @satisfies_pzi
end

#satisfies_pzsBoolean Also known as: satisfies_pzs?

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

Returns:

  • (Boolean)


522
523
524
# File 'lib/google/apis/gkebackup_v1/classes.rb', line 522

def satisfies_pzs
  @satisfies_pzs
end

#selected_applicationsGoogle::Apis::GkebackupV1::NamespacedNames

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



528
529
530
# File 'lib/google/apis/gkebackup_v1/classes.rb', line 528

def selected_applications
  @selected_applications
end

#selected_namespace_labelsGoogle::Apis::GkebackupV1::ResourceLabels

A list of Kubernetes labels. Corresponds to the JSON property selectedNamespaceLabels



533
534
535
# File 'lib/google/apis/gkebackup_v1/classes.rb', line 533

def selected_namespace_labels
  @selected_namespace_labels
end

#selected_namespacesGoogle::Apis::GkebackupV1::Namespaces

A list of Kubernetes Namespaces. Corresponds to the JSON property selectedNamespaces



538
539
540
# File 'lib/google/apis/gkebackup_v1/classes.rb', line 538

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)


544
545
546
# File 'lib/google/apis/gkebackup_v1/classes.rb', line 544

def size_bytes
  @size_bytes
end

#stateString

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

Returns:

  • (String)


549
550
551
# File 'lib/google/apis/gkebackup_v1/classes.rb', line 549

def state
  @state
end

#state_reasonString

Output only. Human-readable description of why the backup is in the current state. This field is only meant for human readability and should not be used programmatically as this field is not guaranteed to be consistent. Corresponds to the JSON property stateReason

Returns:

  • (String)


556
557
558
# File 'lib/google/apis/gkebackup_v1/classes.rb', line 556

def state_reason
  @state_reason
end

#troubleshooting_infoGoogle::Apis::GkebackupV1::TroubleshootingInfo

Stores information about troubleshooting doc for debugging a particular state of an operation (eg - backup/restore). This will be used by the end user to debug their operation failure scenario easily. Corresponds to the JSON property troubleshootingInfo



563
564
565
# File 'lib/google/apis/gkebackup_v1/classes.rb', line 563

def troubleshooting_info
  @troubleshooting_info
end

#uidString

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

Returns:

  • (String)


569
570
571
# File 'lib/google/apis/gkebackup_v1/classes.rb', line 569

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)


574
575
576
# File 'lib/google/apis/gkebackup_v1/classes.rb', line 574

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)


579
580
581
# File 'lib/google/apis/gkebackup_v1/classes.rb', line 579

def volume_count
  @volume_count
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
# File 'lib/google/apis/gkebackup_v1/classes.rb', line 586

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)
  @namespace_count = args[:namespace_count] if args.key?(:namespace_count)
  @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)
  @satisfies_pzi = args[:satisfies_pzi] if args.key?(:satisfies_pzi)
  @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
  @selected_applications = args[:selected_applications] if args.key?(:selected_applications)
  @selected_namespace_labels = args[:selected_namespace_labels] if args.key?(:selected_namespace_labels)
  @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)
  @troubleshooting_info = args[:troubleshooting_info] if args.key?(:troubleshooting_info)
  @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