v1beta1

package
v0.39.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 21, 2023 License: Apache-2.0 Imports: 9 Imported by: 1

Documentation

Overview

+kubebuilder:object:generate=true +groupName=dataflow.gcp.upbound.io +versionName=v1beta1

Index

Constants

View Source
const (
	CRDGroup   = "dataflow.gcp.upbound.io"
	CRDVersion = "v1beta1"
)

Package type metadata.

Variables

View Source
var (
	// CRDGroupVersion is the API Group Version used to register the objects
	CRDGroupVersion = schema.GroupVersion{Group: CRDGroup, Version: CRDVersion}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
	SchemeBuilder = &scheme.Builder{GroupVersion: CRDGroupVersion}

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)
View Source
var (
	Job_Kind             = "Job"
	Job_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: Job_Kind}.String()
	Job_KindAPIVersion   = Job_Kind + "." + CRDGroupVersion.String()
	Job_GroupVersionKind = CRDGroupVersion.WithKind(Job_Kind)
)

Repository type metadata.

Functions

This section is empty.

Types

type Job

type Job struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.name) || (has(self.initProvider) && has(self.initProvider.name))",message="spec.forProvider.name is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.tempGcsLocation) || (has(self.initProvider) && has(self.initProvider.tempGcsLocation))",message="spec.forProvider.tempGcsLocation is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.templateGcsPath) || (has(self.initProvider) && has(self.initProvider.templateGcsPath))",message="spec.forProvider.templateGcsPath is a required parameter"
	Spec   JobSpec   `json:"spec"`
	Status JobStatus `json:"status,omitempty"`
}

Job is the Schema for the Jobs API. Creates a job in Dataflow according to a provided config file. +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:subresource:status +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,gcp}

func (*Job) DeepCopy

func (in *Job) DeepCopy() *Job

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Job.

func (*Job) DeepCopyInto

func (in *Job) DeepCopyInto(out *Job)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Job) DeepCopyObject

func (in *Job) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*Job) GetCondition

func (mg *Job) GetCondition(ct xpv1.ConditionType) xpv1.Condition

GetCondition of this Job.

func (*Job) GetConnectionDetailsMapping

func (tr *Job) GetConnectionDetailsMapping() map[string]string

GetConnectionDetailsMapping for this Job

func (*Job) GetDeletionPolicy

func (mg *Job) GetDeletionPolicy() xpv1.DeletionPolicy

GetDeletionPolicy of this Job.

func (*Job) GetID

func (tr *Job) GetID() string

GetID returns ID of underlying Terraform resource of this Job

func (*Job) GetInitParameters added in v0.35.0

func (tr *Job) GetInitParameters() (map[string]any, error)

GetInitParameters of this Job

func (*Job) GetManagementPolicies added in v0.35.0

func (mg *Job) GetManagementPolicies() xpv1.ManagementPolicies

GetManagementPolicies of this Job.

func (*Job) GetObservation

func (tr *Job) GetObservation() (map[string]any, error)

GetObservation of this Job

func (*Job) GetParameters

func (tr *Job) GetParameters() (map[string]any, error)

GetParameters of this Job

func (*Job) GetProviderConfigReference

func (mg *Job) GetProviderConfigReference() *xpv1.Reference

GetProviderConfigReference of this Job.

func (*Job) GetPublishConnectionDetailsTo

func (mg *Job) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo

GetPublishConnectionDetailsTo of this Job.

func (*Job) GetTerraformResourceType

func (mg *Job) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this Job

func (*Job) GetTerraformSchemaVersion

func (tr *Job) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*Job) GetWriteConnectionSecretToReference

func (mg *Job) GetWriteConnectionSecretToReference() *xpv1.SecretReference

GetWriteConnectionSecretToReference of this Job.

func (*Job) LateInitialize

func (tr *Job) LateInitialize(attrs []byte) (bool, error)

LateInitialize this Job using its observed tfState. returns True if there are any spec changes for the resource.

func (*Job) SetConditions

func (mg *Job) SetConditions(c ...xpv1.Condition)

SetConditions of this Job.

func (*Job) SetDeletionPolicy

