StorageTransferJob

Property Value
Google Cloud Service Name Storage Transfer
Google Cloud Service Documentation /storage-transfer/docs/
Google Cloud REST Resource Name v1.transferJobs
Google Cloud REST Resource Documentation /storage-transfer/docs/reference/rest/v1/transferJobs
Config Connector Resource Short Names gcpstoragetransferjob
gcpstoragetransferjobs
storagetransferjob
Config Connector Service Name storagetransfer.googleapis.com
Config Connector Resource Fully Qualified Name storagetransferjobs.storagetransfer.cnrm.cloud.google.com
Can Be Referenced by IAMPolicy/IAMPolicyMember No

Custom Resource Definition Properties

Annotations

Fields
cnrm.cloud.google.com/project-id

Spec

Schema

description: string
schedule:
  scheduleEndDate:
    day: integer
    month: integer
    year: integer
  scheduleStartDate:
    day: integer
    month: integer
    year: integer
  startTimeOfDay:
    hours: integer
    minutes: integer
    nanos: integer
    seconds: integer
status: string
transferSpec:
  awsS3DataSource:
    awsAccessKey:
      accessKeyId:
        value: string
        valueFrom:
          secretKeyRef:
            key: string
            name: string
      secretAccessKey:
        value: string
        valueFrom:
          secretKeyRef:
            key: string
            name: string
    bucketName: string
  gcsDataSink:
    bucketRef:
      external: string
      name: string
      namespace: string
  gcsDataSource:
    bucketRef:
      external: string
      name: string
      namespace: string
  httpDataSource:
    listUrl: string
  objectConditions:
    excludePrefixes:
    - string
    includePrefixes:
    - string
    maxTimeElapsedSinceLastModification: string
    minTimeElapsedSinceLastModification: string
  transferOptions:
    deleteObjectsFromSourceAfterTransfer: boolean
    deleteObjectsUniqueInSink: boolean
    overwriteObjectsAlreadyExistingInSink: boolean
Fields

description

Required

string

schedule

Required

object

schedule.scheduleEndDate

Optional

object

schedule.scheduleEndDate.day

Required*

integer

schedule.scheduleEndDate.month

Required*

integer

schedule.scheduleEndDate.year

Required*

integer

schedule.scheduleStartDate

Required

object

schedule.scheduleStartDate.day

Required

integer

schedule.scheduleStartDate.month

Required

integer

schedule.scheduleStartDate.year

Required

integer

schedule.startTimeOfDay

Optional

object

schedule.startTimeOfDay.hours

Required*

integer

schedule.startTimeOfDay.minutes

Required*

integer

schedule.startTimeOfDay.nanos

Required*

integer

schedule.startTimeOfDay.seconds

Required*

integer

status

Optional

string

transferSpec

Required

object

transferSpec.awsS3DataSource

Optional

object

transferSpec.awsS3DataSource.awsAccessKey

Required*

object

transferSpec.awsS3DataSource.awsAccessKey.accessKeyId

Required*

object

transferSpec.awsS3DataSource.awsAccessKey.accessKeyId.value

Optional

string

Value of the field. Cannot be used if 'valueFrom' is specified.

transferSpec.awsS3DataSource.awsAccessKey.accessKeyId.valueFrom

Optional

object

Source for the field's value. Cannot be used if 'value' is specified.

transferSpec.awsS3DataSource.awsAccessKey.accessKeyId.valueFrom.secretKeyRef

Optional

object

Reference to a value with the given key in the given Secret in the resource's namespace.

transferSpec.awsS3DataSource.awsAccessKey.accessKeyId.valueFrom.secretKeyRef.key

Required*

string

Key that identifies the value to be extracted.

transferSpec.awsS3DataSource.awsAccessKey.accessKeyId.valueFrom.secretKeyRef.name

Required*

string

Name of the Secret to extract a value from.

transferSpec.awsS3DataSource.awsAccessKey.secretAccessKey

Required*

object

transferSpec.awsS3DataSource.awsAccessKey.secretAccessKey.value

Optional

string

Value of the field. Cannot be used if 'valueFrom' is specified.

transferSpec.awsS3DataSource.awsAccessKey.secretAccessKey.valueFrom

Optional

object

Source for the field's value. Cannot be used if 'value' is specified.

transferSpec.awsS3DataSource.awsAccessKey.secretAccessKey.valueFrom.secretKeyRef

Optional

object

Reference to a value with the given key in the given Secret in the resource's namespace.

transferSpec.awsS3DataSource.awsAccessKey.secretAccessKey.valueFrom.secretKeyRef.key

Required*

string

Key that identifies the value to be extracted.

transferSpec.awsS3DataSource.awsAccessKey.secretAccessKey.valueFrom.secretKeyRef.name

Required*

string

Name of the Secret to extract a value from.

transferSpec.awsS3DataSource.bucketName

Required*

string

transferSpec.gcsDataSink

Optional

object

transferSpec.gcsDataSink.bucketRef

Required*

object

transferSpec.gcsDataSink.bucketRef.external

