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.



964
965
966
# File 'lib/google/apis/gkebackup_v1/classes.rb', line 964

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

Instance Attribute Details

#backup_channelString

Output only. The fully qualified name of the BackupChannel to be used to create a backup. This field is set only if the cluster being backed up is in a different project. projects/*/locations/*/backupChannels/* Corresponds to the JSON property backupChannel

Returns:

  • (String)


839
840
841
# File 'lib/google/apis/gkebackup_v1/classes.rb', line 839

def backup_channel
  @backup_channel
end

#backup_configGoogle::Apis::GkebackupV1::BackupConfig

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



844
845
846
# File 'lib/google/apis/gkebackup_v1/classes.rb', line 844

def backup_config
  @backup_config
end

#backup_scheduleGoogle::Apis::GkebackupV1::Schedule

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



850
851
852
# File 'lib/google/apis/gkebackup_v1/classes.rb', line 850

def backup_schedule
  @backup_schedule
end

#clusterString

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

Returns:

  • (String)


857
858
859
# File 'lib/google/apis/gkebackup_v1/classes.rb', line 857

def cluster
  @cluster
end

#create_timeString

Output only. The timestamp when this BackupPlan resource was created. Corresponds to the JSON property createTime

Returns:

  • (String)


862
863
864
# File 'lib/google/apis/gkebackup_v1/classes.rb', line 862

def create_time
  @create_time
end

#deactivatedBoolean Also known as: deactivated?

Optional. 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 (except deletes), including the deactivated field itself. 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)


871
872
873
# File 'lib/google/apis/gkebackup_v1/classes.rb', line 871

def deactivated
  @deactivated
end

#descriptionString

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

Returns:

  • (String)


877
878
879
# File 'lib/google/apis/gkebackup_v1/classes.rb', line 877

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 or DeleteBackupPlan to ensure that their change will be applied to the same version of the resource. Corresponds to the JSON property etag

Returns:

  • (String)


889
890
891
# File 'lib/google/apis/gkebackup_v1/classes.rb', line 889

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


894
895
896
# File 'lib/google/apis/gkebackup_v1/classes.rb', line 894

def labels
  @labels
end

#last_successful_backup_timeString

Output only. Completion time of the last successful Backup. This is sourced from a successful Backup's complete_time field. This field is added to maintain consistency with BackupPlanBinding to display last successful backup time. Corresponds to the JSON property lastSuccessfulBackupTime

Returns:

  • (String)


902
903
904
# File 'lib/google/apis/gkebackup_v1/classes.rb', line 902

def last_successful_backup_time
  @last_successful_backup_time
end

#nameString

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

Returns:

  • (String)


908
909
910
# File 'lib/google/apis/gkebackup_v1/classes.rb', line 908

def name
  @name
end

#protected_namespace_countFixnum

Output only. The number of user managed namespaces backed up in the last successful Backup created via this BackupPlan. Corresponds to the JSON property protectedNamespaceCount

Returns:

  • (Fixnum)


914
915
916
# File 'lib/google/apis/gkebackup_v1/classes.rb', line 914

def protected_namespace_count
  @protected_namespace_count
end

#protected_pod_countFixnum

Output only. The number of Kubernetes Pods backed up in the last successful Backup created via this BackupPlan. Corresponds to the JSON property protectedPodCount

Returns:

  • (Fixnum)


920
921
922
# File 'lib/google/apis/gkebackup_v1/classes.rb', line 920

def protected_pod_count
  @protected_pod_count
end

#retention_policyGoogle::Apis::GkebackupV1::RetentionPolicy

RetentionPolicy defines a Backup retention policy for a BackupPlan. Corresponds to the JSON property retentionPolicy



925
926
927
# File 'lib/google/apis/gkebackup_v1/classes.rb', line 925

def retention_policy
  @retention_policy
end

#rpo_risk_levelFixnum

Output only. A number that represents the current risk level of this BackupPlan from RPO perspective with 1 being no risk and 5 being highest risk. Corresponds to the JSON property rpoRiskLevel

Returns:

  • (Fixnum)


931
932
933
# File 'lib/google/apis/gkebackup_v1/classes.rb', line 931

def rpo_risk_level
  @rpo_risk_level
end

#rpo_risk_reasonString

Output only. Human-readable description of why the BackupPlan is in the current rpo_risk_level and action items if any. Corresponds to the JSON property rpoRiskReason

Returns:

  • (String)


937
938
939
# File 'lib/google/apis/gkebackup_v1/classes.rb', line 937

def rpo_risk_reason
  @rpo_risk_reason
end

#stateString

Output only. State of the BackupPlan. This State field reflects the various stages a BackupPlan can be in during the Create operation. It will be set to " DEACTIVATED" if the BackupPlan is deactivated on an Update Corresponds to the JSON property state

Returns:

  • (String)


944
945
946
# File 'lib/google/apis/gkebackup_v1/classes.rb', line 944

def state
  @state
end

#state_reasonString

Output only. Human-readable description of why BackupPlan 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)


951
952
953
# File 'lib/google/apis/gkebackup_v1/classes.rb', line 951

def state_reason
  @state_reason
end

#uidString

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

Returns:

  • (String)


957
958
959
# File 'lib/google/apis/gkebackup_v1/classes.rb', line 957

def uid
  @uid
end

#update_timeString

Output only. The timestamp when this BackupPlan resource was last updated. Corresponds to the JSON property updateTime

Returns:

  • (String)


962
963
964
# File 'lib/google/apis/gkebackup_v1/classes.rb', line 962

def update_time
  @update_time
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
# File 'lib/google/apis/gkebackup_v1/classes.rb', line 969

def update!(**args)
  @backup_channel = args[:backup_channel] if args.key?(:backup_channel)
  @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)
  @last_successful_backup_time = args[:last_successful_backup_time] if args.key?(:last_successful_backup_time)
  @name = args[:name] if args.key?(:name)
  @protected_namespace_count = args[:protected_namespace_count] if args.key?(:protected_namespace_count)
  @protected_pod_count = args[:protected_pod_count] if args.key?(:protected_pod_count)
  @retention_policy = args[:retention_policy] if args.key?(:retention_policy)
  @rpo_risk_level = args[:rpo_risk_level] if args.key?(:rpo_risk_level)
  @rpo_risk_reason = args[:rpo_risk_reason] if args.key?(:rpo_risk_reason)
  @state = args[:state] if args.key?(:state)
  @state_reason = args[:state_reason] if args.key?(:state_reason)
  @uid = args[:uid] if args.key?(:uid)
  @update_time = args[:update_time] if args.key?(:update_time)
end