v1alpha1

package
v0.0.1 Latest Latest
Warning

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

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

Documentation

Overview

+kubebuilder:object:generate=true +groupName=ipam.thibaultbustarret-ovhcloud.com +versionName=v1alpha1

Index

Constants

View Source
const (
	CRDGroup   = "ipam.thibaultbustarret-ovhcloud.com"
	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 (
	IPAddress_Kind             = "IPAddress"
	IPAddress_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: IPAddress_Kind}.String()
	IPAddress_KindAPIVersion   = IPAddress_Kind + "." + CRDGroupVersion.String()
	IPAddress_GroupVersionKind = CRDGroupVersion.WithKind(IPAddress_Kind)
)

Repository type metadata.

Functions

This section is empty.

Types

type IPAddress

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

IPAddress is the Schema for the IPAddresss API. From the official documentation https://docs.netbox.dev/en/stable/features/ipam/#ip-addresses: An IP address comprises a single host address (either IPv4 or IPv6) and its subnet mask. Its mask should match exactly how the IP address is configured on an interface in the real world. Like a prefix, an IP address can optionally be assigned to a VRF (otherwise, it will appear in the "global" table). IP addresses are automatically arranged under parent prefixes within their respective VRFs according to the IP hierarchy. +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:subresource:status +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,netbox}

func (*IPAddress) DeepCopy

func (in *IPAddress) DeepCopy() *IPAddress

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

func (*IPAddress) DeepCopyInto

func (in *IPAddress) DeepCopyInto(out *IPAddress)

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

func (*IPAddress) DeepCopyObject

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

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

func (*IPAddress) GetCondition

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

GetCondition of this IPAddress.

func (*IPAddress) GetConnectionDetailsMapping

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

GetConnectionDetailsMapping for this IPAddress

func (*IPAddress) GetDeletionPolicy

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

GetDeletionPolicy of this IPAddress.

func (*IPAddress) GetID

func (tr *IPAddress) GetID() string

GetID returns ID of underlying Terraform resource of this IPAddress

func (*IPAddress) GetInitParameters

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

GetInitParameters of this IPAddress

func (*IPAddress) GetManagementPolicies

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

GetManagementPolicies of this IPAddress.

func (*IPAddress) GetObservation

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

GetObservation of this IPAddress

func (*IPAddress) GetParameters

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

GetParameters of this IPAddress

func (*IPAddress) GetProviderConfigReference

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

GetProviderConfigReference of this IPAddress.

func (*IPAddress) GetPublishConnectionDetailsTo

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

GetPublishConnectionDetailsTo of this IPAddress.

func (*IPAddress) GetTerraformResourceType

func (mg *IPAddress) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this IPAddress

func (*IPAddress) GetTerraformSchemaVersion

func (tr *IPAddress) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*IPAddress) GetWriteConnectionSecretToReference

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

GetWriteConnectionSecretToReference of this IPAddress.

func (*IPAddress) LateInitialize

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

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

func (*IPAddress) ResolveReferences

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

ResolveReferences of this IPAddress.

func (*IPAddress) SetConditions

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

SetConditions of this IPAddress.

func (*IPAddress) SetDeletionPolicy

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

SetDeletionPolicy of this IPAddress.

func (*IPAddress) SetManagementPolicies

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

SetManagementPolicies of this IPAddress.

func (*IPAddress) SetObservation

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

SetObservation for this IPAddress

func (*IPAddress) SetParameters

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

SetParameters for this IPAddress

func (*IPAddress) SetProviderConfigReference

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

SetProviderConfigReference of this IPAddress.

func (*IPAddress) SetPublishConnectionDetailsTo

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

SetPublishConnectionDetailsTo of this IPAddress.

func (*IPAddress) SetWriteConnectionSecretToReference

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

SetWriteConnectionSecretToReference of this IPAddress.

type IPAddressInitParameters

type IPAddressInitParameters struct {

	// (String)
	DNSName *string `json:"dnsName,omitempty" tf:"dns_name,omitempty"`

	// (String)
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// (String)
	IPAddress *string `json:"ipAddress,omitempty" tf:"ip_address,omitempty"`

	// (Number) Required when object_type is set.
	// Required when `object_type` is set.
	InterfaceID *float64 `json:"interfaceId,omitempty" tf:"interface_id,omitempty"`

	// (Number)
	NATInsideAddressID *float64 `json:"natInsideAddressId,omitempty" tf:"nat_inside_address_id,omitempty"`

	// (String) Valid values are virtualization.vminterface and dcim.interface. Required when interface_id is set.
	// Valid values are `virtualization.vminterface` and `dcim.interface`. Required when `interface_id` is set.
	ObjectType *string `json:"objectType,omitempty" tf:"object_type,omitempty"`

	// (String) Valid values are loopback, secondary, anycast, vip, vrrp, hsrp, glbp and carp.
	// Valid values are `loopback`, `secondary`, `anycast`, `vip`, `vrrp`, `hsrp`, `glbp` and `carp`.
	Role *string `json:"role,omitempty" tf:"role,omitempty"`

	// (String) Valid values are active, reserved, deprecated, dhcp and slaac.
	// Valid values are `active`, `reserved`, `deprecated`, `dhcp` and `slaac`.
	Status *string `json:"status,omitempty" tf:"status,omitempty"`

	// (Set of String)
	Tags []*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// (Number)
	TenantID *float64 `json:"tenantId,omitempty" tf:"tenant_id,omitempty"`

	// (Number) Conflicts with interface_id and device_interface_id.
	// Conflicts with `interface_id` and `device_interface_id`.
	VirtualMachineInterfaceID *float64 `json:"virtualMachineInterfaceId,omitempty" tf:"virtual_machine_interface_id,omitempty"`

	// (Number)
	VrfID *float64 `json:"vrfId,omitempty" tf:"vrf_id,omitempty"`
}

