v1alpha1

package
v1.4.0 Latest Latest
Warning

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

Go to latest
Published: Oct 18, 2024 License: Apache-2.0 Imports: 17 Imported by: 0

Documentation

Overview

+kubebuilder:object:generate=true +groupName=dataproc.yandex-cloud.upjet.crossplane.io +versionName=v1alpha1

Index

Constants

View Source
const (
	CRDGroup   = "dataproc.yandex-cloud.upjet.crossplane.io"
	CRDVersion = "v1alpha1"
)

Package type metadata.

Variables

View Source
var (
	Cluster_Kind             = "Cluster"
	Cluster_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: Cluster_Kind}.String()
	Cluster_KindAPIVersion   = Cluster_Kind + "." + CRDGroupVersion.String()
	Cluster_GroupVersionKind = CRDGroupVersion.WithKind(Cluster_Kind)
)

Repository type metadata.

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
)

Functions

This section is empty.

Types

type AutoscalingConfigInitParameters

type AutoscalingConfigInitParameters struct {

	// Defines an autoscaling rule based on the average CPU utilization of the instance group. If not set default autoscaling metric will be used.
	CPUUtilizationTarget *string `json:"cpuUtilizationTarget,omitempty" tf:"cpu_utilization_target,omitempty"`

	// Timeout to gracefully decommission nodes during downscaling. In seconds.
	DecommissionTimeout *string `json:"decommissionTimeout,omitempty" tf:"decommission_timeout,omitempty"`

	// Maximum number of nodes in autoscaling subclusters.
	MaxHostsCount *float64 `json:"maxHostsCount,omitempty" tf:"max_hosts_count,omitempty"`

	// Time in seconds allotted for averaging metrics.
	MeasurementDuration *string `json:"measurementDuration,omitempty" tf:"measurement_duration,omitempty"`

	// Bool flag -- whether to use preemptible compute instances. Preemptible instances are stopped at least once every 24 hours, and can be stopped at any time if their resources are needed by Compute. For more information, see Preemptible Virtual Machines.
	Preemptible *bool `json:"preemptible,omitempty" tf:"preemptible,omitempty"`

	// Minimum amount of time in seconds allotted for monitoring before Instance Groups can reduce the number of instances in the group. During this time, the group size doesn't decrease, even if the new metric values indicate that it should.
	StabilizationDuration *string `json:"stabilizationDuration,omitempty" tf:"stabilization_duration,omitempty"`

	// The warmup time of the instance in seconds. During this time, traffic is sent to the instance, but instance metrics are not collected.
	WarmupDuration *string `json:"warmupDuration,omitempty" tf:"warmup_duration,omitempty"`
}

func (*AutoscalingConfigInitParameters) DeepCopy

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

func (*AutoscalingConfigInitParameters) DeepCopyInto

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

type AutoscalingConfigObservation

type AutoscalingConfigObservation struct {

	// Defines an autoscaling rule based on the average CPU utilization of the instance group. If not set default autoscaling metric will be used.
	CPUUtilizationTarget *string `json:"cpuUtilizationTarget,omitempty" tf:"cpu_utilization_target,omitempty"`

	// Timeout to gracefully decommission nodes during downscaling. In seconds.
	DecommissionTimeout *string `json:"decommissionTimeout,omitempty" tf:"decommission_timeout,omitempty"`

	// Maximum number of nodes in autoscaling subclusters.
	MaxHostsCount *float64 `json:"maxHostsCount,omitempty" tf:"max_hosts_count,omitempty"`

	// Time in seconds allotted for averaging metrics.
	MeasurementDuration *string `json:"measurementDuration,omitempty" tf:"measurement_duration,omitempty"`

	// Bool flag -- whether to use preemptible compute instances. Preemptible instances are stopped at least once every 24 hours, and can be stopped at any time if their resources are needed by Compute. For more information, see Preemptible Virtual Machines.
	Preemptible *bool `json:"preemptible,omitempty" tf:"preemptible,omitempty"`

	// Minimum amount of time in seconds allotted for monitoring before Instance Groups can reduce the number of instances in the group. During this time, the group size doesn't decrease, even if the new metric values indicate that it should.
	StabilizationDuration *string `json:"stabilizationDuration,omitempty" tf:"stabilization_duration,omitempty"`

	// The warmup time of the instance in seconds. During this time, traffic is sent to the instance, but instance metrics are not collected.
	WarmupDuration *string `json:"warmupDuration,omitempty" tf:"warmup_duration,omitempty"`
}

func (*AutoscalingConfigObservation) DeepCopy

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

func (*AutoscalingConfigObservation) DeepCopyInto

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

type AutoscalingConfigParameters

