v1alpha1

package
v0.3.0 Latest Latest
Warning

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

Go to latest
Published: Aug 2, 2021 License: Apache-2.0 Imports: 14 Imported by: 0

Documentation

Overview

+groupName=composer.google.kubeform.com

Index

Constants

This section is empty.

Variables

View Source
var (
	// TODO: move SchemeBuilder with zz_generated.deepcopy.go to k8s.io/api.
	// localSchemeBuilder and AddToScheme will stay in k8s.io/kubernetes.
	SchemeBuilder runtime.SchemeBuilder

	AddToScheme = localSchemeBuilder.AddToScheme
)
View Source
var SchemeGroupVersion = schema.GroupVersion{Group: composer.GroupName, Version: "v1alpha1"}

Functions

func GetDecoder

func GetDecoder() map[string]jsoniter.ValDecoder

func GetEncoder

func GetEncoder() map[string]jsoniter.ValEncoder

func Kind

func Kind(kind string) schema.GroupKind

Kind takes an unqualified kind and returns a Group qualified GroupKind

func Resource

func Resource(resource string) schema.GroupResource

Resource takes an unqualified resource and returns a Group qualified GroupResource

Types

type Environment

type Environment struct {
	metav1.TypeMeta   `json:",inline,omitempty"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              EnvironmentSpec   `json:"spec,omitempty"`
	Status            EnvironmentStatus `json:"status,omitempty"`
}

func (*Environment) DeepCopy

func (in *Environment) DeepCopy() *Environment

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

func (*Environment) DeepCopyInto

func (in *Environment) DeepCopyInto(out *Environment)

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

func (*Environment) DeepCopyObject

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

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

func (*Environment) SetupWebhookWithManager

func (r *Environment) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*Environment) ValidateCreate

func (r *Environment) ValidateCreate() error

ValidateCreate implements webhook.Validator so a webhook will be registered for the type

func (*Environment) ValidateDelete

func (r *Environment) ValidateDelete() error

ValidateDelete implements webhook.Validator so a webhook will be registered for the type

func (*Environment) ValidateUpdate

func (r *Environment) ValidateUpdate(old runtime.Object) error

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type

type EnvironmentList

type EnvironmentList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	// Items is a list of Environment CRD objects
	Items []Environment `json:"items,omitempty"`
}

EnvironmentList is a list of Environments

func (*EnvironmentList) DeepCopy

func (in *EnvironmentList) DeepCopy() *EnvironmentList

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

func (*EnvironmentList) DeepCopyInto

func (in *EnvironmentList) DeepCopyInto(out *EnvironmentList)

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

func (*EnvironmentList) DeepCopyObject

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

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

type EnvironmentSpec

type EnvironmentSpec struct {
	State *EnvironmentSpecResource `json:"state,omitempty" tf:"-"`

	Resource EnvironmentSpecResource `json:"resource" tf:"resource"`

	UpdatePolicy base.UpdatePolicy `json:"updatePolicy,omitempty" tf:"-"`

	TerminationPolicy base.TerminationPolicy `json:"terminationPolicy,omitempty" tf:"-"`

	ProviderRef core.LocalObjectReference `json:"providerRef" tf:"-"`
}

func (*EnvironmentSpec) DeepCopy

func (in *EnvironmentSpec) DeepCopy() *EnvironmentSpec

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

func (*EnvironmentSpec) DeepCopyInto

func (in *EnvironmentSpec) DeepCopyInto(out *EnvironmentSpec)

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

type EnvironmentSpecConfig

type EnvironmentSpecConfig struct {
	// The URI of the Apache Airflow Web UI hosted within this environment.
	// +optional
	AirflowURI *string `json:"airflowURI,omitempty" tf:"airflow_uri"`
	// The Cloud Storage prefix of the DAGs for this environment. Although Cloud Storage objects reside in a flat namespace, a hierarchical file tree can be simulated using '/'-delimited object name prefixes. DAG objects for this environment reside in a simulated directory with this prefix.
	// +optional
	DagGcsPrefix *string `json:"dagGcsPrefix,omitempty" tf:"dag_gcs_prefix"`
	// The Kubernetes Engine cluster used to run this environment.
	// +optional
	GkeCluster *string `json:"gkeCluster,omitempty" tf:"gke_cluster"`
	// The configuration used for the Kubernetes Engine cluster.
	// +optional
	NodeConfig *EnvironmentSpecConfigNodeConfig `json:"nodeConfig,omitempty" tf:"node_config"`
	// The number of nodes in the Kubernetes Engine cluster that will be used to run this environment.
	// +optional
	NodeCount *int64 `json:"nodeCount,omitempty" tf:"node_count"`
	// The configuration used for the Private IP Cloud Composer environment.
	// +optional
	PrivateEnvironmentConfig *EnvironmentSpecConfigPrivateEnvironmentConfig `json:"privateEnvironmentConfig,omitempty" tf:"private_environment_config"`
	// The configuration settings for software inside the environment.
	// +optional
	SoftwareConfig *EnvironmentSpecConfigSoftwareConfig `json:"softwareConfig,omitempty" tf:"software_config"`
}

func (*EnvironmentSpecConfig) DeepCopy

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

func (*EnvironmentSpecConfig) DeepCopyInto

func (in *EnvironmentSpecConfig) DeepCopyInto(out *EnvironmentSpecConfig)

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

type EnvironmentSpecConfigCodec

type EnvironmentSpecConfigCodec struct {
}

+k8s:deepcopy-gen=false

func (EnvironmentSpecConfigCodec) Decode

func (EnvironmentSpecConfigCodec) Encode

func (EnvironmentSpecConfigCodec) IsEmpty

type EnvironmentSpecConfigNodeConfig

type EnvironmentSpecConfigNodeConfig struct {
	// The disk size in GB used for node VMs. Minimum size is 20GB. If unspecified, defaults to 100GB. Cannot be updated.
	// +optional
	DiskSizeGb *int64 `json:"diskSizeGb,omitempty" tf:"disk_size_gb"`
	// Configuration for controlling how IPs are allocated in the GKE cluster. Cannot be updated.
	// +optional
	IpAllocationPolicy *EnvironmentSpecConfigNodeConfigIpAllocationPolicy `json:"ipAllocationPolicy,omitempty" tf:"ip_allocation_policy"`
	// The Compute Engine machine type used for cluster instances, specified as a name or relative resource name. For example: "projects/{project}/zones/{zone}/machineTypes/{machineType}". Must belong to the enclosing environment's project and region/zone.
	// +optional
	MachineType *string `json:"machineType,omitempty" tf:"machine_type"`
	// The Compute Engine machine type used for cluster instances, specified as a name or relative resource name. For example: "projects/{project}/zones/{zone}/machineTypes/{machineType}". Must belong to the enclosing environment's project and region/zone. The network must belong to the environment's project. If unspecified, the "default" network ID in the environment's project is used. If a Custom Subnet Network is provided, subnetwork must also be provided.
	// +optional
	Network *string `json:"network,omitempty" tf:"network"`
	// The set of Google API scopes to be made available on all node VMs. Cannot be updated. If empty, defaults to ["https://www.googleapis.com/auth/cloud-platform"].
	// +optional
	OauthScopes []string `json:"oauthScopes,omitempty" tf:"oauth_scopes"`
	// The Google Cloud Platform Service Account to be used by the node VMs. If a service account is not specified, the "default" Compute Engine service account is used. Cannot be updated. If given, note that the service account must have roles/composer.worker for any GCP resources created under the Cloud Composer Environment.
	// +optional
	ServiceAccount *string `json:"serviceAccount,omitempty" tf:"service_account"`
	// The Compute Engine subnetwork to be used for machine communications, , specified as a self-link, relative resource name (e.g. "projects/{project}/regions/{region}/subnetworks/{subnetwork}"), or by name. If subnetwork is provided, network must also be provided and the subnetwork must belong to the enclosing environment's project and region.
	// +optional
	Subnetwork *string `json:"subnetwork,omitempty" tf:"subnetwork"`
	// The list of instance tags applied to all node VMs. Tags are used to identify valid sources or targets for network firewalls. Each tag within the list must comply with RFC1035. Cannot be updated.
	// +optional
	Tags []string `json:"tags,omitempty" tf:"tags"`
	// The Compute Engine zone in which to deploy the VMs running the Apache Airflow software, specified as the zone name or relative resource name (e.g. "projects/{project}/zones/{zone}"). Must belong to the enclosing environment's project and region.
	Zone *string `json:"zone" tf:"zone"`
}

func (*EnvironmentSpecConfigNodeConfig) DeepCopy

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

func (*EnvironmentSpecConfigNodeConfig) DeepCopyInto

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

type EnvironmentSpecConfigNodeConfigCodec

type EnvironmentSpecConfigNodeConfigCodec struct {
}

+k8s:deepcopy-gen=false

func (EnvironmentSpecConfigNodeConfigCodec) Decode

func (EnvironmentSpecConfigNodeConfigCodec) Encode

func (EnvironmentSpecConfigNodeConfigCodec) IsEmpty

type EnvironmentSpecConfigNodeConfigIpAllocationPolicy

type EnvironmentSpecConfigNodeConfigIpAllocationPolicy struct {
	// The IP address range used to allocate IP addresses to pods in the cluster. Set to blank to have GKE choose a range with the default size. Set to /netmask (e.g. /14) to have GKE choose a range with a specific netmask. Set to a CIDR notation (e.g. 10.96.0.0/14) from the RFC-1918 private networks (e.g. 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16) to pick a specific range to use. Specify either cluster_secondary_range_name or cluster_ipv4_cidr_block but not both.
	// +optional
	ClusterIpv4CIDRBlock *string `json:"clusterIpv4CIDRBlock,omitempty" tf:"cluster_ipv4_cidr_block"`
	// The name of the cluster's secondary range used to allocate IP addresses to pods. Specify either cluster_secondary_range_name or cluster_ipv4_cidr_block but not both. This field is applicable only when use_ip_aliases is true.
	// +optional
	ClusterSecondaryRangeName *string `json:"clusterSecondaryRangeName,omitempty" tf:"cluster_secondary_range_name"`
	// The IP address range used to allocate IP addresses in this cluster. Set to blank to have GKE choose a range with the default size. Set to /netmask (e.g. /14) to have GKE choose a range with a specific netmask. Set to a CIDR notation (e.g. 10.96.0.0/14) from the RFC-1918 private networks (e.g. 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16) to pick a specific range to use. Specify either services_secondary_range_name or services_ipv4_cidr_block but not both.
	// +optional
	ServicesIpv4CIDRBlock *string `json:"servicesIpv4CIDRBlock,omitempty" tf:"services_ipv4_cidr_block"`
	// The name of the services' secondary range used to allocate IP addresses to the cluster. Specify either services_secondary_range_name or services_ipv4_cidr_block but not both. This field is applicable only when use_ip_aliases is true.
	// +optional
	ServicesSecondaryRangeName *string `json:"servicesSecondaryRangeName,omitempty" tf:"services_secondary_range_name"`
	// Whether or not to enable Alias IPs in the GKE cluster. If true, a VPC-native cluster is created. Defaults to true if the ip_allocation_policy block is present in config.
	UseIPAliases *bool `json:"useIPAliases" tf:"use_ip_aliases"`
}

func (*EnvironmentSpecConfigNodeConfigIpAllocationPolicy) DeepCopy

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

func (*EnvironmentSpecConfigNodeConfigIpAllocationPolicy) DeepCopyInto

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

type EnvironmentSpecConfigNodeConfigIpAllocationPolicyCodec

type EnvironmentSpecConfigNodeConfigIpAllocationPolicyCodec struct {
}

+k8s:deepcopy-gen=false

func (EnvironmentSpecConfigNodeConfigIpAllocationPolicyCodec) Decode

func (EnvironmentSpecConfigNodeConfigIpAllocationPolicyCodec) Encode

func (EnvironmentSpecConfigNodeConfigIpAllocationPolicyCodec) IsEmpty

type EnvironmentSpecConfigPrivateEnvironmentConfig

type EnvironmentSpecConfigPrivateEnvironmentConfig struct {
	// The CIDR block from which IP range in tenant project will be reserved for Cloud SQL. Needs to be disjoint from web_server_ipv4_cidr_block.
	// +optional
	CloudSQLIpv4CIDRBlock *string `json:"cloudSQLIpv4CIDRBlock,omitempty" tf:"cloud_sql_ipv4_cidr_block"`
	// If true, access to the public endpoint of the GKE cluster is denied.
	// +optional
	EnablePrivateEndpoint *bool `json:"enablePrivateEndpoint,omitempty" tf:"enable_private_endpoint"`
	// The IP range in CIDR notation to use for the hosted master network. This range is used for assigning internal IP addresses to the cluster master or set of masters and to the internal load balancer virtual IP. This range must not overlap with any other ranges in use within the cluster's network. If left blank, the default value of '172.16.0.0/28' is used.
	// +optional
	MasterIpv4CIDRBlock *string `json:"masterIpv4CIDRBlock,omitempty" tf:"master_ipv4_cidr_block"`
	// The CIDR block from which IP range for web server will be reserved. Needs to be disjoint from master_ipv4_cidr_block and cloud_sql_ipv4_cidr_block.
	// +optional
	WebServerIpv4CIDRBlock *string `json:"webServerIpv4CIDRBlock,omitempty" tf:"web_server_ipv4_cidr_block"`
}

func (*EnvironmentSpecConfigPrivateEnvironmentConfig) DeepCopy

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

func (*EnvironmentSpecConfigPrivateEnvironmentConfig) DeepCopyInto

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

type EnvironmentSpecConfigPrivateEnvironmentConfigCodec

type EnvironmentSpecConfigPrivateEnvironmentConfigCodec struct {
}

+k8s:deepcopy-gen=false

func (EnvironmentSpecConfigPrivateEnvironmentConfigCodec) Decode

func (EnvironmentSpecConfigPrivateEnvironmentConfigCodec) Encode

func (EnvironmentSpecConfigPrivateEnvironmentConfigCodec) IsEmpty

type EnvironmentSpecConfigSoftwareConfig

type EnvironmentSpecConfigSoftwareConfig struct {
	// Apache Airflow configuration properties to override. Property keys contain the section and property names, separated by a hyphen, for example "core-dags_are_paused_at_creation". Section names must not contain hyphens ("-"), opening square brackets ("["), or closing square brackets ("]"). The property name must not be empty and cannot contain "=" or ";". Section and property names cannot contain characters: "." Apache Airflow configuration property names must be written in snake_case. Property values can contain any character, and can be written in any lower/upper case format. Certain Apache Airflow configuration property values are blacklisted, and cannot be overridden.
	// +optional
	AirflowConfigOverrides *map[string]string `json:"airflowConfigOverrides,omitempty" tf:"airflow_config_overrides"`
	// Additional environment variables to provide to the Apache Airflow scheduler, worker, and webserver processes. Environment variable names must match the regular expression [a-zA-Z_][a-zA-Z0-9_]*. They cannot specify Apache Airflow software configuration overrides (they cannot match the regular expression AIRFLOW__[A-Z0-9_]+__[A-Z0-9_]+), and they cannot match any of the following reserved names: AIRFLOW_HOME C_FORCE_ROOT CONTAINER_NAME DAGS_FOLDER GCP_PROJECT GCS_BUCKET GKE_CLUSTER_NAME SQL_DATABASE SQL_INSTANCE SQL_PASSWORD SQL_PROJECT SQL_REGION SQL_USER.
	// +optional
	EnvVariables *map[string]string `json:"envVariables,omitempty" tf:"env_variables"`
	// The version of the software running in the environment. This encapsulates both the version of Cloud Composer functionality and the version of Apache Airflow. It must match the regular expression composer-[0-9]+\\.[0-9]+(\\.[0-9]+)?-airflow-[0-9]+\\.[0-9]+(\\.[0-9]+.*)?. The Cloud Composer portion of the version is a semantic version. The portion of the image version following 'airflow-' is an official Apache Airflow repository release name. See documentation for allowed release names.
	// +optional
	ImageVersion *string `json:"imageVersion,omitempty" tf:"image_version"`
	// Custom Python Package Index (PyPI) packages to be installed in the environment. Keys refer to the lowercase package name (e.g. "numpy"). Values are the lowercase extras and version specifier (e.g. "==1.12.0", "[devel,gcp_api]", "[devel]>=1.8.2, <1.9.2"). To specify a package without pinning it to a version specifier, use the empty string as the value.
	// +optional
	PypiPackages *map[string]string `json:"pypiPackages,omitempty" tf:"pypi_packages"`
	// The major version of Python used to run the Apache Airflow scheduler, worker, and webserver processes. Can be set to '2' or '3'. If not specified, the default is '2'. Cannot be updated.
	// +optional
	PythonVersion *string `json:"pythonVersion,omitempty" tf:"python_version"`
}

func (*EnvironmentSpecConfigSoftwareConfig) DeepCopy

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

func (*EnvironmentSpecConfigSoftwareConfig) DeepCopyInto

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

type EnvironmentSpecConfigSoftwareConfigCodec

type EnvironmentSpecConfigSoftwareConfigCodec struct {
}

+k8s:deepcopy-gen=false

func (EnvironmentSpecConfigSoftwareConfigCodec) Decode

func (EnvironmentSpecConfigSoftwareConfigCodec) Encode

func (EnvironmentSpecConfigSoftwareConfigCodec) IsEmpty

type EnvironmentSpecResource

type EnvironmentSpecResource struct {
	Timeouts *base.ResourceTimeout `json:"timeouts,omitempty" tf:"timeouts"`

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

	// Configuration parameters for this environment.
	// +optional
	Config *EnvironmentSpecConfig `json:"config,omitempty" tf:"config"`
	// User-defined labels for this environment. The labels map can contain no more than 64 entries. Entries of the labels map are UTF8 strings that comply with the following restrictions: Label keys must be between 1 and 63 characters long and must conform to the following regular expression: [a-z]([-a-z0-9]*[a-z0-9])?. Label values must be between 0 and 63 characters long and must conform to the regular expression ([a-z]([-a-z0-9]*[a-z0-9])?)?. No more than 64 labels can be associated with a given environment. Both keys and values must be <= 128 bytes in size.
	// +optional
	Labels *map[string]string `json:"labels,omitempty" tf:"labels"`
	// Name of the environment.
	Name *string `json:"name" tf:"name"`
	// The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
	// +optional
	Project *string `json:"project,omitempty" tf:"project"`
	// The location or Compute Engine region for the environment.
	// +optional
	Region *string `json:"region,omitempty" tf:"region"`
}

func (*EnvironmentSpecResource) DeepCopy

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

func (*EnvironmentSpecResource) DeepCopyInto

func (in *EnvironmentSpecResource) DeepCopyInto(out *EnvironmentSpecResource)

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

type EnvironmentStatus

type EnvironmentStatus struct {
	// Resource generation, which is updated on mutation by the API Server.
	// +optional
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`
	// +optional
	Phase status.Status `json:"phase,omitempty"`
	// +optional
	Conditions []kmapi.Condition `json:"conditions,omitempty"`
}

func (*EnvironmentStatus) DeepCopy

func (in *EnvironmentStatus) DeepCopy() *EnvironmentStatus

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

func (*EnvironmentStatus) DeepCopyInto

func (in *EnvironmentStatus) DeepCopyInto(out *EnvironmentStatus)

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