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.



593
594
595
# File 'lib/google/apis/gkebackup_v1/classes.rb', line 593

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)


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

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



398
399
400
# File 'lib/google/apis/gkebackup_v1/classes.rb', line 398

def 
  @cluster_metadata
end

#complete_timeString

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

Returns:

  • (String)


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

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)


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

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)


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

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)


421
422
423
# File 'lib/google/apis/gkebackup_v1/classes.rb', line 421

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)


427
428
429
# File 'lib/google/apis/gkebackup_v1/classes.rb', line 427

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)


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

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)


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

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)


448
449
450
# File 'lib/google/apis/gkebackup_v1/classes.rb', line 448

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



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

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)


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

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


470
471
472
# File 'lib/google/apis/gkebackup_v1/classes.rb', line 470

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)


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

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)


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

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)


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

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)


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

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)


503
504
505
# File 'lib/google/apis/gkebackup_v1/classes.rb', line 503

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)


508
509
510
# File 'lib/google/apis/gkebackup_v1/classes.rb', line 508

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)


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

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)


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

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)


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

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)


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

def satisfies_pzs
  @satisfies_pzs
end

#selected_applicationsGoogle::Apis::GkebackupV1::NamespacedNames

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



540
541
542
# File 'lib/google/apis/gkebackup_v1/classes.rb', line 540

def selected_applications
  @selected_applications
end

#selected_namespace_labelsGoogle::Apis::GkebackupV1::ResourceLabels

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



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

def selected_namespace_labels
  @selected_namespace_labels
end

#selected_namespacesGoogle::Apis::GkebackupV1::Namespaces

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



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

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)


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

def size_bytes
  @size_bytes
end

#stateString

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

Returns:

  • (String)


561
562
563
# File 'lib/google/apis/gkebackup_v1/classes.rb', line 561

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)


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

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



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

def troubleshooting_info
  @troubleshooting_info
end

#uidString

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

Returns:

  • (String)


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

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)


586
587
588
# File 'lib/google/apis/gkebackup_v1/classes.rb', line 586

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)


591
592
593
# File 'lib/google/apis/gkebackup_v1/classes.rb', line 591

def volume_count
  @volume_count
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
# File 'lib/google/apis/gkebackup_v1/classes.rb', line 598

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