Class: Google::Apis::SpannerV1::Database

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

A Cloud Spanner database.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ Database

Returns a new instance of Database.



1032
1033
1034
# File 'lib/google/apis/spanner_v1/classes.rb', line 1032

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

Instance Attribute Details

#create_timeString

Output only. If exists, the time at which the database creation started. Corresponds to the JSON property createTime

Returns:

  • (String)


981
982
983
# File 'lib/google/apis/spanner_v1/classes.rb', line 981

def create_time
  @create_time
end

#earliest_version_timeString

Output only. Earliest timestamp at which older versions of the data can be read. This value is continuously updated by Cloud Spanner and becomes stale the moment it is queried. If you are using this value to recover data, make sure to account for the time from the moment when the value is queried to the moment when you initiate the recovery. Corresponds to the JSON property earliestVersionTime

Returns:

  • (String)


990
991
992
# File 'lib/google/apis/spanner_v1/classes.rb', line 990

def earliest_version_time
  @earliest_version_time
end

#encryption_configGoogle::Apis::SpannerV1::EncryptionConfig

Encryption configuration for a Cloud Spanner database. Corresponds to the JSON property encryptionConfig



995
996
997
# File 'lib/google/apis/spanner_v1/classes.rb', line 995

def encryption_config
  @encryption_config
end

#encryption_infoArray<Google::Apis::SpannerV1::EncryptionInfo>

Output only. For databases that are using customer managed encryption, this field contains the encryption information for the database, such as encryption state and the Cloud KMS key versions that are in use. For databases that are using Google default or other types of encryption, this field is empty. This field is propagated lazily from the backend. There might be a delay from when a key version is being used and when it appears in this field. Corresponds to the JSON property encryptionInfo



1005
1006
1007
# File 'lib/google/apis/spanner_v1/classes.rb', line 1005

def encryption_info
  @encryption_info
end

#nameString

Required. The name of the database. Values are of the form projects// instances//databases/, where `is as specified in theCREATE DATABASE statement. This name can be passed to other API methods to identify the database. Corresponds to the JSON propertyname`

Returns:

  • (String)


1013
1014
1015
# File 'lib/google/apis/spanner_v1/classes.rb', line 1013

def name
  @name
end

#restore_infoGoogle::Apis::SpannerV1::RestoreInfo

Information about the database restore. Corresponds to the JSON property restoreInfo



1018
1019
1020
# File 'lib/google/apis/spanner_v1/classes.rb', line 1018

def restore_info
  @restore_info
end

#stateString

Output only. The current database state. Corresponds to the JSON property state

Returns:

  • (String)


1023
1024
1025
# File 'lib/google/apis/spanner_v1/classes.rb', line 1023

def state
  @state
end

#version_retention_periodString

Output only. The period in which Cloud Spanner retains all versions of data for the database. This is the same as the value of version_retention_period database option set using UpdateDatabaseDdl. Defaults to 1 hour, if not set. Corresponds to the JSON property versionRetentionPeriod

Returns:

  • (String)


1030
1031
1032
# File 'lib/google/apis/spanner_v1/classes.rb', line 1030

def version_retention_period
  @version_retention_period
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
# File 'lib/google/apis/spanner_v1/classes.rb', line 1037

def update!(**args)
  @create_time = args[:create_time] if args.key?(:create_time)
  @earliest_version_time = args[:earliest_version_time] if args.key?(:earliest_version_time)
  @encryption_config = args[:encryption_config] if args.key?(:encryption_config)
  @encryption_info = args[:encryption_info] if args.key?(:encryption_info)
  @name = args[:name] if args.key?(:name)
  @restore_info = args[:restore_info] if args.key?(:restore_info)
  @state = args[:state] if args.key?(:state)
  @version_retention_period = args[:version_retention_period] if args.key?(:version_retention_period)
end