v1beta1

package
v1.127.0 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: 7 Imported by: 0

Documentation

Overview

+kubebuilder:object:generate=true +groupName=core.cnrm.cloud.google.com

Index

Constants

This section is empty.

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "core.cnrm.cloud.google.com", Version: "v1beta1"}

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

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme

	ConfigConnectorGroupVersionKind = schema.GroupVersionKind{
		Group:   GroupVersion.Group,
		Version: GroupVersion.Version,
		Kind:    "ConfigConnector",
	}

	ConfigConnectorContextGroupVersionKind = schema.GroupVersionKind{
		Group:   GroupVersion.Group,
		Version: GroupVersion.Version,
		Kind:    "ConfigConnectorContext",
	}
)

Functions

This section is empty.

Types

type ActuationMode added in v1.114.0

type ActuationMode string

ActuationMode enum defines the possible actuation values that ConfigConnect (CC) and ConfigConnectorContext (CCC) can specify.

const (
	Reconciling ActuationMode = "Reconciling"
	Paused      ActuationMode = "Paused"
)

func DefaultActuationMode added in v1.114.0

func DefaultActuationMode() ActuationMode

type ConfigConnector

type ConfigConnector struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   ConfigConnectorSpec   `json:"spec,omitempty"`
	Status ConfigConnectorStatus `json:"status,omitempty"`
}

ConfigConnector is the Schema for the configconnectors API

func (*ConfigConnector) CommonSpec

func (c *ConfigConnector) CommonSpec() addonv1alpha1.CommonSpec

func (*ConfigConnector) ComponentName

func (c *ConfigConnector) ComponentName() string

func (*ConfigConnector) DeepCopy

func (in *ConfigConnector) DeepCopy() *ConfigConnector

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

func (*ConfigConnector) DeepCopyInto

func (in *ConfigConnector) DeepCopyInto(out *ConfigConnector)

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

func (*ConfigConnector) DeepCopyObject

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

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

func (*ConfigConnector) GetCommonStatus

func (c *ConfigConnector) GetCommonStatus() addonv1alpha1.CommonStatus

func (*ConfigConnector) GetMode

func (c *ConfigConnector) GetMode() string

func (*ConfigConnector) SetCommonStatus

func (c *ConfigConnector) SetCommonStatus(s addonv1alpha1.CommonStatus)

type ConfigConnectorContext

type ConfigConnectorContext struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   ConfigConnectorContextSpec   `json:"spec"`
	Status ConfigConnectorContextStatus `json:"status,omitempty"`
}

ConfigConnectorContext is the Schema for the ConfigConnectorContexts API

func (*ConfigConnectorContext) CommonSpec added in v1.113.0

func (*ConfigConnectorContext) ComponentName added in v1.113.0

func (c *ConfigConnectorContext) ComponentName() string

func (*ConfigConnectorContext) DeepCopy

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

func (*ConfigConnectorContext) DeepCopyInto

func (in *ConfigConnectorContext) DeepCopyInto(out *ConfigConnectorContext)

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

func (*ConfigConnectorContext) DeepCopyObject

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

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

func (*ConfigConnectorContext) GetCommonStatus

func (c *ConfigConnectorContext) GetCommonStatus() addonv1alpha1.CommonStatus

func (*ConfigConnectorContext) GetRequestProjectPolicy

func (c *ConfigConnectorContext) GetRequestProjectPolicy() string

func (*ConfigConnectorContext) SetCommonStatus

func (c *ConfigConnectorContext) SetCommonStatus(s addonv1alpha1.CommonStatus)

type ConfigConnectorContextList

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

ConfigConnectorContextList contains a list of ConfigConnectorContext

func (*ConfigConnectorContextList) DeepCopy

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

func (*ConfigConnectorContextList) DeepCopyInto

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

func (*ConfigConnectorContextList) DeepCopyObject

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

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

type ConfigConnectorContextSpec