func (*IPAddressInitParameters) DeepCopy

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

func (*IPAddressInitParameters) DeepCopyInto

func (in *IPAddressInitParameters) DeepCopyInto(out *IPAddressInitParameters)

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

type IPAddressList

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

IPAddressList contains a list of IPAddresss

func (*IPAddressList) DeepCopy

func (in *IPAddressList) DeepCopy() *IPAddressList

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

func (*IPAddressList) DeepCopyInto

func (in *IPAddressList) DeepCopyInto(out *IPAddressList)

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

func (*IPAddressList) DeepCopyObject

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

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

func (*IPAddressList) GetItems

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

GetItems of this IPAddressList.

type IPAddressObservation

type IPAddressObservation struct {

	// (String)
	DNSName *string `json:"dnsName,omitempty" tf:"dns_name,omitempty"`

	// (String)
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// (Number) Conflicts with interface_id and virtual_machine_interface_id.
	// Conflicts with `interface_id` and `virtual_machine_interface_id`.
	DeviceInterfaceID *float64 `json:"deviceInterfaceId,omitempty" tf:"device_interface_id,omitempty"`

	// (String) The ID of this resource.
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// (String)
	IPAddress *string `json:"ipAddress,omitempty" tf:"ip_address,omitempty"`

	// (Number) Required when object_type is set.
	// Required when `object_type` is set.
	InterfaceID *float64 `json:"interfaceId,omitempty" tf:"interface_id,omitempty"`

	// (Number)
	NATInsideAddressID *float64 `json:"natInsideAddressId,omitempty" tf:"nat_inside_address_id,omitempty"`

	// (List of Object) (see below for nested schema)
	NATOutsideAddresses []NATOutsideAddressesObservation `json:"natOutsideAddresses,omitempty" tf:"nat_outside_addresses,omitempty"`

	// (String) Valid values are virtualization.vminterface and dcim.interface. Required when interface_id is set.
	// Valid values are `virtualization.vminterface` and `dcim.interface`. Required when `interface_id` is set.
	ObjectType *string `json:"objectType,omitempty" tf:"object_type,omitempty"`

	// (String) Valid values are loopback, secondary, anycast, vip, vrrp, hsrp, glbp and carp.
	// Valid values are `loopback`, `secondary`, `anycast`, `vip`, `vrrp`, `hsrp`, `glbp` and `carp`.
	Role *string `json:"role,omitempty" tf:"role,omitempty"`

	// (String) Valid values are active, reserved, deprecated, dhcp and slaac.
	// Valid values are `active`, `reserved`, `deprecated`, `dhcp` and `slaac`.
	Status *string `json:"status,omitempty" tf:"status,omitempty"`

	// (Set of String)
	Tags []*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// (Number)
	TenantID *float64 `json:"tenantId,omitempty" tf:"tenant_id,omitempty"`

	// (Number) Conflicts with interface_id and device_interface_id.
	// Conflicts with `interface_id` and `device_interface_id`.
	VirtualMachineInterfaceID *float64 `json:"virtualMachineInterfaceId,omitempty" tf:"virtual_machine_interface_id,omitempty"`

	// (Number)
	VrfID *float64 `json:"vrfId,omitempty" tf:"vrf_id,omitempty"`
}

func (*IPAddressObservation) DeepCopy

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

func (*IPAddressObservation) DeepCopyInto

func (in *IPAddressObservation) DeepCopyInto(out *IPAddressObservation)

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

type IPAddressParameters

