Class: Google::Apis::BackupdrV1::StandardSchedule

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

Overview

StandardSchedule defines a schedule that run within the confines of a defined window of days. We can define recurrence type for schedule as HOURLY, DAILY, WEEKLY, MONTHLY or YEARLY.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ StandardSchedule

Returns a new instance of StandardSchedule.



4137
4138
4139
# File 'lib/google/apis/backupdr_v1/classes.rb', line 4137

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

Instance Attribute Details

#backup_windowGoogle::Apis::BackupdrV1::BackupWindow

BackupWindow defines a window of the day during which backup jobs will run. Corresponds to the JSON property backupWindow



4080
4081
4082
# File 'lib/google/apis/backupdr_v1/classes.rb', line 4080

def backup_window
  @backup_window
end

#days_of_monthArray<Fixnum>

Optional. Specifies days of months like 1, 5, or 14 on which jobs will run. Values for days_of_month are only applicable for recurrence_type, MONTHLY and YEARLY. A validation error will occur if other values are supplied. Corresponds to the JSON property daysOfMonth

Returns:

  • (Array<Fixnum>)


4087
4088
4089
# File 'lib/google/apis/backupdr_v1/classes.rb', line 4087

def days_of_month
  @days_of_month
end

#days_of_weekArray<String>

Optional. Specifies days of week like, MONDAY or TUESDAY, on which jobs will run. This is required for recurrence_type, WEEKLY and is not applicable otherwise. A validation error will occur if a value is supplied and recurrence_type is not WEEKLY. Corresponds to the JSON property daysOfWeek

Returns:

  • (Array<String>)


4095
4096
4097
# File 'lib/google/apis/backupdr_v1/classes.rb', line 4095

def days_of_week
  @days_of_week
end

#hourly_frequencyFixnum

Optional. Specifies frequency for hourly backups. A hourly frequency of 2 means jobs will run every 2 hours from start time till end time defined. This is required for recurrence_type, HOURLY and is not applicable otherwise. A validation error will occur if a value is supplied and recurrence_type is not HOURLY. Value of hourly frequency should be between 6 and 23. Reason for limit : We found that there is bandwidth limitation of 3GB/S for GMI while taking a backup and 5GB/S while doing a restore. Given the amount of parallel backups and restore we are targeting, this will potentially take the backup time to mins and hours (in worst case scenario). Corresponds to the JSON property hourlyFrequency

Returns:

  • (Fixnum)


4108
4109
4110
# File 'lib/google/apis/backupdr_v1/classes.rb', line 4108

def hourly_frequency
  @hourly_frequency
end

#monthsArray<String>

Optional. Specifies the months of year, like FEBRUARY and/or MAY, on which jobs will run. This field is only applicable when recurrence_type is YEARLY . A validation error will occur if other values are supplied. Corresponds to the JSON property months

Returns:

  • (Array<String>)


4115
4116
4117
# File 'lib/google/apis/backupdr_v1/classes.rb', line 4115

def months
  @months
end

#recurrence_typeString

Required. Specifies the RecurrenceType for the schedule. Corresponds to the JSON property recurrenceType

Returns:

  • (String)


4120
4121
4122
# File 'lib/google/apis/backupdr_v1/classes.rb', line 4120

def recurrence_type
  @recurrence_type
end

#time_zoneString

Required. The time zone to be used when interpreting the schedule. The value of this field must be a time zone name from the IANA tz database. See https:// en.wikipedia.org/wiki/List_of_tz_database_time_zones for the list of valid timezone names. For e.g., Europe/Paris. Corresponds to the JSON property timeZone

Returns:

  • (String)


4128
4129
4130
# File 'lib/google/apis/backupdr_v1/classes.rb', line 4128

def time_zone
  @time_zone
end

#week_day_of_monthGoogle::Apis::BackupdrV1::WeekDayOfMonth

WeekDayOfMonth defines the week day of the month on which the backups will run. The message combines a WeekOfMonth and DayOfWeek to produce values like FIRST/MONDAY or LAST/FRIDAY. Corresponds to the JSON property weekDayOfMonth



4135
4136
4137
# File 'lib/google/apis/backupdr_v1/classes.rb', line 4135

def week_day_of_month
  @week_day_of_month
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



4142
4143
4144
4145
4146
4147
4148
4149
4150
4151
# File 'lib/google/apis/backupdr_v1/classes.rb', line 4142

def update!(**args)
  @backup_window = args[:backup_window] if args.key?(:backup_window)
  @days_of_month = args[:days_of_month] if args.key?(:days_of_month)
  @days_of_week = args[:days_of_week] if args.key?(:days_of_week)
  @hourly_frequency = args[:hourly_frequency] if args.key?(:hourly_frequency)
  @months = args[:months] if args.key?(:months)
  @recurrence_type = args[:recurrence_type] if args.key?(:recurrence_type)
  @time_zone = args[:time_zone] if args.key?(:time_zone)
  @week_day_of_month = args[:week_day_of_month] if args.key?(:week_day_of_month)
end