type ConfigConnectorContextSpec struct {
	// Version specifies the exact addon version to be deployed, eg 1.2.3
	// Only limited versions are supported; currently we are only supporting
	// the operator version and the previous minor version.
	Version string `json:"version,omitempty"`

	// The Google Service Account to be used by Config Connector to
	// authenticate with Google Cloud APIs in the associated namespace.
	GoogleServiceAccount string `json:"googleServiceAccount"`

	// Specifies which project to use for preconditions, quota, and billing for
	// requests made to Google Cloud APIs for resources in the associated
	// namespace. Must be one of 'SERVICE_ACCOUNT_PROJECT',
	// 'RESOURCE_PROJECT', or 'BILLING_PROJECT. Defaults to 'SERVICE_ACCOUNT_PROJECT'. If set to
	// 'SERVICE_ACCOUNT_PROJECT', uses the project that the Google Service
	// Account belongs to. If set to 'RESOURCE_PROJECT', uses the project that
	// the resource belongs to. If set to 'BILLING_PROJECT', uses the project specified by spec.billingProject.
	// +kubebuilder:validation:Enum=SERVICE_ACCOUNT_PROJECT;RESOURCE_PROJECT;BILLING_PROJECT
	RequestProjectPolicy string `json:"requestProjectPolicy,omitempty"`

	// Specifies the project to use for preconditions, quota and billing.
	// Should only be used when requestProjectPolicy is set to BILLING_PROJECT.
	BillingProject string `json:"billingProject,omitempty"`

	// StateIntoSpec is the user override of the default value for the
	// 'cnrm.cloud.google.com/state-into-spec' annotation if the annotation is
	// unset for a resource.
	// 'Absent' means that unspecified fields in the resource spec stay
	// unspecified after successful reconciliation.
	// 'Merge' means that unspecified fields in the resource spec are populated
	// after a successful reconciliation if those unspecified fields are
	// computed/defaulted by the API. It is only applicable to resources
	// supporting the 'Merge' option.
	//+kubebuilder:validation:Enum=Absent;Merge
	//+kubebuilder:validation:Optional
	StateIntoSpec *StateIntoSpecValue `json:"stateIntoSpec,omitempty"`

	// The actuation mode of Config Connector controls how resources are actuated onto the cloud provider.
	// This can be either 'Reconciling' or 'Paused'. The default is 'Reconciling' where resources get actuated.
	// In 'Paused', k8s resources are still reconciled with the api server but not actuated onto the cloud provider.
	//+kubebuilder:validation:Enum=Reconciling;Paused
	//+kubebuilder:validation:Optional
	Actuation ActuationMode `json:"actuationMode,omitempty"`
}

ConfigConnectorContextSpec defines the desired state of ConfigConnectorContext

func (*ConfigConnectorContextSpec) DeepCopy

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

func (*ConfigConnectorContextSpec) DeepCopyInto

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

type ConfigConnectorContextStatus

type ConfigConnectorContextStatus struct {
	addonv1alpha1.CommonStatus `json:",inline"`
}

ConfigConnectorContextStatus defines the observed state of ConfigConnectorContext

func (*ConfigConnectorContextStatus) DeepCopy

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

func (*ConfigConnectorContextStatus) DeepCopyInto

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

type ConfigConnectorList

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

ConfigConnectorList contains a list of ConfigConnector

func (*ConfigConnectorList) DeepCopy

func (in *ConfigConnectorList) DeepCopy() *ConfigConnectorList

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

func (*ConfigConnectorList) DeepCopyInto

func (in *ConfigConnectorList) DeepCopyInto(out *ConfigConnectorList)

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

func (*ConfigConnectorList) DeepCopyObject

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

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

type ConfigConnectorSpec