type IPAddressParameters struct {

	// (String)
	// +kubebuilder:validation:Optional
	DNSName *string `json:"dnsName,omitempty" tf:"dns_name,omitempty"`

	// (String)
	// +kubebuilder:validation:Optional
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// (Number) Conflicts with interface_id and virtual_machine_interface_id.
	// Conflicts with `interface_id` and `virtual_machine_interface_id`.
	// +crossplane:generate:reference:type=github.com/thibaultbustarret-ovhcloud/provider-netbox/apis/dcim/v1alpha1.DeviceInterface
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
	// +kubebuilder:validation:Optional
	DeviceInterfaceID *float64 `json:"deviceInterfaceId,omitempty" tf:"device_interface_id,omitempty"`

	// Reference to a DeviceInterface in dcim to populate deviceInterfaceId.
	// +kubebuilder:validation:Optional
	DeviceInterfaceIDRef *v1.Reference `json:"deviceInterfaceIdRef,omitempty" tf:"-"`

	// Selector for a DeviceInterface in dcim to populate deviceInterfaceId.
	// +kubebuilder:validation:Optional
	DeviceInterfaceIDSelector *v1.Selector `json:"deviceInterfaceIdSelector,omitempty" tf:"-"`

	// (String)
	// +kubebuilder:validation:Optional
	IPAddress *string `json:"ipAddress,omitempty" tf:"ip_address,omitempty"`

	// (Number) Required when object_type is set.
	// Required when `object_type` is set.
	// +kubebuilder:validation:Optional
	InterfaceID *float64 `json:"interfaceId,omitempty" tf:"interface_id,omitempty"`

	// (Number)
	// +kubebuilder:validation:Optional
	NATInsideAddressID *float64 `json:"natInsideAddressId,omitempty" tf:"nat_inside_address_id,omitempty"`

	// (String) Valid values are virtualization.vminterface and dcim.interface. Required when interface_id is set.
	// Valid values are `virtualization.vminterface` and `dcim.interface`. Required when `interface_id` is set.
	// +kubebuilder:validation:Optional
	ObjectType *string `json:"objectType,omitempty" tf:"object_type,omitempty"`

	// (String) Valid values are loopback, secondary, anycast, vip, vrrp, hsrp, glbp and carp.
	// Valid values are `loopback`, `secondary`, `anycast`, `vip`, `vrrp`, `hsrp`, `glbp` and `carp`.
	// +kubebuilder:validation:Optional
	Role *string `json:"role,omitempty" tf:"role,omitempty"`

	// (String) Valid values are active, reserved, deprecated, dhcp and slaac.
	// Valid values are `active`, `reserved`, `deprecated`, `dhcp` and `slaac`.
	// +kubebuilder:validation:Optional
	Status *string `json:"status,omitempty" tf:"status,omitempty"`

	// (Set of String)
	// +kubebuilder:validation:Optional
	Tags []*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// (Number)
	// +kubebuilder:validation:Optional
	TenantID *float64 `json:"tenantId,omitempty" tf:"tenant_id,omitempty"`

	// (Number) Conflicts with interface_id and device_interface_id.
	// Conflicts with `interface_id` and `device_interface_id`.
	// +kubebuilder:validation:Optional
	VirtualMachineInterfaceID *float64 `json:"virtualMachineInterfaceId,omitempty" tf:"virtual_machine_interface_id,omitempty"`

	// (Number)
	// +kubebuilder:validation:Optional
	VrfID *float64 `json:"vrfId,omitempty" tf:"vrf_id,omitempty"`
}

func (*IPAddressParameters) DeepCopy

func (in *IPAddressParameters) DeepCopy() *IPAddressParameters

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

func (*IPAddressParameters) DeepCopyInto

func (in *IPAddressParameters) DeepCopyInto(out *IPAddressParameters)

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

type IPAddressSpec

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

IPAddressSpec defines the desired state of IPAddress

func (*IPAddressSpec) DeepCopy

func (in *IPAddressSpec) DeepCopy() *IPAddressSpec

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

func (*IPAddressSpec) DeepCopyInto

func (in *IPAddressSpec) DeepCopyInto(out *IPAddressSpec)

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

type IPAddressStatus

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

IPAddressStatus defines the observed state of IPAddress.

func (*IPAddressStatus) DeepCopy

func (in *IPAddressStatus) DeepCopy() *IPAddressStatus

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

func (*IPAddressStatus) DeepCopyInto

func (in *IPAddressStatus) DeepCopyInto(out *IPAddressStatus)

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

type NATOutsideAddressesInitParameters

type NATOutsideAddressesInitParameters struct {
}

func (*NATOutsideAddressesInitParameters) DeepCopy

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

func (*NATOutsideAddressesInitParameters) DeepCopyInto

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

type NATOutsideAddressesObservation

type NATOutsideAddressesObservation struct {

	// (Number)
	AddressFamily *float64 `json:"addressFamily,omitempty" tf:"address_family,omitempty"`

	// (String) The ID of this resource.
	ID *float64 `json:"id,omitempty" tf:"id,omitempty"`

	// (String)
	IPAddress *string `json:"ipAddress,omitempty" tf:"ip_address,omitempty"`
}

func (*NATOutsideAddressesObservation) DeepCopy

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

func (*NATOutsideAddressesObservation) DeepCopyInto

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

type NATOutsideAddressesParameters

type NATOutsideAddressesParameters struct {
}

func (*NATOutsideAddressesParameters) DeepCopy

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

func (*NATOutsideAddressesParameters) DeepCopyInto

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