type AutoscalingConfigParameters struct {

	// Defines an autoscaling rule based on the average CPU utilization of the instance group. If not set default autoscaling metric will be used.
	// +kubebuilder:validation:Optional
	CPUUtilizationTarget *string `json:"cpuUtilizationTarget,omitempty" tf:"cpu_utilization_target,omitempty"`

	// Timeout to gracefully decommission nodes during downscaling. In seconds.
	// +kubebuilder:validation:Optional
	DecommissionTimeout *string `json:"decommissionTimeout,omitempty" tf:"decommission_timeout,omitempty"`

	// Maximum number of nodes in autoscaling subclusters.
	// +kubebuilder:validation:Optional
	MaxHostsCount *float64 `json:"maxHostsCount" tf:"max_hosts_count,omitempty"`

	// Time in seconds allotted for averaging metrics.
	// +kubebuilder:validation:Optional
	MeasurementDuration *string `json:"measurementDuration,omitempty" tf:"measurement_duration,omitempty"`

	// Bool flag -- whether to use preemptible compute instances. Preemptible instances are stopped at least once every 24 hours, and can be stopped at any time if their resources are needed by Compute. For more information, see Preemptible Virtual Machines.
	// +kubebuilder:validation:Optional
	Preemptible *bool `json:"preemptible,omitempty" tf:"preemptible,omitempty"`

	// Minimum amount of time in seconds allotted for monitoring before Instance Groups can reduce the number of instances in the group. During this time, the group size doesn't decrease, even if the new metric values indicate that it should.
	// +kubebuilder:validation:Optional
	StabilizationDuration *string `json:"stabilizationDuration,omitempty" tf:"stabilization_duration,omitempty"`

	// The warmup time of the instance in seconds. During this time, traffic is sent to the instance, but instance metrics are not collected.
	// +kubebuilder:validation:Optional
	WarmupDuration *string `json:"warmupDuration,omitempty" tf:"warmup_duration,omitempty"`
}

func (*AutoscalingConfigParameters) DeepCopy

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

func (*AutoscalingConfigParameters) DeepCopyInto

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

type Cluster

type Cluster 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.clusterConfig) || (has(self.initProvider) && has(self.initProvider.clusterConfig))",message="spec.forProvider.clusterConfig is a required parameter"
	// +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"
	Spec   ClusterSpec   `json:"spec"`
	Status ClusterStatus `json:"status,omitempty"`
}

Cluster is the Schema for the Clusters API. Manages a Data Proc cluster within Yandex.Cloud. +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,yandex-cloud}

func (*Cluster) DeepCopy

func (in *Cluster) DeepCopy() *Cluster

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

func (*Cluster) DeepCopyInto

func (in *Cluster) DeepCopyInto(out *Cluster)

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

func (*Cluster) DeepCopyObject

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

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

func (*Cluster) GetCondition

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

GetCondition of this Cluster.

func (*Cluster) GetConnectionDetailsMapping

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

GetConnectionDetailsMapping for this Cluster

func (*Cluster) GetDeletionPolicy

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

GetDeletionPolicy of this Cluster.

func (*Cluster) GetID

func (tr *Cluster) GetID() string

GetID returns ID of underlying Terraform resource of this Cluster

func (*Cluster) GetInitParameters

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

GetInitParameters of this Cluster

func (*Cluster) GetManagementPolicies

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

GetManagementPolicies of this Cluster.

func (*Cluster) GetMergedParameters

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

GetInitParameters of this Cluster

func (*Cluster) GetObservation

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

GetObservation of this Cluster

func (*Cluster) GetParameters

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

GetParameters of this Cluster

func (*Cluster) GetProviderConfigReference

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

GetProviderConfigReference of this Cluster.

func (*Cluster) GetPublishConnectionDetailsTo

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

GetPublishConnectionDetailsTo of this Cluster.

func (*Cluster) GetTerraformResourceType

func (mg *Cluster) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this Cluster

func (*Cluster) GetTerraformSchemaVersion

func (tr *Cluster) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*Cluster) GetWriteConnectionSecretToReference

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

GetWriteConnectionSecretToReference of this Cluster.

func (*Cluster) Hub

func (tr *Cluster) Hub()

Hub marks this type as a conversion hub.

func (*Cluster) LateInitialize

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

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

func (*Cluster) ResolveReferences

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

ResolveReferences of this Cluster.

func (*Cluster) SetConditions

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

SetConditions of this Cluster.

func (*Cluster) SetDeletionPolicy

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

SetDeletionPolicy of this Cluster.

func (*Cluster) SetManagementPolicies

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

SetManagementPolicies of this Cluster.

func (*Cluster) SetObservation

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

