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.



4056
4057
4058
# File 'lib/google/apis/backupdr_v1/classes.rb', line 4056

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



3999
4000
4001
# File 'lib/google/apis/backupdr_v1/classes.rb', line 3999

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


4006
4007
4008
# File 'lib/google/apis/backupdr_v1/classes.rb', line 4006

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


4014
4015
4016
# File 'lib/google/apis/backupdr_v1/classes.rb', line 4014

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)


4027
4028
4029
# File 'lib/google/apis/backupdr_v1/classes.rb', line 4027

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


4034
4035
4036
# File 'lib/google/apis/backupdr_v1/classes.rb', line 4034

def months
  @months
end

#recurrence_typeString

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

Returns:

  • (String)


4039
4040
4041
# File 'lib/google/apis/backupdr_v1/classes.rb', line 4039

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)


4047
4048
4049
# File 'lib/google/apis/backupdr_v1/classes.rb', line 4047

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



4054
4055
4056
# File 'lib/google/apis/backupdr_v1/classes.rb', line 4054

def week_day_of_month
  @week_day_of_month
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



4061
4062
4063
4064
4065
4066
4067
4068
4069
4070
# File 'lib/google/apis/backupdr_v1/classes.rb', line 4061

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