v1alpha1

package
v0.0.0-...-0c44014 Latest Latest
Warning

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

Go to latest
Published: Mar 22, 2024 License: Apache-2.0 Imports: 10 Imported by: 0

Documentation

Overview

+kubebuilder:object:generate=true +groupName=primaryip.hcloud.upbound.io +versionName=v1alpha1

Index

Constants

View Source
const (
	CRDGroup   = "primaryip.hcloud.upbound.io"
	CRDVersion = "v1alpha1"
)

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 (
	IP_Kind             = "IP"
	IP_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: IP_Kind}.String()
	IP_KindAPIVersion   = IP_Kind + "." + CRDGroupVersion.String()
	IP_GroupVersionKind = CRDGroupVersion.WithKind(IP_Kind)
)

Repository type metadata.

Functions

This section is empty.

Types

type IP

type IP 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.assigneeType) || (has(self.initProvider) && has(self.initProvider.assigneeType))",message="spec.forProvider.assigneeType is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.autoDelete) || (has(self.initProvider) && has(self.initProvider.autoDelete))",message="spec.forProvider.autoDelete is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.type) || (has(self.initProvider) && has(self.initProvider.type))",message="spec.forProvider.type is a required parameter"
	Spec   IPSpec   `json:"spec"`
	Status IPStatus `json:"status,omitempty"`
}

IP is the Schema for the IPs API. Provides a Hetzner Cloud Primary IP to represent a publicly-accessible static IP address that can be mapped to one of your servers. +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,hcloud}

func (*IP) DeepCopy

func (in *IP) DeepCopy() *IP

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

func (*IP) DeepCopyInto

func (in *IP) DeepCopyInto(out *IP)

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

func (*IP) DeepCopyObject

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

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

func (*IP) GetCondition

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

GetCondition of this IP.

func (*IP) GetConnectionDetailsMapping

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

GetConnectionDetailsMapping for this IP

func (*IP) GetDeletionPolicy

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

GetDeletionPolicy of this IP.

func (*IP) GetID

func (tr *IP) GetID() string

GetID returns ID of underlying Terraform resource of this IP

func (*IP) GetInitParameters

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

GetInitParameters of this IP

func (*IP) GetManagementPolicies

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

GetManagementPolicies of this IP.

func (*IP) GetMergedParameters

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

GetInitParameters of this IP

func (*IP) GetObservation

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

GetObservation of this IP

func (*IP) GetParameters

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

GetParameters of this IP

func (*IP) GetProviderConfigReference

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

GetProviderConfigReference of this IP.

func (*IP) GetPublishConnectionDetailsTo

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

GetPublishConnectionDetailsTo of this IP.

func (*IP) GetTerraformResourceType

func (mg *IP) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this IP

func (*IP) GetTerraformSchemaVersion

func (tr *IP) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*IP) GetWriteConnectionSecretToReference

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

GetWriteConnectionSecretToReference of this IP.

func (*IP) Hub

func (tr *IP) Hub()

Hub marks this type as a conversion hub.

func (*IP) LateInitialize

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

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

func (*IP) SetConditions

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

SetConditions of this IP.

func (*IP) SetDeletionPolicy

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

SetDeletionPolicy of this IP.

func (*IP) SetManagementPolicies

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

SetManagementPolicies of this IP.

func (*IP) SetObservation

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

SetObservation for this IP

func (*IP) SetParameters

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

SetParameters for this IP

func (*IP) SetProviderConfigReference

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

SetProviderConfigReference of this IP.

func (*IP) SetPublishConnectionDetailsTo

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

SetPublishConnectionDetailsTo of this IP.

func (*IP) SetWriteConnectionSecretToReference

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

SetWriteConnectionSecretToReference of this IP.

type IPInitParameters

type IPInitParameters struct {

	// (int) ID of the assigned resource
	AssigneeID *float64 `json:"assigneeId,omitempty" tf:"assignee_id,omitempty"`

	// (string) The type of the assigned resource. Currently supported: server
	AssigneeType *string `json:"assigneeType,omitempty" tf:"assignee_type,omitempty"`

	// (bool) Whether auto delete is enabled.
	// Important note:It is recommended to set auto_delete to false, because if a server assigned to the managed ip is getting deleted, it will also delete the primary IP which will break the TF state.
	AutoDelete *bool `json:"autoDelete,omitempty" tf:"auto_delete,omitempty"`

	// (string, optional) The datacenter name to create the resource in.
	Datacenter *string `json:"datacenter,omitempty" tf:"datacenter,omitempty"`

	// (bool) Whether delete protection is enabled. See "Delete Protection" in the Provider Docs for details.
	DeleteProtection *bool `json:"deleteProtection,omitempty" tf:"delete_protection,omitempty"`

	// (string) Description of the Primary IP.
	// +mapType=granular
	Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"`

	// (string) Name of the Primary IP.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// (string) Type of the Primary IP. ipv4 or ipv6
	Type *string `json:"type,omitempty" tf:"type,omitempty"`
}