SetObservation for this Cluster

func (*Cluster) SetParameters

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

SetParameters for this Cluster

func (*Cluster) SetProviderConfigReference

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

SetProviderConfigReference of this Cluster.

func (*Cluster) SetPublishConnectionDetailsTo

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

SetPublishConnectionDetailsTo of this Cluster.

func (*Cluster) SetWriteConnectionSecretToReference

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

SetWriteConnectionSecretToReference of this Cluster.

type ClusterConfigInitParameters

type ClusterConfigInitParameters struct {

	// Data Proc specific options. The structure is documented below.
	Hadoop []HadoopInitParameters `json:"hadoop,omitempty" tf:"hadoop,omitempty"`

	// Configuration of the Data Proc subcluster. The structure is documented below.
	SubclusterSpec []SubclusterSpecInitParameters `json:"subclusterSpec,omitempty" tf:"subcluster_spec,omitempty"`

	// Version of Data Proc image.
	VersionID *string `json:"versionId,omitempty" tf:"version_id,omitempty"`
}

func (*ClusterConfigInitParameters) DeepCopy

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

func (*ClusterConfigInitParameters) DeepCopyInto

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

type ClusterConfigObservation

type ClusterConfigObservation struct {

	// Data Proc specific options. The structure is documented below.
	Hadoop []HadoopObservation `json:"hadoop,omitempty" tf:"hadoop,omitempty"`

	// Configuration of the Data Proc subcluster. The structure is documented below.
	SubclusterSpec []SubclusterSpecObservation `json:"subclusterSpec,omitempty" tf:"subcluster_spec,omitempty"`

	// Version of Data Proc image.
	VersionID *string `json:"versionId,omitempty" tf:"version_id,omitempty"`
}

func (*ClusterConfigObservation) DeepCopy

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

func (*ClusterConfigObservation) DeepCopyInto

func (in *ClusterConfigObservation) DeepCopyInto(out *ClusterConfigObservation)

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

type ClusterConfigParameters

type ClusterConfigParameters struct {

	// Data Proc specific options. The structure is documented below.
	// +kubebuilder:validation:Optional
	Hadoop []HadoopParameters `json:"hadoop,omitempty" tf:"hadoop,omitempty"`

	// Configuration of the Data Proc subcluster. The structure is documented below.
	// +kubebuilder:validation:Optional
	SubclusterSpec []SubclusterSpecParameters `json:"subclusterSpec" tf:"subcluster_spec,omitempty"`

	// Version of Data Proc image.
	// +kubebuilder:validation:Optional
	VersionID *string `json:"versionId,omitempty" tf:"version_id,omitempty"`
}

func (*ClusterConfigParameters) DeepCopy

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

func (*ClusterConfigParameters) DeepCopyInto

func (in *ClusterConfigParameters) DeepCopyInto(out *ClusterConfigParameters)

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

type ClusterInitParameters

