v1beta1

package
v1.11.2 Latest Latest
Warning

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

Go to latest
Published: Dec 19, 2024 License: Apache-2.0 Imports: 14 Imported by: 1

Documentation

Overview

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

Index

Constants

View Source
const (
	CRDGroup   = "workflows.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 (
	Workflow_Kind             = "Workflow"
	Workflow_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: Workflow_Kind}.String()
	Workflow_KindAPIVersion   = Workflow_Kind + "." + CRDGroupVersion.String()
	Workflow_GroupVersionKind = CRDGroupVersion.WithKind(Workflow_Kind)
)

Repository type metadata.

Functions

This section is empty.

Types

type Workflow

type Workflow struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              WorkflowSpec   `json:"spec"`
	Status            WorkflowStatus `json:"status,omitempty"`
}

Workflow is the Schema for the Workflows API. Workflow program to be executed by Workflows. +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].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:resource:scope=Cluster,categories={crossplane,managed,gcp}

func (*Workflow) DeepCopy

func (in *Workflow) DeepCopy() *Workflow

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

func (*Workflow) DeepCopyInto

func (in *Workflow) DeepCopyInto(out *Workflow)

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

func (*Workflow) DeepCopyObject

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

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

func (*Workflow) GetCondition

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

GetCondition of this Workflow.

func (*Workflow) GetConnectionDetailsMapping

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

GetConnectionDetailsMapping for this Workflow

func (*Workflow) GetDeletionPolicy

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

GetDeletionPolicy of this Workflow.

func (*Workflow) GetID

func (tr *Workflow) GetID() string

GetID returns ID of underlying Terraform resource of this Workflow

func (*Workflow) GetInitParameters added in v0.35.0

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

GetInitParameters of this Workflow

func (*Workflow) GetManagementPolicies added in v0.35.0

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

GetManagementPolicies of this Workflow.

func (*Workflow) GetMergedParameters added in v0.40.0

func (tr *Workflow) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error)

GetInitParameters of this Workflow

func (*Workflow) GetObservation

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

GetObservation of this Workflow

func (*Workflow) GetParameters

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

GetParameters of this Workflow

func (*Workflow) GetProviderConfigReference

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

GetProviderConfigReference of this Workflow.

func (*Workflow) GetPublishConnectionDetailsTo

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

GetPublishConnectionDetailsTo of this Workflow.

func (*Workflow) GetTerraformResourceType

func (mg *Workflow) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this Workflow

func (*Workflow) GetTerraformSchemaVersion

func (tr *Workflow) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*Workflow) GetWriteConnectionSecretToReference

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

GetWriteConnectionSecretToReference of this Workflow.

func (*Workflow) Hub added in v0.41.2

func (tr *Workflow) Hub()

Hub marks this type as a conversion hub.

func (*Workflow) LateInitialize

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

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

func (*Workflow) ResolveReferences

func (mg *Workflow) ResolveReferences(ctx context.Context, c client.Reader) error

func (*Workflow) SetConditions

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

SetConditions of this Workflow.

func (*Workflow) SetDeletionPolicy

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

SetDeletionPolicy of this Workflow.

func (*Workflow) SetManagementPolicies added in v0.35.0

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

SetManagementPolicies of this Workflow.

func (*Workflow) SetObservation

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

SetObservation for this Workflow

func (*Workflow) SetParameters

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

SetParameters for this Workflow

func (*Workflow) SetProviderConfigReference

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

SetProviderConfigReference of this Workflow.

func (*Workflow) SetPublishConnectionDetailsTo

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

SetPublishConnectionDetailsTo of this Workflow.

func (*Workflow) SetWriteConnectionSecretToReference

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

SetWriteConnectionSecretToReference of this Workflow.

type WorkflowInitParameters added in v0.35.0