func (mg *Job) SetDeletionPolicy(r xpv1.DeletionPolicy)

SetDeletionPolicy of this Job.

func (*Job) SetManagementPolicies added in v0.35.0

func (mg *Job) SetManagementPolicies(r xpv1.ManagementPolicies)

SetManagementPolicies of this Job.

func (*Job) SetObservation

func (tr *Job) SetObservation(obs map[string]any) error

SetObservation for this Job

func (*Job) SetParameters

func (tr *Job) SetParameters(params map[string]any) error

SetParameters for this Job

func (*Job) SetProviderConfigReference

func (mg *Job) SetProviderConfigReference(r *xpv1.Reference)

SetProviderConfigReference of this Job.

func (*Job) SetPublishConnectionDetailsTo

func (mg *Job) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)

SetPublishConnectionDetailsTo of this Job.

func (*Job) SetWriteConnectionSecretToReference

func (mg *Job) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)

SetWriteConnectionSecretToReference of this Job.

type JobInitParameters added in v0.35.0

type JobInitParameters struct {

	// List of experiments that should be used by the job. An example value is ["enable_stackdriver_agent_metrics"].
	AdditionalExperiments []*string `json:"additionalExperiments,omitempty" tf:"additional_experiments,omitempty"`

	// Enable/disable the use of Streaming Engine for the job. Note that Streaming Engine is enabled by default for pipelines developed against the Beam SDK for Python v2.21.0 or later when using Python 3.
	EnableStreamingEngine *bool `json:"enableStreamingEngine,omitempty" tf:"enable_streaming_engine,omitempty"`

	// The configuration for VM IPs.  Options are "WORKER_IP_PUBLIC" or "WORKER_IP_PRIVATE".
	IPConfiguration *string `json:"ipConfiguration,omitempty" tf:"ip_configuration,omitempty"`

	// The name for the Cloud KMS key for the job. Key format is: projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY
	KMSKeyName *string `json:"kmsKeyName,omitempty" tf:"kms_key_name,omitempty"`

	// User labels to be specified for the job. Keys and values should follow the restrictions
	// specified in the labeling restrictions page.
	// NOTE: Google-provided Dataflow templates often provide default labels that begin with goog-dataflow-provided.
	// Unless explicitly set in config, these labels will be ignored to prevent diffs on re-apply.
	Labels map[string]string `json:"labels,omitempty" tf:"labels,omitempty"`

	// The machine type to use for the job.
	MachineType *string `json:"machineType,omitempty" tf:"machine_type,omitempty"`

	// The number of workers permitted to work on the job.  More workers may improve processing speed at additional cost.
	MaxWorkers *float64 `json:"maxWorkers,omitempty" tf:"max_workers,omitempty"`

	// A unique name for the resource, required by Dataflow.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// The network to which VMs will be assigned. If it is not provided, "default" will be used.
	Network *string `json:"network,omitempty" tf:"network,omitempty"`

	// One of "drain" or "cancel".  See above note.
	OnDelete *string `json:"onDelete,omitempty" tf:"on_delete,omitempty"`

	// Key/Value pairs to be passed to the Dataflow job (as used in the template).
	Parameters map[string]string `json:"parameters,omitempty" tf:"parameters,omitempty"`

	// The project in which the resource belongs. If it is not provided, the provider project is used.
	Project *string `json:"project,omitempty" tf:"project,omitempty"`

	// The region in which the created job should run.
	Region *string `json:"region,omitempty" tf:"region,omitempty"`

	// The Service Account email used to create the job.
	ServiceAccountEmail *string `json:"serviceAccountEmail,omitempty" tf:"service_account_email,omitempty"`

	// See above note.
	SkipWaitOnJobTermination *bool `json:"skipWaitOnJobTermination,omitempty" tf:"skip_wait_on_job_termination,omitempty"`

	// The subnetwork to which VMs will be assigned. Should be of the form "regions/REGION/subnetworks/SUBNETWORK". If the subnetwork is located in a Shared VPC network, you must use the complete URL. For example "googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET_NAME"
	Subnetwork *string `json:"subnetwork,omitempty" tf:"subnetwork,omitempty"`

	// A writeable location on GCS for the Dataflow job to dump its temporary data.
	TempGcsLocation *string `json:"tempGcsLocation,omitempty" tf:"temp_gcs_location,omitempty"`

	// The GCS path to the Dataflow job template.
	TemplateGcsPath *string `json:"templateGcsPath,omitempty" tf:"template_gcs_path,omitempty"`

	// Only applicable when updating a pipeline. Map of transform name prefixes of the job to be replaced with the corresponding name prefixes of the new job. This field is not used outside of update.
	TransformNameMapping map[string]string `json:"transformNameMapping,omitempty" tf:"transform_name_mapping,omitempty"`

	// The zone in which the created job should run. If it is not provided, the provider zone is used.
	Zone *string `json:"zone,omitempty" tf:"zone,omitempty"`
}

