Documentation ¶
Overview ¶
+kubebuilder:object:generate=true +groupName=ipam.thibaultbustarret-ovhcloud.com +versionName=v1alpha1
Index ¶
- Constants
- Variables
- type IPAddress
- func (in *IPAddress) DeepCopy() *IPAddress
- func (in *IPAddress) DeepCopyInto(out *IPAddress)
- func (in *IPAddress) DeepCopyObject() runtime.Object
- func (mg *IPAddress) GetCondition(ct xpv1.ConditionType) xpv1.Condition
- func (tr *IPAddress) GetConnectionDetailsMapping() map[string]string
- func (mg *IPAddress) GetDeletionPolicy() xpv1.DeletionPolicy
- func (tr *IPAddress) GetID() string
- func (tr *IPAddress) GetInitParameters() (map[string]any, error)
- func (mg *IPAddress) GetManagementPolicies() xpv1.ManagementPolicies
- func (tr *IPAddress) GetObservation() (map[string]any, error)
- func (tr *IPAddress) GetParameters() (map[string]any, error)
- func (mg *IPAddress) GetProviderConfigReference() *xpv1.Reference
- func (mg *IPAddress) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo
- func (mg *IPAddress) GetTerraformResourceType() string
- func (tr *IPAddress) GetTerraformSchemaVersion() int
- func (mg *IPAddress) GetWriteConnectionSecretToReference() *xpv1.SecretReference
- func (tr *IPAddress) LateInitialize(attrs []byte) (bool, error)
- func (mg *IPAddress) ResolveReferences(ctx context.Context, c client.Reader) error
- func (mg *IPAddress) SetConditions(c ...xpv1.Condition)
- func (mg *IPAddress) SetDeletionPolicy(r xpv1.DeletionPolicy)
- func (mg *IPAddress) SetManagementPolicies(r xpv1.ManagementPolicies)
- func (tr *IPAddress) SetObservation(obs map[string]any) error
- func (tr *IPAddress) SetParameters(params map[string]any) error
- func (mg *IPAddress) SetProviderConfigReference(r *xpv1.Reference)
- func (mg *IPAddress) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)
- func (mg *IPAddress) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)
- type IPAddressInitParameters
- type IPAddressList
- type IPAddressObservation
- type IPAddressParameters
- type IPAddressSpec
- type IPAddressStatus
- type NATOutsideAddressesInitParameters
- type NATOutsideAddressesObservation
- type NATOutsideAddressesParameters
Constants ¶
const ( CRDGroup = "ipam.thibaultbustarret-ovhcloud.com" CRDVersion = "v1alpha1" )
Package type metadata.
Variables ¶
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 )
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPAddress.
func (*IPAddress) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*IPAddress) DeepCopyObject ¶
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 ¶
GetConnectionDetailsMapping for this IPAddress
func (*IPAddress) GetDeletionPolicy ¶
func (mg *IPAddress) GetDeletionPolicy() xpv1.DeletionPolicy
GetDeletionPolicy of this IPAddress.
func (*IPAddress) GetInitParameters ¶
GetInitParameters of this IPAddress
func (*IPAddress) GetManagementPolicies ¶
func (mg *IPAddress) GetManagementPolicies() xpv1.ManagementPolicies
GetManagementPolicies of this IPAddress.
func (*IPAddress) GetObservation ¶
GetObservation of this IPAddress
func (*IPAddress) GetParameters ¶
GetParameters of this IPAddress
func (*IPAddress) GetProviderConfigReference ¶
GetProviderConfigReference of this IPAddress.
func (*IPAddress) GetPublishConnectionDetailsTo ¶
func (mg *IPAddress) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo
GetPublishConnectionDetailsTo of this IPAddress.
func (*IPAddress) GetTerraformResourceType ¶
GetTerraformResourceType returns Terraform resource type for this IPAddress
func (*IPAddress) GetTerraformSchemaVersion ¶
GetTerraformSchemaVersion returns the associated Terraform schema version
func (*IPAddress) GetWriteConnectionSecretToReference ¶
func (mg *IPAddress) GetWriteConnectionSecretToReference() *xpv1.SecretReference
GetWriteConnectionSecretToReference of this IPAddress.
func (*IPAddress) LateInitialize ¶
LateInitialize this IPAddress using its observed tfState. returns True if there are any spec changes for the resource.
func (*IPAddress) ResolveReferences ¶
ResolveReferences of this IPAddress.
func (*IPAddress) SetConditions ¶
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 ¶
SetObservation for this IPAddress
func (*IPAddress) SetParameters ¶
SetParameters for this IPAddress
func (*IPAddress) SetProviderConfigReference ¶
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 ¶
func (in *IPAddressInitParameters) DeepCopy() *IPAddressInitParameters
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 ¶
func (in *IPAddressObservation) DeepCopy() *IPAddressObservation
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 ¶
func (in *NATOutsideAddressesInitParameters) DeepCopy() *NATOutsideAddressesInitParameters
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NATOutsideAddressesInitParameters.
func (*NATOutsideAddressesInitParameters) DeepCopyInto ¶
func (in *NATOutsideAddressesInitParameters) DeepCopyInto(out *NATOutsideAddressesInitParameters)
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 ¶
func (in *NATOutsideAddressesObservation) DeepCopy() *NATOutsideAddressesObservation
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NATOutsideAddressesObservation.
func (*NATOutsideAddressesObservation) DeepCopyInto ¶
func (in *NATOutsideAddressesObservation) DeepCopyInto(out *NATOutsideAddressesObservation)
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 ¶
func (in *NATOutsideAddressesParameters) DeepCopy() *NATOutsideAddressesParameters
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NATOutsideAddressesParameters.
func (*NATOutsideAddressesParameters) DeepCopyInto ¶
func (in *NATOutsideAddressesParameters) DeepCopyInto(out *NATOutsideAddressesParameters)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.