type WorkflowInitParameters struct {

	// Describes the level of platform logging to apply to calls and call responses during
	// executions of this workflow. If both the workflow and the execution specify a logging level,
	// the execution level takes precedence.
	// Possible values are: CALL_LOG_LEVEL_UNSPECIFIED, LOG_ALL_CALLS, LOG_ERRORS_ONLY, LOG_NONE.
	CallLogLevel *string `json:"callLogLevel,omitempty" tf:"call_log_level,omitempty"`

	// The KMS key used to encrypt workflow and execution data.
	// Format: projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{cryptoKey}
	CryptoKeyName *string `json:"cryptoKeyName,omitempty" tf:"crypto_key_name,omitempty"`

	// Description of the workflow provided by the user. Must be at most 1000 unicode characters long.
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// A set of key/value label pairs to assign to this Workflow.
	// +mapType=granular
	Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"`

	// Name of the Workflow.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// Creates a unique name beginning with the
	// specified prefix. If this and name are unspecified, a random value is chosen for the name.
	NamePrefix *string `json:"namePrefix,omitempty" tf:"name_prefix,omitempty"`

	// The ID of 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 of the workflow.
	Region *string `json:"region,omitempty" tf:"region,omitempty"`

	// Name of the service account associated with the latest workflow version. This service
	// account represents the identity of the workflow and determines what permissions the workflow has.
	// Format: projects/{project}/serviceAccounts/{account} or {account}.
	// Using - as a wildcard for the {project} or not providing one at all will infer the project from the account.
	// The {account} value can be the email address or the unique_id of the service account.
	// If not provided, workflow will use the project's default service account.
	// Modifying this field for an existing workflow results in a new workflow revision.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/cloudplatform/v1beta1.ServiceAccount
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
	ServiceAccount *string `json:"serviceAccount,omitempty" tf:"service_account,omitempty"`

	// Reference to a ServiceAccount in cloudplatform to populate serviceAccount.
	// +kubebuilder:validation:Optional
	ServiceAccountRef *v1.Reference `json:"serviceAccountRef,omitempty" tf:"-"`

	// Selector for a ServiceAccount in cloudplatform to populate serviceAccount.
	// +kubebuilder:validation:Optional
	ServiceAccountSelector *v1.Selector `json:"serviceAccountSelector,omitempty" tf:"-"`

	// Workflow code to be executed. The size limit is 128KB.
	SourceContents *string `json:"sourceContents,omitempty" tf:"source_contents,omitempty"`

	// User-defined environment variables associated with this workflow revision. This map has a maximum length of 20. Each string can take up to 4KiB. Keys cannot be empty strings and cannot start with “GOOGLE” or “WORKFLOWS".
	// +mapType=granular
	UserEnvVars map[string]*string `json:"userEnvVars,omitempty" tf:"user_env_vars,omitempty"`
}

func (*WorkflowInitParameters) DeepCopy added in v0.35.0

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

func (*WorkflowInitParameters) DeepCopyInto added in v0.35.0

func (in *WorkflowInitParameters) DeepCopyInto(out *WorkflowInitParameters)

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

type WorkflowList

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

WorkflowList contains a list of Workflows

func (*WorkflowList) DeepCopy

func (in *WorkflowList) DeepCopy() *WorkflowList

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

func (*WorkflowList) DeepCopyInto

func (in *WorkflowList) DeepCopyInto(out *WorkflowList)

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

func (*WorkflowList) DeepCopyObject

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

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

func (*WorkflowList) GetItems

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

GetItems of this WorkflowList.

type WorkflowObservation

type WorkflowObservation struct {

	// Describes the level of platform logging to apply to calls and call responses during
	// executions of this workflow. If both the workflow and the execution specify a logging level,
	// the execution level takes precedence.
	// Possible values are: CALL_LOG_LEVEL_UNSPECIFIED, LOG_ALL_CALLS, LOG_ERRORS_ONLY, LOG_NONE.
	CallLogLevel *string `json:"callLogLevel,omitempty" tf:"call_log_level,omitempty"`

	// The timestamp of when the workflow was created in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.
	CreateTime *string `json:"createTime,omitempty" tf:"create_time,omitempty"`

	// The KMS key used to encrypt workflow and execution data.
	// Format: projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{cryptoKey}
	CryptoKeyName *string `json:"cryptoKeyName,omitempty" tf:"crypto_key_name,omitempty"`

	// Description of the workflow provided by the user. Must be at most 1000 unicode characters long.
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// for all of the labels present on the resource.
	// +mapType=granular
	EffectiveLabels map[string]*string `json:"effectiveLabels,omitempty" tf:"effective_labels,omitempty"`

	// an identifier for the resource with format projects/{{project}}/locations/{{region}}/workflows/{{name}}
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// A set of key/value label pairs to assign to this Workflow.
	// +mapType=granular
	Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"`

	// Name of the Workflow.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// Creates a unique name beginning with the
	// specified prefix. If this and name are unspecified, a random value is chosen for the name.
	NamePrefix *string `json:"namePrefix,omitempty" tf:"name_prefix,omitempty"`

	// The ID of 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 of the workflow.
	Region *string `json:"region,omitempty" tf:"region,omitempty"`

	// The revision of the workflow. A new one is generated if the service account or source contents is changed.
	RevisionID *string `json:"revisionId,omitempty" tf:"revision_id,omitempty"`

	// Name of the service account associated with the latest workflow version. This service
	// account represents the identity of the workflow and determines what permissions the workflow has.
	// Format: projects/{project}/serviceAccounts/{account} or {account}.
	// Using - as a wildcard for the {project} or not providing one at all will infer the project from the account.
	// The {account} value can be the email address or the unique_id of the service account.
	// If not provided, workflow will use the project's default service account.
	// Modifying this field for an existing workflow results in a new workflow revision.
	ServiceAccount *string `json:"serviceAccount,omitempty" tf:"service_account,omitempty"`

	// Workflow code to be executed. The size limit is 128KB.
	SourceContents *string `json:"sourceContents,omitempty" tf:"source_contents,omitempty"`

	// State of the workflow deployment.
	State *string `json:"state,omitempty" tf:"state,omitempty"`

	// The combination of labels configured directly on the resource
	// and default labels configured on the provider.
	// +mapType=granular
	TerraformLabels map[string]*string `json:"terraformLabels,omitempty" tf:"terraform_labels,omitempty"`

	// The timestamp of when the workflow was last updated in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.
	UpdateTime *string `json:"updateTime,omitempty" tf:"update_time,omitempty"`

	// User-defined environment variables associated with this workflow revision. This map has a maximum length of 20. Each string can take up to 4KiB. Keys cannot be empty strings and cannot start with “GOOGLE” or “WORKFLOWS".
	// +mapType=granular
	UserEnvVars map[string]*string `json:"userEnvVars,omitempty" tf:"user_env_vars,omitempty"`
}

