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.



3748
3749
3750
# File 'lib/google/apis/backupdr_v1/classes.rb', line 3748

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



3691
3692
3693
# File 'lib/google/apis/backupdr_v1/classes.rb', line 3691

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


3698
3699
3700
# File 'lib/google/apis/backupdr_v1/classes.rb', line 3698

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


3706
3707
3708
# File 'lib/google/apis/backupdr_v1/classes.rb', line 3706

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)


3719
3720
3721
# File 'lib/google/apis/backupdr_v1/classes.rb', line 3719

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


3726
3727
3728
# File 'lib/google/apis/backupdr_v1/classes.rb', line 3726

def months
  @months
end

#recurrence_typeString

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

Returns:

  • (String)


3731
3732
3733
# File 'lib/google/apis/backupdr_v1/classes.rb', line 3731

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)


3739
3740
3741
# File 'lib/google/apis/backupdr_v1/classes.rb', line 3739

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



3746
3747
3748
# File 'lib/google/apis/backupdr_v1/classes.rb', line 3746

def week_day_of_month
  @week_day_of_month
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



3753
3754
3755
3756
3757
3758
3759
3760
3761
3762
# File 'lib/google/apis/backupdr_v1/classes.rb', line 3753

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