type ClusterInitParameters struct {

	// Name of the Object Storage bucket to use for Data Proc jobs. Data Proc Agent saves output of job driver's process to specified bucket. In order for this to work service account (specified by the service_account_id argument) should be given permission to create objects within this bucket.
	// +crossplane:generate:reference:type=github.com/tagesjump/provider-upjet-yc/apis/storage/v1alpha1.Bucket
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("bucket",false)
	Bucket *string `json:"bucket,omitempty" tf:"bucket,omitempty"`

	// Reference to a Bucket in storage to populate bucket.
	// +kubebuilder:validation:Optional
	BucketRef *v1.Reference `json:"bucketRef,omitempty" tf:"-"`

	// Selector for a Bucket in storage to populate bucket.
	// +kubebuilder:validation:Optional
	BucketSelector *v1.Selector `json:"bucketSelector,omitempty" tf:"-"`

	// Configuration and resources for hosts that should be created with the cluster. The structure is documented below.
	ClusterConfig []ClusterConfigInitParameters `json:"clusterConfig,omitempty" tf:"cluster_config,omitempty"`

	// Inhibits deletion of the cluster.  Can be either true or false.
	DeletionProtection *bool `json:"deletionProtection,omitempty" tf:"deletion_protection,omitempty"`

	// Description of the Data Proc cluster.
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// ID of the folder to create a cluster in. If it is not provided, the default provider folder is used.
	// +crossplane:generate:reference:type=github.com/tagesjump/provider-upjet-yc/apis/resourcemanager/v1alpha1.Folder
	FolderID *string `json:"folderId,omitempty" tf:"folder_id,omitempty"`

	// Reference to a Folder in resourcemanager to populate folderId.
	// +kubebuilder:validation:Optional
	FolderIDRef *v1.Reference `json:"folderIdRef,omitempty" tf:"-"`

	// Selector for a Folder in resourcemanager to populate folderId.
	// +kubebuilder:validation:Optional
	FolderIDSelector *v1.Selector `json:"folderIdSelector,omitempty" tf:"-"`

	// A list of host group IDs to place VMs of the cluster on.
	// +listType=set
	HostGroupIds []*string `json:"hostGroupIds,omitempty" tf:"host_group_ids,omitempty"`

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

	// Name of a specific Data Proc cluster.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// A list of security group IDs that the cluster belongs to.
	// +listType=set
	SecurityGroupIds []*string `json:"securityGroupIds,omitempty" tf:"security_group_ids,omitempty"`

	// Service account to be used by the Data Proc agent to access resources of Yandex.Cloud. Selected service account should have mdb.dataproc.agent role on the folder where the Data Proc cluster will be located.
	// +crossplane:generate:reference:type=github.com/tagesjump/provider-upjet-yc/apis/iam/v1alpha1.ServiceAccount
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
	ServiceAccountID *string `json:"serviceAccountId,omitempty" tf:"service_account_id,omitempty"`

	// Reference to a ServiceAccount in iam to populate serviceAccountId.
	// +kubebuilder:validation:Optional
	ServiceAccountIDRef *v1.Reference `json:"serviceAccountIdRef,omitempty" tf:"-"`

	// Selector for a ServiceAccount in iam to populate serviceAccountId.
	// +kubebuilder:validation:Optional
	ServiceAccountIDSelector *v1.Selector `json:"serviceAccountIdSelector,omitempty" tf:"-"`

	// Whether to enable UI Proxy feature.
	UIProxy *bool `json:"uiProxy,omitempty" tf:"ui_proxy,omitempty"`

	// ID of the availability zone to create cluster in. If it is not provided, the default provider zone is used.
	ZoneID *string `json:"zoneId,omitempty" tf:"zone_id,omitempty"`
}

func (*ClusterInitParameters) DeepCopy

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

func (*ClusterInitParameters) DeepCopyInto

func (in *ClusterInitParameters) DeepCopyInto(out *ClusterInitParameters)

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

type ClusterList

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

ClusterList contains a list of Clusters

func (*ClusterList) DeepCopy

func (in *ClusterList) DeepCopy() *ClusterList

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

func (*ClusterList) DeepCopyInto

func (in *ClusterList) DeepCopyInto(out *ClusterList)

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

func (*ClusterList) DeepCopyObject

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

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

func (*ClusterList) GetItems

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

GetItems of this ClusterList.

type ClusterObservation

type ClusterObservation struct {

	// Name of the Object Storage bucket to use for Data Proc jobs. Data Proc Agent saves output of job driver's process to specified bucket. In order for this to work service account (specified by the service_account_id argument) should be given permission to create objects within this bucket.
	Bucket *string `json:"bucket,omitempty" tf:"bucket,omitempty"`

	// Configuration and resources for hosts that should be created with the cluster. The structure is documented below.
	ClusterConfig []ClusterConfigObservation `json:"clusterConfig,omitempty" tf:"cluster_config,omitempty"`

	// (Computed) The Data Proc cluster creation timestamp.
	CreatedAt *string `json:"createdAt,omitempty" tf:"created_at,omitempty"`

	// Inhibits deletion of the cluster.  Can be either true or false.
	DeletionProtection *bool `json:"deletionProtection,omitempty" tf:"deletion_protection,omitempty"`

	// Description of the Data Proc cluster.
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// ID of the folder to create a cluster in. If it is not provided, the default provider folder is used.
	FolderID *string `json:"folderId,omitempty" tf:"folder_id,omitempty"`

	// A list of host group IDs to place VMs of the cluster on.
	// +listType=set
	HostGroupIds []*string `json:"hostGroupIds,omitempty" tf:"host_group_ids,omitempty"`

	// (Computed) ID of a new Data Proc cluster.
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

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

	// Name of a specific Data Proc cluster.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// A list of security group IDs that the cluster belongs to.
	// +listType=set
	SecurityGroupIds []*string `json:"securityGroupIds,omitempty" tf:"security_group_ids,omitempty"`

	// Service account to be used by the Data Proc agent to access resources of Yandex.Cloud. Selected service account should have mdb.dataproc.agent role on the folder where the Data Proc cluster will be located.
	ServiceAccountID *string `json:"serviceAccountId,omitempty" tf:"service_account_id,omitempty"`

	// Whether to enable UI Proxy feature.
	UIProxy *bool `json:"uiProxy,omitempty" tf:"ui_proxy,omitempty"`

	// ID of the availability zone to create cluster in. If it is not provided, the default provider zone is used.
	ZoneID *string `json:"zoneId,omitempty" tf:"zone_id,omitempty"`
}