func (*IPInitParameters) DeepCopy

func (in *IPInitParameters) DeepCopy() *IPInitParameters

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

func (*IPInitParameters) DeepCopyInto

func (in *IPInitParameters) DeepCopyInto(out *IPInitParameters)

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

type IPList

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

IPList contains a list of IPs

func (*IPList) DeepCopy

func (in *IPList) DeepCopy() *IPList

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

func (*IPList) DeepCopyInto

func (in *IPList) DeepCopyInto(out *IPList)

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

func (*IPList) DeepCopyObject

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

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

func (*IPList) GetItems

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

GetItems of this IPList.

type IPObservation

type IPObservation struct {

	// (int) ID of the assigned resource
	AssigneeID *float64 `json:"assigneeId,omitempty" tf:"assignee_id,omitempty"`

	// (string) The type of the assigned resource. Currently supported: server
	AssigneeType *string `json:"assigneeType,omitempty" tf:"assignee_type,omitempty"`

	// (bool) Whether auto delete is enabled.
	// Important note:It is recommended to set auto_delete to false, because if a server assigned to the managed ip is getting deleted, it will also delete the primary IP which will break the TF state.
	AutoDelete *bool `json:"autoDelete,omitempty" tf:"auto_delete,omitempty"`

	// (string, optional) The datacenter name to create the resource in.
	Datacenter *string `json:"datacenter,omitempty" tf:"datacenter,omitempty"`

	// (bool) Whether delete protection is enabled. See "Delete Protection" in the Provider Docs for details.
	DeleteProtection *bool `json:"deleteProtection,omitempty" tf:"delete_protection,omitempty"`

	// (int) Unique ID of the Primary IP.
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// (string) IP Address of the Primary IP.
	IPAddress *string `json:"ipAddress,omitempty" tf:"ip_address,omitempty"`

	// (string) IPv6 subnet of the Primary IP for IPv6 addresses. (Only set if type is ipv6)
	IPNetwork *string `json:"ipNetwork,omitempty" tf:"ip_network,omitempty"`

	// (string) Description of the Primary IP.
	// +mapType=granular
	Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"`

	// (string) Name of the Primary IP.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// (string) Type of the Primary IP. ipv4 or ipv6
	Type *string `json:"type,omitempty" tf:"type,omitempty"`
}

func (*IPObservation) DeepCopy

func (in *IPObservation) DeepCopy() *IPObservation

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

func (*IPObservation) DeepCopyInto

func (in *IPObservation) DeepCopyInto(out *IPObservation)

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

type IPParameters

type IPParameters struct {

	// (int) ID of the assigned resource
	// +kubebuilder:validation:Optional
	AssigneeID *float64 `json:"assigneeId,omitempty" tf:"assignee_id,omitempty"`

	// (string) The type of the assigned resource. Currently supported: server
	// +kubebuilder:validation:Optional
	AssigneeType *string `json:"assigneeType,omitempty" tf:"assignee_type,omitempty"`

	// (bool) Whether auto delete is enabled.
	// Important note:It is recommended to set auto_delete to false, because if a server assigned to the managed ip is getting deleted, it will also delete the primary IP which will break the TF state.
	// +kubebuilder:validation:Optional
	AutoDelete *bool `json:"autoDelete,omitempty" tf:"auto_delete,omitempty"`

	// (string, optional) The datacenter name to create the resource in.
	// +kubebuilder:validation:Optional
	Datacenter *string `json:"datacenter,omitempty" tf:"datacenter,omitempty"`

	// (bool) Whether delete protection is enabled. See "Delete Protection" in the Provider Docs for details.
	// +kubebuilder:validation:Optional
	DeleteProtection *bool `json:"deleteProtection,omitempty" tf:"delete_protection,omitempty"`

	// (string) Description of the Primary IP.
	// +kubebuilder:validation:Optional
	// +mapType=granular
	Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"`

	// (string) Name of the Primary IP.
	// +kubebuilder:validation:Optional
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// (string) Type of the Primary IP. ipv4 or ipv6
	// +kubebuilder:validation:Optional
	Type *string `json:"type,omitempty" tf:"type,omitempty"`
}

func (*IPParameters) DeepCopy

func (in *IPParameters) DeepCopy() *IPParameters

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

func (*IPParameters) DeepCopyInto

func (in *IPParameters) DeepCopyInto(out *IPParameters)

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

type IPSpec

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

IPSpec defines the desired state of IP

func (*IPSpec) DeepCopy

func (in *IPSpec) DeepCopy() *IPSpec

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

func (*IPSpec) DeepCopyInto

func (in *IPSpec) DeepCopyInto(out *IPSpec)

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

type IPStatus

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

IPStatus defines the observed state of IP.

func (*IPStatus) DeepCopy

func (in *IPStatus) DeepCopy() *IPStatus

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

func (*IPStatus) DeepCopyInto

func (in *IPStatus) DeepCopyInto(out *IPStatus)

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