Schedules

A Schedule is a named, reusable weekday-and-time schedule shared by scheduled resources across a Site.

List Schedules

SDK Method

schedule.List()

Return Object

[]*Schedule

Authorization Requirement

Requires either a Site-Wide API key or User API key or session from a User with Site Admin permissions.

Additional Arguments

Example Request

import (
    "fmt"
    "errors"

    files_sdk "github.com/Files-com/files-sdk-go/v3"
    "github.com/Files-com/files-sdk-go/v3/schedule"
)

scheduleIterator, err := schedule.List(files_sdk.ScheduleListParams{})
if err != nil {
    var respErr files_sdk.ResponseError
    if errors.As(err, &respErr) {
        fmt.Println("Response Error Occurred (" + respErr.Type + "): " + respErr.ErrorMessage)
    } else {
        fmt.Printf("Unexpected Error: %s\n", err.Error())
    }
}

for scheduleIterator.Next() {
    schedule := scheduleIterator.schedule()
}
err = scheduleIterator.Err()
if err != nil {
    var respErr files_sdk.ResponseError
    if errors.As(err, &respErr) {
        fmt.Println("Response Error Occurred (" + respErr.Type + "): " + respErr.ErrorMessage)
    } else {
        fmt.Printf("Unexpected Error: %s\n", err.Error())
    }
}

Show Schedule

SDK Method

schedule.Find()

Return Object

Schedule

Authorization Requirement

Requires either a Site-Wide API key or User API key or session from a User with Site Admin permissions.

ScheduleFindParams Fields

FieldDescription
Id
int64
Required
Schedule ID.

Example Request

import (
    "fmt"
    "errors"

    files_sdk "github.com/Files-com/files-sdk-go/v3"
    "github.com/Files-com/files-sdk-go/v3/schedule"
)

schedule, err := schedule.Find(files_sdk.ScheduleFindParams{Id: 1})
if err != nil {
    var respErr files_sdk.ResponseError
    if errors.As(err, &respErr) {
        fmt.Println("Response Error Occurred (" + respErr.Type + "): " + respErr.ErrorMessage)
    } else {
        fmt.Printf("Unexpected Error: %s\n", err.Error())
    }
}

Create Schedule

SDK Method

schedule.Create()

Return Object

Schedule

Authorization Requirement

Requires either a Site-Wide API key or User API key or session from a User with Site Admin permissions.

ScheduleCreateParams Fields

FieldDescription
Name
string
Required
Schedule name.
ScheduleDaysOfWeek
array(int64)
Required
0-based weekdays used by the Schedule. 0 is Sunday.
ScheduleTimesOfDay
array(string)
Required
Times of day in HH:MM format (24-hour).
ScheduleTimeZone
string
Time zone for scheduled times. If not set, times are interpreted as UTC.
HolidayRegion
string
Optional holiday region on which linked resources do not run.

Example Request

import (
    "fmt"
    "errors"

    files_sdk "github.com/Files-com/files-sdk-go/v3"
    "github.com/Files-com/files-sdk-go/v3/schedule"
)

schedule, err := schedule.Create(files_sdk.ScheduleCreateParams{
  Name: "Weekday overnight",
  ScheduleDaysOfWeek: []int64{[1,2,3,4,5]},
  ScheduleTimesOfDay: []string{"01:00"}
})
if err != nil {
    var respErr files_sdk.ResponseError
    if errors.As(err, &respErr) {
        fmt.Println("Response Error Occurred (" + respErr.Type + "): " + respErr.ErrorMessage)
    } else {
        fmt.Printf("Unexpected Error: %s\n", err.Error())
    }
}

Update Schedule

SDK Method

schedule.Update()

Return Object

Schedule

Authorization Requirement

Requires either a Site-Wide API key or User API key or session from a User with Site Admin permissions.

ScheduleUpdateParams Fields

FieldDescription
Id
int64
Required
Schedule ID.
Name
string
Schedule name.
ScheduleDaysOfWeek
array(int64)
0-based weekdays used by the Schedule. 0 is Sunday.
ScheduleTimesOfDay
array(string)
Times of day in HH:MM format (24-hour).
ScheduleTimeZone
string
Time zone for scheduled times. If not set, times are interpreted as UTC.
HolidayRegion
string
Optional holiday region on which linked resources do not run.

Example Request

import (
    "fmt"
    "errors"

    files_sdk "github.com/Files-com/files-sdk-go/v3"
    "github.com/Files-com/files-sdk-go/v3/schedule"
)

schedule, err := schedule.Update(files_sdk.ScheduleUpdateParams{
  Id: 1,
  Name: "Weekday overnight"
})
if err != nil {
    var respErr files_sdk.ResponseError
    if errors.As(err, &respErr) {
        fmt.Println("Response Error Occurred (" + respErr.Type + "): " + respErr.ErrorMessage)
    } else {
        fmt.Printf("Unexpected Error: %s\n", err.Error())
    }
}

Delete Schedule

SDK Method

schedule.Delete()

Return Object

No return value.

Authorization Requirement

Requires either a Site-Wide API key or User API key or session from a User with Site Admin permissions.

ScheduleDeleteParams Fields

FieldDescription
Id
int64
Required
Schedule ID.

Example Request

import (
    "fmt"
    "errors"

    files_sdk "github.com/Files-com/files-sdk-go/v3"
    "github.com/Files-com/files-sdk-go/v3/schedule"
)

err := schedule.Delete(files_sdk.ScheduleDeleteParams{Id: 1})
if err != nil {
    var respErr files_sdk.ResponseError
    if errors.As(err, &respErr) {
        fmt.Println("Response Error Occurred (" + respErr.Type + "): " + respErr.ErrorMessage)
    } else {
        fmt.Printf("Unexpected Error: %s\n", err.Error())
    }
}

The Schedule Object

Some of the methods above return a Schedule object. The attributes of this object are listed below.

AttributeDescription
Id
int64
Schedule ID.
Name
string
Schedule name.
ScheduleDaysOfWeek
array(int64)
0-based weekdays used by the Schedule. 0 is Sunday.
ScheduleTimesOfDay
array(string)
Times of day in HH:MM format (24-hour).
ScheduleTimeZone
string
Time zone for scheduled times. If not set, times are interpreted as UTC.
HolidayRegion
string
Optional holiday region on which linked resources do not run.
HumanReadableSchedule
string
Human-readable Schedule description.
CreatedAt
date-time
Creation time.
UpdatedAt
date-time
Last update time.