func (*ClusterObservation) DeepCopy

func (in *ClusterObservation) DeepCopy() *ClusterObservation

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

func (*ClusterObservation) DeepCopyInto

func (in *ClusterObservation) DeepCopyInto(out *ClusterObservation)

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

type ClusterParameters

type ClusterParameters struct {

	// Name of the Object Storage bucket to use for Data Proc jobs. Data Proc Agent saves output of job driver's process to specified bucket. In order for this to work service account (specified by the service_account_id argument) should be given permission to create objects within this bucket.
	// +crossplane:generate:reference:type=github.com/tagesjump/provider-upjet-yc/apis/storage/v1alpha1.Bucket
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("bucket",false)
	// +kubebuilder:validation:Optional
	Bucket *string `json:"bucket,omitempty" tf:"bucket,omitempty"`

	// Reference to a Bucket in storage to populate bucket.
	// +kubebuilder:validation:Optional
	BucketRef *v1.Reference `json:"bucketRef,omitempty" tf:"-"`

	// Selector for a Bucket in storage to populate bucket.
	// +kubebuilder:validation:Optional
	BucketSelector *v1.Selector `json:"bucketSelector,omitempty" tf:"-"`

	// Configuration and resources for hosts that should be created with the cluster. The structure is documented below.
	// +kubebuilder:validation:Optional
	ClusterConfig []ClusterConfigParameters `json:"clusterConfig,omitempty" tf:"cluster_config,omitempty"`

	// Inhibits deletion of the cluster.  Can be either true or false.
	// +kubebuilder:validation:Optional
	DeletionProtection *bool `json:"deletionProtection,omitempty" tf:"deletion_protection,omitempty"`

	// Description of the Data Proc cluster.
	// +kubebuilder:validation:Optional
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// ID of the folder to create a cluster in. If it is not provided, the default provider folder is used.
	// +crossplane:generate:reference:type=github.com/tagesjump/provider-upjet-yc/apis/resourcemanager/v1alpha1.Folder
	// +kubebuilder:validation:Optional
	FolderID *string `json:"folderId,omitempty" tf:"folder_id,omitempty"`

	// Reference to a Folder in resourcemanager to populate folderId.
	// +kubebuilder:validation:Optional
	FolderIDRef *v1.Reference `json:"folderIdRef,omitempty" tf:"-"`

	// Selector for a Folder in resourcemanager to populate folderId.
	// +kubebuilder:validation:Optional
	FolderIDSelector *v1.Selector `json:"folderIdSelector,omitempty" tf:"-"`

	// A list of host group IDs to place VMs of the cluster on.
	// +kubebuilder:validation:Optional
	// +listType=set
	HostGroupIds []*string `json:"hostGroupIds,omitempty" tf:"host_group_ids,omitempty"`

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

	// Name of a specific Data Proc cluster.
	// +kubebuilder:validation:Optional
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// A list of security group IDs that the cluster belongs to.
	// +kubebuilder:validation:Optional
	// +listType=set
	SecurityGroupIds []*string `json:"securityGroupIds,omitempty" tf:"security_group_ids,omitempty"`

	// Service account to be used by the Data Proc agent to access resources of Yandex.Cloud. Selected service account should have mdb.dataproc.agent role on the folder where the Data Proc cluster will be located.
	// +crossplane:generate:reference:type=github.com/tagesjump/provider-upjet-yc/apis/iam/v1alpha1.ServiceAccount
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
	// +kubebuilder:validation:Optional
	ServiceAccountID *string `json:"serviceAccountId,omitempty" tf:"service_account_id,omitempty"`

	// Reference to a ServiceAccount in iam to populate serviceAccountId.
	// +kubebuilder:validation:Optional
	ServiceAccountIDRef *v1.Reference `json:"serviceAccountIdRef,omitempty" tf:"-"`

	// Selector for a ServiceAccount in iam to populate serviceAccountId.
	// +kubebuilder:validation:Optional
	ServiceAccountIDSelector *v1.Selector `json:"serviceAccountIdSelector,omitempty" tf:"-"`

	// Whether to enable UI Proxy feature.
	// +kubebuilder:validation:Optional
	UIProxy *bool `json:"uiProxy,omitempty" tf:"ui_proxy,omitempty"`

	// ID of the availability zone to create cluster in. If it is not provided, the default provider zone is used.
	// +kubebuilder:validation:Optional
	ZoneID *string `json:"zoneId,omitempty" tf:"zone_id,omitempty"`
}