type ConfigConnectorSpec struct {
	addonv1alpha1.CommonSpec `json:"-"`
	// The Google Service Account to be used by Config Connector to authenticate with Google Cloud APIs. This field is used only when running in cluster mode with Workload Identity enabled.
	// See Google Kubernetes Engine (GKE) workload-identity (https://cloud.google.com/kubernetes-engine/docs/how-to/workload-identity) for details. This field cannot be specified together with `credentialSecretName`.
	// For namespaced mode, use `googleServiceAccount` in ConfigConnectorContext CRD to specify the Google Service Account to be used to authenticate with Google Cloud APIs per namespace.
	GoogleServiceAccount string `json:"googleServiceAccount,omitempty"`

	// The Kubernetes secret that contains the Google Service Account Key's credentials to be used by ConfigConnector to authenticate with Google Cloud APIs. This field is used only when in cluster mode.
	// It's recommended to use `googleServiceAccount` when running ConfigConnector in Google Kubernetes Engine (GKE) clusters with Workload Identity enabled.
	// This field cannot be specified together with `googleServiceAccount`.
	CredentialSecretName string `json:"credentialSecretName,omitempty"`

	// The mode that Config Connector will run in. This can be either 'cluster' or 'namespaced'. The default is 'namespaced'.
	// Cluster mode uses a single Google Service Account to create and manage resources, even if you are using Config Connector to manage multiple Projects.
	// You must specify either `credentialSecretName` or `googleServiceAccount` when in cluster mode, but not both.
	// Namespaced mode allows you to use different Google service accounts for different Projects.
	// When in namespaced mode, you must create a ConfigConnectorContext object per namespace that you want to enable Config Connector in, and each must set `googleServiceAccount` to specify the Google Service Account to be used to authenticate with Google Cloud APIs for the namespace.
	//+kubebuilder:validation:Enum=cluster;namespaced
	Mode string `json:"mode,omitempty"`

	// The actuation mode of Config Connector controls how resources are actuated onto the cloud provider.
	// This can be either 'Reconciling' or 'Paused'.
	// In 'Paused', k8s resources are still reconciled with the api server but not actuated onto the cloud provider.
	// If Config Connector is running in 'namespaced' mode, then the value in ConfigConnectorContext (CCC) takes precedence.
	// If CCC doesn't define a value but ConfigConnector (CC) does, we defer to that value. Otherwise,
	// the default is 'Reconciling' where resources get actuated.
	//+kubebuilder:validation:Enum=Reconciling;Paused
	//+kubebuilder:validation:Optional
	Actuation ActuationMode `json:"actuationMode,omitempty"`

	// StateIntoSpec is the user override of the default value for the
	// 'cnrm.cloud.google.com/state-into-spec' annotation if the annotation is
	// unset for a resource.
	// If the field is set in both the ConfigConnector object and the
	// ConfigConnectorContext object is in the namespaced mode, then the value
	// in the ConfigConnectorContext object will be used.
	// 'Absent' means that unspecified fields in the resource spec stay
	// unspecified after successful reconciliation.
	// 'Merge' means that unspecified fields in the resource spec are populated
	// after a successful reconciliation if those unspecified fields are
	// computed/defaulted by the API. It is only applicable to resources
	// supporting the 'Merge' option.
	//+kubebuilder:validation:Enum=Absent;Merge
	//+kubebuilder:validation:Optional
	StateIntoSpec *StateIntoSpecValue `json:"stateIntoSpec,omitempty"`
}

ConfigConnectorSpec defines the desired state of ConfigConnector

func (*ConfigConnectorSpec) DeepCopy

func (in *ConfigConnectorSpec) DeepCopy() *ConfigConnectorSpec

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

func (*ConfigConnectorSpec) DeepCopyInto

func (in *ConfigConnectorSpec) DeepCopyInto(out *ConfigConnectorSpec)

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

type ConfigConnectorStatus

type ConfigConnectorStatus struct {
	addonv1alpha1.CommonStatus `json:",inline"`
}

ConfigConnectorStatus defines the observed state of ConfigConnector

func (*ConfigConnectorStatus) DeepCopy

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

func (*ConfigConnectorStatus) DeepCopyInto

func (in *ConfigConnectorStatus) DeepCopyInto(out *ConfigConnectorStatus)

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

type StateIntoSpecValue added in v1.114.0

type StateIntoSpecValue string
const (
	StateIntoSpecMerge  StateIntoSpecValue = "Merge"
	StateIntoSpecAbsent StateIntoSpecValue = "Absent"
)

Jump to

Keyboard shortcuts

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