func (*JobInitParameters) DeepCopy added in v0.35.0

func (in *JobInitParameters) DeepCopy() *JobInitParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JobInitParameters.

func (*JobInitParameters) DeepCopyInto added in v0.35.0

func (in *JobInitParameters) DeepCopyInto(out *JobInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type JobList

type JobList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Job `json:"items"`
}

JobList contains a list of Jobs

func (*JobList) DeepCopy

func (in *JobList) DeepCopy() *JobList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JobList.

func (*JobList) DeepCopyInto

func (in *JobList) DeepCopyInto(out *JobList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*JobList) DeepCopyObject

func (in *JobList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*JobList) GetItems

func (l *JobList) GetItems() []resource.Managed

GetItems of this JobList.

type JobObservation

type JobObservation struct {

	// List of experiments that should be used by the job. An example value is ["enable_stackdriver_agent_metrics"].
	AdditionalExperiments []*string `json:"additionalExperiments,omitempty" tf:"additional_experiments,omitempty"`

	// Enable/disable the use of Streaming Engine for the job. Note that Streaming Engine is enabled by default for pipelines developed against the Beam SDK for Python v2.21.0 or later when using Python 3.
	EnableStreamingEngine *bool `json:"enableStreamingEngine,omitempty" tf:"enable_streaming_engine,omitempty"`

	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// The configuration for VM IPs.  Options are "WORKER_IP_PUBLIC" or "WORKER_IP_PRIVATE".
	IPConfiguration *string `json:"ipConfiguration,omitempty" tf:"ip_configuration,omitempty"`

	// The unique ID of this job.
	JobID *string `json:"jobId,omitempty" tf:"job_id,omitempty"`

	// The name for the Cloud KMS key for the job. Key format is: projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY
	KMSKeyName *string `json:"kmsKeyName,omitempty" tf:"kms_key_name,omitempty"`

	// User labels to be specified for the job. Keys and values should follow the restrictions
	// specified in the labeling restrictions page.
	// NOTE: Google-provided Dataflow templates often provide default labels that begin with goog-dataflow-provided.
	// Unless explicitly set in config, these labels will be ignored to prevent diffs on re-apply.
	Labels map[string]string `json:"labels,omitempty" tf:"labels,omitempty"`

	// The machine type to use for the job.
	MachineType *string `json:"machineType,omitempty" tf:"machine_type,omitempty"`

	// The number of workers permitted to work on the job.  More workers may improve processing speed at additional cost.
	MaxWorkers *float64 `json:"maxWorkers,omitempty" tf:"max_workers,omitempty"`

	// A unique name for the resource, required by Dataflow.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// The network to which VMs will be assigned. If it is not provided, "default" will be used.
	Network *string `json:"network,omitempty" tf:"network,omitempty"`

	// One of "drain" or "cancel".  See above note.
	OnDelete *string `json:"onDelete,omitempty" tf:"on_delete,omitempty"`

	// Key/Value pairs to be passed to the Dataflow job (as used in the template).
	Parameters map[string]string `json:"parameters,omitempty" tf:"parameters,omitempty"`

	// The project in which the resource belongs. If it is not provided, the provider project is used.
	Project *string `json:"project,omitempty" tf:"project,omitempty"`

	// The region in which the created job should run.
	Region *string `json:"region,omitempty" tf:"region,omitempty"`

	// The Service Account email used to create the job.
	ServiceAccountEmail *string `json:"serviceAccountEmail,omitempty" tf:"service_account_email,omitempty"`

	// See above note.
	SkipWaitOnJobTermination *bool `json:"skipWaitOnJobTermination,omitempty" tf:"skip_wait_on_job_termination,omitempty"`

	// The current state of the resource, selected from the JobState enum
	State *string `json:"state,omitempty" tf:"state,omitempty"`

	// The subnetwork to which VMs will be assigned. Should be of the form "regions/REGION/subnetworks/SUBNETWORK". If the subnetwork is located in a Shared VPC network, you must use the complete URL. For example "googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET_NAME"
	Subnetwork *string `json:"subnetwork,omitempty" tf:"subnetwork,omitempty"`

	// A writeable location on GCS for the Dataflow job to dump its temporary data.
	TempGcsLocation *string `json:"tempGcsLocation,omitempty" tf:"temp_gcs_location,omitempty"`

	// The GCS path to the Dataflow job template.
	TemplateGcsPath *string `json:"templateGcsPath,omitempty" tf:"template_gcs_path,omitempty"`

	// Only applicable when updating a pipeline. Map of transform name prefixes of the job to be replaced with the corresponding name prefixes of the new job. This field is not used outside of update.
	TransformNameMapping map[string]string `json:"transformNameMapping,omitempty" tf:"transform_name_mapping,omitempty"`

	// The type of this job, selected from the JobType enum
	Type *string `json:"type,omitempty" tf:"type,omitempty"`

	// The zone in which the created job should run. If it is not provided, the provider zone is used.
	Zone *string `json:"zone,omitempty" tf:"zone,omitempty"`
}