func (*ClusterParameters) DeepCopy

func (in *ClusterParameters) DeepCopy() *ClusterParameters

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

func (*ClusterParameters) DeepCopyInto

func (in *ClusterParameters) DeepCopyInto(out *ClusterParameters)

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

type ClusterSpec

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

ClusterSpec defines the desired state of Cluster

func (*ClusterSpec) DeepCopy

func (in *ClusterSpec) DeepCopy() *ClusterSpec

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

func (*ClusterSpec) DeepCopyInto

func (in *ClusterSpec) DeepCopyInto(out *ClusterSpec)

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

type ClusterStatus

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

ClusterStatus defines the observed state of Cluster.

func (*ClusterStatus) DeepCopy

func (in *ClusterStatus) DeepCopy() *ClusterStatus

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

func (*ClusterStatus) DeepCopyInto

func (in *ClusterStatus) DeepCopyInto(out *ClusterStatus)

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

type HadoopInitParameters

type HadoopInitParameters struct {

	// List of initialization scripts. The structure is documented below.
	InitializationAction []InitializationActionInitParameters `json:"initializationAction,omitempty" tf:"initialization_action,omitempty"`

	// A set of key/value pairs that are used to configure cluster services.
	// +mapType=granular
	Properties map[string]*string `json:"properties,omitempty" tf:"properties,omitempty"`

	// List of SSH public keys to put to the hosts of the cluster. For information on how to connect to the cluster, see the official documentation.
	// +listType=set
	SSHPublicKeys []*string `json:"sshPublicKeys,omitempty" tf:"ssh_public_keys,omitempty"`

	// List of services to run on Data Proc cluster.
	// +listType=set
	Services []*string `json:"services,omitempty" tf:"services,omitempty"`
}

func (*HadoopInitParameters) DeepCopy

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

func (*HadoopInitParameters) DeepCopyInto

func (in *HadoopInitParameters) DeepCopyInto(out *HadoopInitParameters)

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

type HadoopObservation

type HadoopObservation struct {

	// List of initialization scripts. The structure is documented below.
	InitializationAction []InitializationActionObservation `json:"initializationAction,omitempty" tf:"initialization_action,omitempty"`

	// A set of key/value pairs that are used to configure cluster services.
	// +mapType=granular
	Properties map[string]*string `json:"properties,omitempty" tf:"properties,omitempty"`

	// List of SSH public keys to put to the hosts of the cluster. For information on how to connect to the cluster, see the official documentation.
	// +listType=set
	SSHPublicKeys []*string `json:"sshPublicKeys,omitempty" tf:"ssh_public_keys,omitempty"`

	// List of services to run on Data Proc cluster.
	// +listType=set
	Services []*string `json:"services,omitempty" tf:"services,omitempty"`
}

func (*HadoopObservation) DeepCopy

func (in *HadoopObservation) DeepCopy() *HadoopObservation

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

func (*HadoopObservation) DeepCopyInto

func (in *HadoopObservation) DeepCopyInto(out *HadoopObservation)

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

type HadoopParameters

type HadoopParameters struct {

	// List of initialization scripts. The structure is documented below.
	// +kubebuilder:validation:Optional
	InitializationAction []InitializationActionParameters `json:"initializationAction,omitempty" tf:"initialization_action,omitempty"`

	// A set of key/value pairs that are used to configure cluster services.
	// +kubebuilder:validation:Optional
	// +mapType=granular
	Properties map[string]*string `json:"properties,omitempty" tf:"properties,omitempty"`

	// List of SSH public keys to put to the hosts of the cluster. For information on how to connect to the cluster, see the official documentation.
	// +kubebuilder:validation:Optional
	// +listType=set
	SSHPublicKeys []*string `json:"sshPublicKeys,omitempty" tf:"ssh_public_keys,omitempty"`

	// List of services to run on Data Proc cluster.
	// +kubebuilder:validation:Optional
	// +listType=set
	Services []*string `json:"services,omitempty" tf:"services,omitempty"`
}

func (*HadoopParameters) DeepCopy

func (in *HadoopParameters) DeepCopy() *HadoopParameters

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

func (*HadoopParameters) DeepCopyInto

func (in *HadoopParameters) DeepCopyInto(out *HadoopParameters)

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

type InitializationActionInitParameters

type InitializationActionInitParameters struct {

	// List of arguments of the initialization script.
	Args []*string `json:"args,omitempty" tf:"args,omitempty"`

	// Script execution timeout, in seconds.
	Timeout *string `json:"timeout,omitempty" tf:"timeout,omitempty"`

	// Script URI.
	URI *string `json:"uri,omitempty" tf:"uri,omitempty"`
}