Optional

string

The name of a StorageBucket.

transferSpec.gcsDataSink.bucketRef.name

Optional

string

Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

transferSpec.gcsDataSink.bucketRef.namespace

Optional

string

Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/

transferSpec.gcsDataSource

Optional

object

transferSpec.gcsDataSource.bucketRef

Required*

object

transferSpec.gcsDataSource.bucketRef.external

Optional

string

The name of a StorageBucket.

transferSpec.gcsDataSource.bucketRef.name

Optional

string

Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

transferSpec.gcsDataSource.bucketRef.namespace

Optional

string

Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/

transferSpec.httpDataSource

Optional

object

transferSpec.httpDataSource.listUrl

Required*

string

transferSpec.objectConditions

Optional

object

transferSpec.objectConditions.excludePrefixes

Optional

list (string)

transferSpec.objectConditions.excludePrefixes.[]

Optional

string

transferSpec.objectConditions.includePrefixes

Optional

list (string)

transferSpec.objectConditions.includePrefixes.[]

Optional

string

transferSpec.objectConditions.maxTimeElapsedSinceLastModification

Optional

string

transferSpec.objectConditions.minTimeElapsedSinceLastModification

Optional

string

transferSpec.transferOptions

Optional

object

transferSpec.transferOptions.deleteObjectsFromSourceAfterTransfer

Optional

boolean

transferSpec.transferOptions.deleteObjectsUniqueInSink

Optional

boolean

transferSpec.transferOptions.overwriteObjectsAlreadyExistingInSink

Optional

boolean

* Field is required when parent field is specified

Status

Schema

conditions:
- lastTransitionTime: string
  message: string
  reason: string
  status: string
  type: string
creationTime: string
deletionTime: string
lastModificationTime: string
name: string
Fields
conditions

list (object)

conditions.[]

object

conditions.[].lastTransitionTime

string

Last time the condition transitioned from one status to another.

conditions.[].message

string

Human-readable message indicating details about last transition.

conditions.[].reason

string

Unique, one-word, CamelCase reason for the condition's last transition.

conditions.[].status

string

Status is the status of the condition. Can be True, False, Unknown.

conditions.[].type

string

Type is the type of the condition.

creationTime

string

deletionTime

string

lastModificationTime

string

name

string

Sample YAML(s)

Typical Use Case

# Copyright 2020 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

apiVersion: storagetransfer.cnrm.cloud.google.com/v1beta1
kind: StorageTransferJob
metadata:
  name: storagetransferjob-sample
spec:
  description: "Sample storage transfer job"
  schedule:
    startTimeOfDay:
      seconds: 0
      hours: 0
      minutes: 0
      nanos: 0
    scheduleEndDate:
      day: 31
      month: 12
      year: 9999
    scheduleStartDate:
      day: 28
      month: 1
      year: 2020
  status: ENABLED
  transferSpec:
    gcsDataSink:
      bucketRef:
        name: ${PROJECT_ID?}-storagetransferjob-dep1
    gcsDataSource:
      bucketRef:
        name: ${PROJECT_ID?}-storagetransferjob-dep2
    objectConditions:
      maxTimeElapsedSinceLastModification: 5s
      minTimeElapsedSinceLastModification: 2s
    transferOptions:
      deleteObjectsUniqueInSink: false
      overwriteObjectsAlreadyExistingInSink: true
---
apiVersion: iam.cnrm.cloud.google.com/v1beta1
kind: IAMPolicyMember
metadata:
  name: storagetransferjob-dep1
spec:
  # replace ${PROJECT_NUMBER?} with your project number
  member: serviceAccount:project-${PROJECT_NUMBER?}@storage-transfer-service.iam.gserviceaccount.com
  role: roles/storage.admin
  resourceRef:
    apiVersion: storage.cnrm.cloud.google.com/v1beta1
    kind: StorageBucket
    name: ${PROJECT_ID?}-storagetransferjob-dep1
---
apiVersion: iam.cnrm.cloud.google.com/v1beta1
kind: IAMPolicyMember
metadata:
  name: storagetransferjob-dep2
spec:
  # replace ${PROJECT_NUMBER?} with your project number
  member: serviceAccount:project-${PROJECT_NUMBER?}@storage-transfer-service.iam.gserviceaccount.com
  role: roles/storage.admin
  resourceRef:
    apiVersion: storage.cnrm.cloud.google.com/v1beta1
    kind: StorageBucket
    name: ${PROJECT_ID?}-storagetransferjob-dep2
---
apiVersion: storage.cnrm.cloud.google.com/v1beta1
kind: StorageBucket
metadata:
  # StorageBucket names must be globally unique. Replace ${PROJECT_ID?} with your project ID.
  name: ${PROJECT_ID?}-storagetransferjob-dep1
---
apiVersion: storage.cnrm.cloud.google.com/v1beta1
kind: StorageBucket
metadata:
  # StorageBucket names must be globally unique. Replace ${PROJECT_ID?} with your project ID.
  name: ${PROJECT_ID?}-storagetransferjob-dep2