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.



4049
4050
4051
# File 'lib/google/apis/backupdr_v1/classes.rb', line 4049

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



3992
3993
3994
# File 'lib/google/apis/backupdr_v1/classes.rb', line 3992

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


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

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


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

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)


4020
4021
4022
# File 'lib/google/apis/backupdr_v1/classes.rb', line 4020

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


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

def months
  @months
end

#recurrence_typeString

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

Returns:

  • (String)


4032
4033
4034
# File 'lib/google/apis/backupdr_v1/classes.rb', line 4032

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)


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

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



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

def week_day_of_month
  @week_day_of_month
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



4054
4055
4056
4057
4058
4059
4060
4061
4062
4063
# File 'lib/google/apis/backupdr_v1/classes.rb', line 4054

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