func (*WorkflowObservation) DeepCopy

func (in *WorkflowObservation) DeepCopy() *WorkflowObservation

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

func (*WorkflowObservation) DeepCopyInto

func (in *WorkflowObservation) DeepCopyInto(out *WorkflowObservation)

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

type WorkflowParameters

type WorkflowParameters struct {

	// Describes the level of platform logging to apply to calls and call responses during
	// executions of this workflow. If both the workflow and the execution specify a logging level,
	// the execution level takes precedence.
	// Possible values are: CALL_LOG_LEVEL_UNSPECIFIED, LOG_ALL_CALLS, LOG_ERRORS_ONLY, LOG_NONE.
	// +kubebuilder:validation:Optional
	CallLogLevel *string `json:"callLogLevel,omitempty" tf:"call_log_level,omitempty"`

	// The KMS key used to encrypt workflow and execution data.
	// Format: projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{cryptoKey}
	// +kubebuilder:validation:Optional
	CryptoKeyName *string `json:"cryptoKeyName,omitempty" tf:"crypto_key_name,omitempty"`

	// Description of the workflow provided by the user. Must be at most 1000 unicode characters long.
	// +kubebuilder:validation:Optional
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// A set of key/value label pairs to assign to this Workflow.
	// +kubebuilder:validation:Optional
	// +mapType=granular
	Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"`

	// Name of the Workflow.
	// +kubebuilder:validation:Optional
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// Creates a unique name beginning with the
	// specified prefix. If this and name are unspecified, a random value is chosen for the name.
	// +kubebuilder:validation:Optional
	NamePrefix *string `json:"namePrefix,omitempty" tf:"name_prefix,omitempty"`

	// The ID of 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 of the workflow.
	// +kubebuilder:validation:Optional
	Region *string `json:"region,omitempty" tf:"region,omitempty"`

	// Name of the service account associated with the latest workflow version. This service
	// account represents the identity of the workflow and determines what permissions the workflow has.
	// Format: projects/{project}/serviceAccounts/{account} or {account}.
	// Using - as a wildcard for the {project} or not providing one at all will infer the project from the account.
	// The {account} value can be the email address or the unique_id of the service account.
	// If not provided, workflow will use the project's default service account.
	// Modifying this field for an existing workflow results in a new workflow revision.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/cloudplatform/v1beta1.ServiceAccount
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
	// +kubebuilder:validation:Optional
	ServiceAccount *string `json:"serviceAccount,omitempty" tf:"service_account,omitempty"`

	// Reference to a ServiceAccount in cloudplatform to populate serviceAccount.
	// +kubebuilder:validation:Optional
	ServiceAccountRef *v1.Reference `json:"serviceAccountRef,omitempty" tf:"-"`

	// Selector for a ServiceAccount in cloudplatform to populate serviceAccount.
	// +kubebuilder:validation:Optional
	ServiceAccountSelector *v1.Selector `json:"serviceAccountSelector,omitempty" tf:"-"`

	// Workflow code to be executed. The size limit is 128KB.
	// +kubebuilder:validation:Optional
	SourceContents *string `json:"sourceContents,omitempty" tf:"source_contents,omitempty"`

	// User-defined environment variables associated with this workflow revision. This map has a maximum length of 20. Each string can take up to 4KiB. Keys cannot be empty strings and cannot start with “GOOGLE” or “WORKFLOWS".
	// +kubebuilder:validation:Optional
	// +mapType=granular
	UserEnvVars map[string]*string `json:"userEnvVars,omitempty" tf:"user_env_vars,omitempty"`
}

func (*WorkflowParameters) DeepCopy

func (in *WorkflowParameters) DeepCopy() *WorkflowParameters

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

func (*WorkflowParameters) DeepCopyInto

func (in *WorkflowParameters) DeepCopyInto(out *WorkflowParameters)

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

type WorkflowSpec

type WorkflowSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     WorkflowParameters `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 WorkflowInitParameters `json:"initProvider,omitempty"`
}

WorkflowSpec defines the desired state of Workflow

func (*WorkflowSpec) DeepCopy

func (in *WorkflowSpec) DeepCopy() *WorkflowSpec

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

func (*WorkflowSpec) DeepCopyInto

func (in *WorkflowSpec) DeepCopyInto(out *WorkflowSpec)

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

type WorkflowStatus

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

WorkflowStatus defines the observed state of Workflow.

func (*WorkflowStatus) DeepCopy

func (in *WorkflowStatus) DeepCopy() *WorkflowStatus

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

func (*WorkflowStatus) DeepCopyInto

func (in *WorkflowStatus) DeepCopyInto(out *WorkflowStatus)

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