func (*JobObservation) DeepCopy

func (in *JobObservation) DeepCopy() *JobObservation

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JobObservation.

func (*JobObservation) DeepCopyInto

func (in *JobObservation) DeepCopyInto(out *JobObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type JobParameters

type JobParameters struct {

	// List of experiments that should be used by the job. An example value is ["enable_stackdriver_agent_metrics"].
	// +kubebuilder:validation:Optional
	AdditionalExperiments []*string `json:"additionalExperiments,omitempty" tf:"additional_experiments,omitempty"`

	// Enable/disable the use of Streaming Engine for the job. Note that Streaming Engine is enabled by default for pipelines developed against the Beam SDK for Python v2.21.0 or later when using Python 3.
	// +kubebuilder:validation:Optional
	EnableStreamingEngine *bool `json:"enableStreamingEngine,omitempty" tf:"enable_streaming_engine,omitempty"`

	// The configuration for VM IPs.  Options are "WORKER_IP_PUBLIC" or "WORKER_IP_PRIVATE".
	// +kubebuilder:validation:Optional
	IPConfiguration *string `json:"ipConfiguration,omitempty" tf:"ip_configuration,omitempty"`

	// The name for the Cloud KMS key for the job. Key format is: projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY
	// +kubebuilder:validation:Optional
	KMSKeyName *string `json:"kmsKeyName,omitempty" tf:"kms_key_name,omitempty"`

	// User labels to be specified for the job. Keys and values should follow the restrictions
	// specified in the labeling restrictions page.
	// NOTE: Google-provided Dataflow templates often provide default labels that begin with goog-dataflow-provided.
	// Unless explicitly set in config, these labels will be ignored to prevent diffs on re-apply.
	// +kubebuilder:validation:Optional
	Labels map[string]string `json:"labels,omitempty" tf:"labels,omitempty"`

	// The machine type to use for the job.
	// +kubebuilder:validation:Optional
	MachineType *string `json:"machineType,omitempty" tf:"machine_type,omitempty"`

	// The number of workers permitted to work on the job.  More workers may improve processing speed at additional cost.
	// +kubebuilder:validation:Optional
	MaxWorkers *float64 `json:"maxWorkers,omitempty" tf:"max_workers,omitempty"`

	// A unique name for the resource, required by Dataflow.
	// +kubebuilder:validation:Optional
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// The network to which VMs will be assigned. If it is not provided, "default" will be used.
	// +kubebuilder:validation:Optional
	Network *string `json:"network,omitempty" tf:"network,omitempty"`

	// One of "drain" or "cancel".  See above note.
	// +kubebuilder:validation:Optional
	OnDelete *string `json:"onDelete,omitempty" tf:"on_delete,omitempty"`

	// Key/Value pairs to be passed to the Dataflow job (as used in the template).
	// +kubebuilder:validation:Optional
	Parameters map[string]string `json:"parameters,omitempty" tf:"parameters,omitempty"`

	// The project in which the resource belongs. If it is not provided, the provider project is used.
	// +kubebuilder:validation:Optional
	Project *string `json:"project,omitempty" tf:"project,omitempty"`

	// The region in which the created job should run.
	// +kubebuilder:validation:Optional
	Region *string `json:"region,omitempty" tf:"region,omitempty"`

	// The Service Account email used to create the job.
	// +kubebuilder:validation:Optional
	ServiceAccountEmail *string `json:"serviceAccountEmail,omitempty" tf:"service_account_email,omitempty"`

	// See above note.
	// +kubebuilder:validation:Optional
	SkipWaitOnJobTermination *bool `json:"skipWaitOnJobTermination,omitempty" tf:"skip_wait_on_job_termination,omitempty"`

	// The subnetwork to which VMs will be assigned. Should be of the form "regions/REGION/subnetworks/SUBNETWORK". If the subnetwork is located in a Shared VPC network, you must use the complete URL. For example "googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET_NAME"
	// +kubebuilder:validation:Optional
	Subnetwork *string `json:"subnetwork,omitempty" tf:"subnetwork,omitempty"`

	// A writeable location on GCS for the Dataflow job to dump its temporary data.
	// +kubebuilder:validation:Optional
	TempGcsLocation *string `json:"tempGcsLocation,omitempty" tf:"temp_gcs_location,omitempty"`

	// The GCS path to the Dataflow job template.
	// +kubebuilder:validation:Optional
	TemplateGcsPath *string `json:"templateGcsPath,omitempty" tf:"template_gcs_path,omitempty"`

	// Only applicable when updating a pipeline. Map of transform name prefixes of the job to be replaced with the corresponding name prefixes of the new job. This field is not used outside of update.
	// +kubebuilder:validation:Optional
	TransformNameMapping map[string]string `json:"transformNameMapping,omitempty" tf:"transform_name_mapping,omitempty"`

	// The zone in which the created job should run. If it is not provided, the provider zone is used.
	// +kubebuilder:validation:Optional
	Zone *string `json:"zone,omitempty" tf:"zone,omitempty"`
}

func (*JobParameters) DeepCopy

func (in *JobParameters) DeepCopy() *JobParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JobParameters.

func (*JobParameters) DeepCopyInto

func (in *JobParameters) DeepCopyInto(out *JobParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type JobSpec

type JobSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     JobParameters `json:"forProvider"`
	// THIS IS A BETA FIELD. It will be honored
	// unless the Management Policies feature flag is disabled.
	// InitProvider holds the same fields as ForProvider, with the exception
	// of Identifier and other resource reference fields. The fields that are
	// in InitProvider are merged into ForProvider when the resource is created.
	// The same fields are also added to the terraform ignore_changes hook, to
	// avoid updating them after creation. This is useful for fields that are
	// required on creation, but we do not desire to update them after creation,
	// for example because of an external controller is managing them, like an
	// autoscaler.
	InitProvider JobInitParameters `json:"initProvider,omitempty"`
}

JobSpec defines the desired state of Job

func (*JobSpec) DeepCopy

func (in *JobSpec) DeepCopy() *JobSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JobSpec.

func (*JobSpec) DeepCopyInto

func (in *JobSpec) DeepCopyInto(out *JobSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type JobStatus

type JobStatus struct {
	v1.ResourceStatus `json:",inline"`
	AtProvider        JobObservation `json:"atProvider,omitempty"`
}

JobStatus defines the observed state of Job.

func (*JobStatus) DeepCopy

func (in *JobStatus) DeepCopy() *JobStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JobStatus.

func (*JobStatus) DeepCopyInto

func (in *JobStatus) DeepCopyInto(out *JobStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL