REST Resource: transferJobs

Resource: TransferJob

This resource represents the configuration of a transfer job that runs periodically.

JSON representation
{
  "name": string,
  "description": string,
  "projectId": string,
  "transferSpec": {
    object (TransferSpec)
  },
  "notificationConfig": {
    object (NotificationConfig)
  },
  "schedule": {
    object (Schedule)
  },
  "status": enum (Status),
  "creationTime": string,
  "lastModificationTime": string,
  "deletionTime": string
}
Fields
name

string

A unique name (within the transfer project) assigned when the job is created. If this field is empty in a CreateTransferJobRequest, Storage Transfer Service will assign a unique name. Otherwise, the specified name is used as the unique name for this job.

If the specified name is in use by a job, the creation request fails with an ALREADY_EXISTS error.

This name must start with "transferJobs/" prefix and end with a letter or a number, and should be no more than 128 characters. Example: "transferJobs/[A-Za-z0-9-._~]*[A-Za-z0-9]$"

Invalid job names will fail with an INVALID_ARGUMENT error.

description

string

A description provided by the user for the job. Its max length is 1024 bytes when Unicode-encoded.

projectId

string

The ID of the Google Cloud Platform Project that owns the job.

transferSpec

object (TransferSpec)

Transfer specification.

notificationConfig

object (NotificationConfig)

Notification configuration.

schedule

object (Schedule)

Schedule specification.

status

enum (Status)

Status of the job. This value MUST be specified for CreateTransferJobRequests.

Note: The effect of the new job status takes place during a subsequent job run. For example, if you change the job status from ENABLED to DISABLED, and an operation spawned by the transfer is running, the status change would not affect the current operation.

creationTime

string (Timestamp format)

Output only. The time that the transfer job was created.

A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z".

lastModificationTime

string (Timestamp format)

Output only. The time that the transfer job was last modified.

A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z".

deletionTime

string (Timestamp format)

Output only. The time that the transfer job was deleted.

A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z".

Schedule

Transfers can be scheduled to recur or to run just once.

JSON representation
{
  "scheduleStartDate": {
    object (Date)
  },
  "scheduleEndDate": {
    object (Date)
  },
  "startTimeOfDay": {
    object (TimeOfDay)
  }
}
Fields
scheduleStartDate

object (Date)

Required. The start date of a transfer. Date boundaries are determined relative to UTC time. If scheduleStartDate and startTimeOfDay are in the past relative to the job's creation time, the transfer starts the day after you schedule the transfer request.

Note: When starting jobs at or near midnight UTC it is possible that a job will start later than expected. For example, if you send an outbound request on June 1 one millisecond prior to midnight UTC and the Storage Transfer Service server receives the request on June 2, then it will create a TransferJob with scheduleStartDate set to June 2 and a startTimeOfDay set to midnight UTC. The first scheduled TransferOperation will take place on June 3 at midnight UTC.

scheduleEndDate

object (Date)

The last day a transfer runs. Date boundaries are determined relative to UTC time. A job will run once per 24 hours within the following guidelines:

  • If scheduleEndDate and scheduleStartDate are the same and in the future relative to UTC, the transfer is executed only one time.
  • If scheduleEndDate is later than scheduleStartDate and scheduleEndDate is in the future relative to UTC, the job will run each day at startTimeOfDay through scheduleEndDate.
startTimeOfDay

object (TimeOfDay)

The time in UTC that a transfer job is scheduled to run. Transfers may start later than this time.

If startTimeOfDay is not specified:

  • One-time transfers run immediately.
  • Recurring transfers run immediately, and each day at midnight UTC, through scheduleEndDate.

If startTimeOfDay is specified:

  • One-time transfers run at the specified time.
  • Recurring transfers run at the specified time each day, through scheduleEndDate.

Date

Represents a whole or partial calendar date, e.g. a birthday. The time of day and time zone are either specified elsewhere or are not significant. The date is relative to the Proleptic Gregorian Calendar. This can represent:

  • A full date, with non-zero year, month and day values
  • A month and day value, with a zero year, e.g. an anniversary
  • A year on its own, with zero month and day values
  • A year and month value, with a zero day, e.g. a credit card expiration date

Related types are google.type.TimeOfDay and google.protobuf.Timestamp.

JSON representation
{
  "year": integer,
  "month": integer,
  "day": integer
}
Fields
year

integer

Year of date. Must be from 1 to 9999, or 0 if specifying a date without a year.

month

integer

Month of year. Must be from 1 to 12, or 0 if specifying a year without a month and day.

day

integer

Day of month. Must be from 1 to 31 and valid for the year and month, or 0 if specifying a year by itself or a year and month where the day is not significant.

TimeOfDay

Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and google.protobuf.Timestamp.

JSON representation
{
  "hours": integer,
  "minutes": integer,
  "seconds": integer,
  "nanos": integer
}
Fields
hours

integer

Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.

minutes

integer

Minutes of hour of day. Must be from 0 to 59.

seconds

integer

Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.

nanos

integer

Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.

Status

The status of the transfer job.

Enums
STATUS_UNSPECIFIED Zero is an illegal value.
ENABLED New transfers will be performed based on the schedule.
DISABLED New transfers will not be scheduled.
DELETED This is a soft delete state. After a transfer job is set to this state, the job and all the transfer executions are subject to garbage collection. Transfer jobs become eligible for garbage collection 30 days after their status is set to DELETED.

Methods

create

Creates a transfer job that runs periodically.

get

Gets a transfer job.

list

Lists transfer jobs.

patch

Updates a transfer job.