Class: Google::Apis::SpannerV1::BackupSchedule

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

Overview

BackupSchedule expresses the automated backup creation specification for a Spanner database.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ BackupSchedule

Returns a new instance of BackupSchedule.



482
483
484
# File 'lib/google/apis/spanner_v1/classes.rb', line 482

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

Instance Attribute Details

#encryption_configGoogle::Apis::SpannerV1::CreateBackupEncryptionConfig

Encryption configuration for the backup to create. Corresponds to the JSON property encryptionConfig



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

def encryption_config
  @encryption_config
end

#full_backup_specGoogle::Apis::SpannerV1::FullBackupSpec

The specification for full backups. A full backup stores the entire contents of the database at a given version time. Corresponds to the JSON property fullBackupSpec



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

def full_backup_spec
  @full_backup_spec
end

#incremental_backup_specGoogle::Apis::SpannerV1::IncrementalBackupSpec

The specification for incremental backup chains. An incremental backup stores the delta of changes between a previous backup and the database contents at a given version time. An incremental backup chain consists of a full backup and zero or more successive incremental backups. The first backup created for an incremental backup chain is always a full backup. Corresponds to the JSON property incrementalBackupSpec



452
453
454
# File 'lib/google/apis/spanner_v1/classes.rb', line 452

def incremental_backup_spec
  @incremental_backup_spec
end

#nameString

Identifier. Output only for the CreateBackupSchedule operation. Required for the UpdateBackupSchedule operation. A globally unique identifier for the backup schedule which cannot be changed. Values are of the form projects// instances//databases//backupSchedules/a-z*[a-z0-9] The final segment of the name must be between 2 and 60 characters in length. Corresponds to the JSON property name

Returns:

  • (String)


461
462
463
# File 'lib/google/apis/spanner_v1/classes.rb', line 461

def name
  @name
end

#retention_durationString

Optional. The retention duration of a backup that must be at least 6 hours and at most 366 days. The backup is eligible to be automatically deleted once the retention period has elapsed. Corresponds to the JSON property retentionDuration

Returns:

  • (String)


468
469
470
# File 'lib/google/apis/spanner_v1/classes.rb', line 468

def retention_duration
  @retention_duration
end

#specGoogle::Apis::SpannerV1::BackupScheduleSpec

Defines specifications of the backup schedule. Corresponds to the JSON property spec



473
474
475
# File 'lib/google/apis/spanner_v1/classes.rb', line 473

def spec
  @spec
end

#update_timeString

Output only. The timestamp at which the schedule was last updated. If the schedule has never been updated, this field contains the timestamp when the schedule was first created. Corresponds to the JSON property updateTime

Returns:

  • (String)


480
481
482
# File 'lib/google/apis/spanner_v1/classes.rb', line 480

def update_time
  @update_time
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



487
488
489
490
491
492
493
494
495
# File 'lib/google/apis/spanner_v1/classes.rb', line 487

def update!(**args)
  @encryption_config = args[:encryption_config] if args.key?(:encryption_config)
  @full_backup_spec = args[:full_backup_spec] if args.key?(:full_backup_spec)
  @incremental_backup_spec = args[:incremental_backup_spec] if args.key?(:incremental_backup_spec)
  @name = args[:name] if args.key?(:name)
  @retention_duration = args[:retention_duration] if args.key?(:retention_duration)
  @spec = args[:spec] if args.key?(:spec)
  @update_time = args[:update_time] if args.key?(:update_time)
end