func (*InitializationActionInitParameters) DeepCopy

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

func (*InitializationActionInitParameters) DeepCopyInto

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

type InitializationActionObservation

type InitializationActionObservation struct {

	// List of arguments of the initialization script.
	Args []*string `json:"args,omitempty" tf:"args,omitempty"`

	// Script execution timeout, in seconds.
	Timeout *string `json:"timeout,omitempty" tf:"timeout,omitempty"`

	// Script URI.
	URI *string `json:"uri,omitempty" tf:"uri,omitempty"`
}

func (*InitializationActionObservation) DeepCopy

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

func (*InitializationActionObservation) DeepCopyInto

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

type InitializationActionParameters

type InitializationActionParameters struct {

	// List of arguments of the initialization script.
	// +kubebuilder:validation:Optional
	Args []*string `json:"args,omitempty" tf:"args,omitempty"`

	// Script execution timeout, in seconds.
	// +kubebuilder:validation:Optional
	Timeout *string `json:"timeout,omitempty" tf:"timeout,omitempty"`

	// Script URI.
	// +kubebuilder:validation:Optional
	URI *string `json:"uri" tf:"uri,omitempty"`
}

func (*InitializationActionParameters) DeepCopy

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

func (*InitializationActionParameters) DeepCopyInto

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

type ResourcesInitParameters

type ResourcesInitParameters struct {

	// Volume of the storage available to a host, in gigabytes.
	DiskSize *float64 `json:"diskSize,omitempty" tf:"disk_size,omitempty"`

	// Type of the storage of a host. One of network-hdd (default) or network-ssd.
	DiskTypeID *string `json:"diskTypeId,omitempty" tf:"disk_type_id,omitempty"`

	// The ID of the preset for computational resources available to a host. All available presets are listed in the documentation.
	ResourcePresetID *string `json:"resourcePresetId,omitempty" tf:"resource_preset_id,omitempty"`
}

func (*ResourcesInitParameters) DeepCopy

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

func (*ResourcesInitParameters) DeepCopyInto

func (in *ResourcesInitParameters) DeepCopyInto(out *ResourcesInitParameters)

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

type ResourcesObservation

type ResourcesObservation struct {

	// Volume of the storage available to a host, in gigabytes.
	DiskSize *float64 `json:"diskSize,omitempty" tf:"disk_size,omitempty"`

	// Type of the storage of a host. One of network-hdd (default) or network-ssd.
	DiskTypeID *string `json:"diskTypeId,omitempty" tf:"disk_type_id,omitempty"`

	// The ID of the preset for computational resources available to a host. All available presets are listed in the documentation.
	ResourcePresetID *string `json:"resourcePresetId,omitempty" tf:"resource_preset_id,omitempty"`
}

func (*ResourcesObservation) DeepCopy

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

func (*ResourcesObservation) DeepCopyInto

func (in *ResourcesObservation) DeepCopyInto(out *ResourcesObservation)

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

type ResourcesParameters

type ResourcesParameters struct {

	// Volume of the storage available to a host, in gigabytes.
	// +kubebuilder:validation:Optional
	DiskSize *float64 `json:"diskSize" tf:"disk_size,omitempty"`

	// Type of the storage of a host. One of network-hdd (default) or network-ssd.
	// +kubebuilder:validation:Optional
	DiskTypeID *string `json:"diskTypeId,omitempty" tf:"disk_type_id,omitempty"`

	// The ID of the preset for computational resources available to a host. All available presets are listed in the documentation.
	// +kubebuilder:validation:Optional
	ResourcePresetID *string `json:"resourcePresetId" tf:"resource_preset_id,omitempty"`
}

func (*ResourcesParameters) DeepCopy

func (in *ResourcesParameters) DeepCopy() *ResourcesParameters

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

func (*ResourcesParameters) DeepCopyInto

func (in *ResourcesParameters) DeepCopyInto(out *ResourcesParameters)

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

type SubclusterSpecInitParameters

