Class: Google::Apis::GkebackupV1::BackupPlan

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

Defines the configuration and scheduling for a "line" of Backups.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ BackupPlan

Returns a new instance of BackupPlan.



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

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

Instance Attribute Details

#backup_configGoogle::Apis::GkebackupV1::BackupConfig

BackupConfig defines the configuration of Backups created via this BackupPlan. Corresponds to the JSON property backupConfig



372
373
374
# File 'lib/google/apis/gkebackup_v1/classes.rb', line 372

def backup_config
  @backup_config
end

#backup_scheduleGoogle::Apis::GkebackupV1::Schedule

Schedule defines scheduling parameters for automatically creating Backups via this BackupPlan. Corresponds to the JSON property backupSchedule



378
379
380
# File 'lib/google/apis/gkebackup_v1/classes.rb', line 378

def backup_schedule
  @backup_schedule
end

#clusterString

Required. Immutable. The source cluster from which Backups will be created via this BackupPlan. Possible formats: 1. projects//locations//clusters/* 2. projects//zones//clusters/* Corresponds to the JSON property cluster

Returns:

  • (String)


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

def cluster
  @cluster
end

#create_timeString

Output only. [Output Only] The timestamp when this BackupPlan resource was created - can be converted to and from RFC3339 Corresponds to the JSON property createTime

Returns:

  • (String)


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

def create_time
  @create_time
end

#deactivatedBoolean Also known as: deactivated?

This flag indicates whether this BackupPlan has been deactivated. Setting this field to True locks the BackupPlan such that no further updates will be allowed, including the deactivated field. It also prevents any new Backups from being created via this BackupPlan (including scheduled Backups). Default: False Corresponds to the JSON property deactivated

Returns:

  • (Boolean)


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

def deactivated
  @deactivated
end

#descriptionString

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

Returns:

  • (String)


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

def description
  @description
end

#etagString

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

Returns:

  • (String)


418
419
420
# File 'lib/google/apis/gkebackup_v1/classes.rb', line 418

def etag
  @etag
end

#labelsHash<String,String>

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

Returns:

  • (Hash<String,String>)


423
424
425
# File 'lib/google/apis/gkebackup_v1/classes.rb', line 423

def labels
  @labels
end

#nameString

Output only. [Output Only] The full name of the BackupPlan resource. Format: projects//locations//backupPlans/* Corresponds to the JSON property name

Returns:

  • (String)


429
430
431
# File 'lib/google/apis/gkebackup_v1/classes.rb', line 429

def name
  @name
end

#protected_pod_countFixnum

Output only. [Output Only] Represents the number of Kubernetes Pods backed up in the last successful Backup created underneath this BackupPlan. Corresponds to the JSON property protectedPodCount

Returns:

  • (Fixnum)


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

def protected_pod_count
  @protected_pod_count
end

#retention_policyGoogle::Apis::GkebackupV1::RetentionPolicy

RentionPolicy is an inner message type to define: 1. Minimum age for Backups created via this BackupPlan - deletion (either manual or automatic) of Backups younger than this age will be blocked 2. Default maximum age of Backups created via this BackupPlan, after which automatic deletion will occur 3. Lock to disallow any changes to any RetentionPolicy settings Corresponds to the JSON property retentionPolicy



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

def retention_policy
  @retention_policy
end

#uidString

Output only. [Output Only] Server generated global unique identifier of UUID format. Corresponds to the JSON property uid

Returns:

  • (String)


450
451
452
# File 'lib/google/apis/gkebackup_v1/classes.rb', line 450

def uid
  @uid
end

#update_timeString

Output only. [Output Only] The timestamp when this BackupPlan resource was last updated - can be converted to and from RFC3339 Corresponds to the JSON property updateTime

Returns:

  • (String)


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

def update_time
  @update_time
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
# File 'lib/google/apis/gkebackup_v1/classes.rb', line 464

def update!(**args)
  @backup_config = args[:backup_config] if args.key?(:backup_config)
  @backup_schedule = args[:backup_schedule] if args.key?(:backup_schedule)
  @cluster = args[:cluster] if args.key?(:cluster)
  @create_time = args[:create_time] if args.key?(:create_time)
  @deactivated = args[:deactivated] if args.key?(:deactivated)
  @description = args[:description] if args.key?(:description)
  @etag = args[:etag] if args.key?(:etag)
  @labels = args[:labels] if args.key?(:labels)
  @name = args[:name] if args.key?(:name)
  @protected_pod_count = args[:protected_pod_count] if args.key?(:protected_pod_count)
  @retention_policy = args[:retention_policy] if args.key?(:retention_policy)
  @uid = args[:uid] if args.key?(:uid)
  @update_time = args[:update_time] if args.key?(:update_time)
end