type SubclusterSpecInitParameters struct {

	// If true then assign public IP addresses to the hosts of the subclusters.
	AssignPublicIP *bool `json:"assignPublicIp,omitempty" tf:"assign_public_ip,omitempty"`

	// Autoscaling configuration for compute subclusters.
	AutoscalingConfig []AutoscalingConfigInitParameters `json:"autoscalingConfig,omitempty" tf:"autoscaling_config,omitempty"`

	// Number of hosts within Data Proc subcluster.
	HostsCount *float64 `json:"hostsCount,omitempty" tf:"hosts_count,omitempty"`

	// Name of the Data Proc subcluster.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// Resources allocated to each host of the Data Proc subcluster. The structure is documented below.
	Resources []ResourcesInitParameters `json:"resources,omitempty" tf:"resources,omitempty"`

	// Role of the subcluster in the Data Proc cluster.
	Role *string `json:"role,omitempty" tf:"role,omitempty"`

	// The ID of the subnet, to which hosts of the subcluster belong. Subnets of all the subclusters must belong to the same VPC network.
	// +crossplane:generate:reference:type=github.com/tagesjump/provider-upjet-yc/apis/vpc/v1alpha1.Subnet
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
	SubnetID *string `json:"subnetId,omitempty" tf:"subnet_id,omitempty"`

	// Reference to a Subnet in vpc to populate subnetId.
	// +kubebuilder:validation:Optional
	SubnetIDRef *v1.Reference `json:"subnetIdRef,omitempty" tf:"-"`

	// Selector for a Subnet in vpc to populate subnetId.
	// +kubebuilder:validation:Optional
	SubnetIDSelector *v1.Selector `json:"subnetIdSelector,omitempty" tf:"-"`
}

func (*SubclusterSpecInitParameters) DeepCopy

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

func (*SubclusterSpecInitParameters) DeepCopyInto

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

type SubclusterSpecObservation

type SubclusterSpecObservation struct {

	// If true then assign public IP addresses to the hosts of the subclusters.
	AssignPublicIP *bool `json:"assignPublicIp,omitempty" tf:"assign_public_ip,omitempty"`

	// Autoscaling configuration for compute subclusters.
	AutoscalingConfig []AutoscalingConfigObservation `json:"autoscalingConfig,omitempty" tf:"autoscaling_config,omitempty"`

	// Number of hosts within Data Proc subcluster.
	HostsCount *float64 `json:"hostsCount,omitempty" tf:"hosts_count,omitempty"`

	// (Computed) ID of a new Data Proc cluster.
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// Name of the Data Proc subcluster.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// Resources allocated to each host of the Data Proc subcluster. The structure is documented below.
	Resources []ResourcesObservation `json:"resources,omitempty" tf:"resources,omitempty"`

	// Role of the subcluster in the Data Proc cluster.
	Role *string `json:"role,omitempty" tf:"role,omitempty"`

	// The ID of the subnet, to which hosts of the subcluster belong. Subnets of all the subclusters must belong to the same VPC network.
	SubnetID *string `json:"subnetId,omitempty" tf:"subnet_id,omitempty"`
}

func (*SubclusterSpecObservation) DeepCopy

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

func (*SubclusterSpecObservation) DeepCopyInto

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

type SubclusterSpecParameters

type SubclusterSpecParameters struct {

	// If true then assign public IP addresses to the hosts of the subclusters.
	// +kubebuilder:validation:Optional
	AssignPublicIP *bool `json:"assignPublicIp,omitempty" tf:"assign_public_ip,omitempty"`

	// Autoscaling configuration for compute subclusters.
	// +kubebuilder:validation:Optional
	AutoscalingConfig []AutoscalingConfigParameters `json:"autoscalingConfig,omitempty" tf:"autoscaling_config,omitempty"`

	// Number of hosts within Data Proc subcluster.
	// +kubebuilder:validation:Optional
	HostsCount *float64 `json:"hostsCount" tf:"hosts_count,omitempty"`

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

	// Resources allocated to each host of the Data Proc subcluster. The structure is documented below.
	// +kubebuilder:validation:Optional
	Resources []ResourcesParameters `json:"resources" tf:"resources,omitempty"`

	// Role of the subcluster in the Data Proc cluster.
	// +kubebuilder:validation:Optional
	Role *string `json:"role" tf:"role,omitempty"`

	// The ID of the subnet, to which hosts of the subcluster belong. Subnets of all the subclusters must belong to the same VPC network.
	// +crossplane:generate:reference:type=github.com/tagesjump/provider-upjet-yc/apis/vpc/v1alpha1.Subnet
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
	// +kubebuilder:validation:Optional
	SubnetID *string `json:"subnetId,omitempty" tf:"subnet_id,omitempty"`

	// Reference to a Subnet in vpc to populate subnetId.
	// +kubebuilder:validation:Optional
	SubnetIDRef *v1.Reference `json:"subnetIdRef,omitempty" tf:"-"`

	// Selector for a Subnet in vpc to populate subnetId.
	// +kubebuilder:validation:Optional
	SubnetIDSelector *v1.Selector `json:"subnetIdSelector,omitempty" tf:"-"`
}

func (*SubclusterSpecParameters) DeepCopy

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

func (*SubclusterSpecParameters) DeepCopyInto

func (in *SubclusterSpecParameters) DeepCopyInto(out *SubclusterSpecParameters)

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