Documentation ¶
Overview ¶
+groupName=device.equinixmetal.kubeform.com
Index ¶
- Variables
- func GetDecoder() map[string]jsoniter.ValDecoder
- func GetEncoder() map[string]jsoniter.ValEncoder
- func Kind(kind string) schema.GroupKind
- func Resource(resource string) schema.GroupResource
- type Device
- func (in *Device) DeepCopy() *Device
- func (in *Device) DeepCopyInto(out *Device)
- func (in *Device) DeepCopyObject() runtime.Object
- func (r *Device) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (r *Device) ValidateCreate() error
- func (r *Device) ValidateDelete() error
- func (r *Device) ValidateUpdate(old runtime.Object) error
- type DeviceList
- type DeviceSpec
- type DeviceSpecIpAddress
- type DeviceSpecNetwork
- type DeviceSpecPorts
- type DeviceSpecReinstall
- type DeviceSpecReinstallCodec
- type DeviceSpecResource
- type DeviceStatus
- type NetworkType
- func (in *NetworkType) DeepCopy() *NetworkType
- func (in *NetworkType) DeepCopyInto(out *NetworkType)
- func (in *NetworkType) DeepCopyObject() runtime.Object
- func (r *NetworkType) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (r *NetworkType) ValidateCreate() error
- func (r *NetworkType) ValidateDelete() error
- func (r *NetworkType) ValidateUpdate(old runtime.Object) error
- type NetworkTypeList
- type NetworkTypeSpec
- type NetworkTypeSpecResource
- type NetworkTypeStatus
Constants ¶
This section is empty.
Variables ¶
var ( // TODO: move SchemeBuilder with zz_generated.deepcopy.go to k8s.io/api. // localSchemeBuilder and AddToScheme will stay in k8s.io/kubernetes. SchemeBuilder runtime.SchemeBuilder AddToScheme = localSchemeBuilder.AddToScheme )
var SchemeGroupVersion = schema.GroupVersion{Group: device.GroupName, Version: "v1alpha1"}
Functions ¶
func GetDecoder ¶
func GetDecoder() map[string]jsoniter.ValDecoder
func GetEncoder ¶
func GetEncoder() map[string]jsoniter.ValEncoder
func Resource ¶
func Resource(resource string) schema.GroupResource
Resource takes an unqualified resource and returns a Group qualified GroupResource
Types ¶
type Device ¶
type Device struct { metav1.TypeMeta `json:",inline,omitempty"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec DeviceSpec `json:"spec,omitempty"` Status DeviceStatus `json:"status,omitempty"` }
func (*Device) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Device.
func (*Device) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Device) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*Device) SetupWebhookWithManager ¶
func (*Device) ValidateCreate ¶
ValidateCreate implements webhook.Validator so a webhook will be registered for the type
func (*Device) ValidateDelete ¶
ValidateDelete implements webhook.Validator so a webhook will be registered for the type
type DeviceList ¶
type DeviceList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` // Items is a list of Device CRD objects Items []Device `json:"items,omitempty"` }
DeviceList is a list of Devices
func (*DeviceList) DeepCopy ¶
func (in *DeviceList) DeepCopy() *DeviceList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeviceList.
func (*DeviceList) DeepCopyInto ¶
func (in *DeviceList) DeepCopyInto(out *DeviceList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DeviceList) DeepCopyObject ¶
func (in *DeviceList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type DeviceSpec ¶
type DeviceSpec struct { State *DeviceSpecResource `json:"state,omitempty" tf:"-"` Resource DeviceSpecResource `json:"resource" tf:"resource"` UpdatePolicy base.UpdatePolicy `json:"updatePolicy,omitempty" tf:"-"` TerminationPolicy base.TerminationPolicy `json:"terminationPolicy,omitempty" tf:"-"` ProviderRef core.LocalObjectReference `json:"providerRef" tf:"-"` SecretRef *core.LocalObjectReference `json:"secretRef,omitempty" tf:"-"` BackendRef *core.LocalObjectReference `json:"backendRef,omitempty" tf:"-"` }
func (*DeviceSpec) DeepCopy ¶
func (in *DeviceSpec) DeepCopy() *DeviceSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeviceSpec.
func (*DeviceSpec) DeepCopyInto ¶
func (in *DeviceSpec) DeepCopyInto(out *DeviceSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DeviceSpecIpAddress ¶
type DeviceSpecIpAddress struct { // CIDR suffix for IP block assigned to this device // +optional Cidr *int64 `json:"cidr,omitempty" tf:"cidr"` // IDs of reservations to pick the blocks from // +optional // +kubebuilder:validation:MinItems=1 ReservationIDS []string `json:"reservationIDS,omitempty" tf:"reservation_ids"` // one of public_ipv4,private_ipv4,public_ipv6 Type *string `json:"type" tf:"type"` }
func (*DeviceSpecIpAddress) DeepCopy ¶
func (in *DeviceSpecIpAddress) DeepCopy() *DeviceSpecIpAddress
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeviceSpecIpAddress.
func (*DeviceSpecIpAddress) DeepCopyInto ¶
func (in *DeviceSpecIpAddress) DeepCopyInto(out *DeviceSpecIpAddress)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DeviceSpecNetwork ¶
type DeviceSpecNetwork struct { // IPv4 or IPv6 address string // +optional Address *string `json:"address,omitempty" tf:"address"` // CIDR suffix for IP address block to be assigned, i.e. amount of addresses // +optional Cidr *int64 `json:"cidr,omitempty" tf:"cidr"` // IP version - "4" or "6" // +optional Family *int64 `json:"family,omitempty" tf:"family"` // Address of router // +optional Gateway *string `json:"gateway,omitempty" tf:"gateway"` // Whether the address is routable from the Internet // +optional Public *bool `json:"public,omitempty" tf:"public"` }
func (*DeviceSpecNetwork) DeepCopy ¶
func (in *DeviceSpecNetwork) DeepCopy() *DeviceSpecNetwork
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeviceSpecNetwork.
func (*DeviceSpecNetwork) DeepCopyInto ¶
func (in *DeviceSpecNetwork) DeepCopyInto(out *DeviceSpecNetwork)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DeviceSpecPorts ¶
type DeviceSpecPorts struct { // Whether this port is part of a bond in bonded network setup // +optional Bonded *bool `json:"bonded,omitempty" tf:"bonded"` // The ID of the device // +optional ID *string `json:"ID,omitempty" tf:"id"` // MAC address assigned to the port // +optional Mac *string `json:"mac,omitempty" tf:"mac"` // Name of the port (e.g. eth0, or bond0) // +optional Name *string `json:"name,omitempty" tf:"name"` // One of [private_ipv4, public_ipv4, public_ipv6] // +optional Type *string `json:"type,omitempty" tf:"type"` }
func (*DeviceSpecPorts) DeepCopy ¶
func (in *DeviceSpecPorts) DeepCopy() *DeviceSpecPorts
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeviceSpecPorts.
func (*DeviceSpecPorts) DeepCopyInto ¶
func (in *DeviceSpecPorts) DeepCopyInto(out *DeviceSpecPorts)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DeviceSpecReinstall ¶
type DeviceSpecReinstall struct { // Whether the OS disk should be filled with `00h` bytes before reinstall // +optional DeprovisionFast *bool `json:"deprovisionFast,omitempty" tf:"deprovision_fast"` // Whether the device should be reinstalled instead of destroyed // +optional Enabled *bool `json:"enabled,omitempty" tf:"enabled"` // Whether the non-OS disks should be kept or wiped during reinstall // +optional PreserveData *bool `json:"preserveData,omitempty" tf:"preserve_data"` }
func (*DeviceSpecReinstall) DeepCopy ¶
func (in *DeviceSpecReinstall) DeepCopy() *DeviceSpecReinstall
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeviceSpecReinstall.
func (*DeviceSpecReinstall) DeepCopyInto ¶
func (in *DeviceSpecReinstall) DeepCopyInto(out *DeviceSpecReinstall)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DeviceSpecReinstallCodec ¶
type DeviceSpecReinstallCodec struct { }
+k8s:deepcopy-gen=false
func (DeviceSpecReinstallCodec) Decode ¶
func (DeviceSpecReinstallCodec) Decode(ptr unsafe.Pointer, iter *jsoniter.Iterator)
type DeviceSpecResource ¶
type DeviceSpecResource struct { Timeouts *base.ResourceTimeout `json:"timeouts,omitempty" tf:"timeouts"` ID string `json:"id,omitempty" tf:"id,omitempty"` // The ipv4 private IP assigned to the device // +optional AccessPrivateIpv4 *string `json:"accessPrivateIpv4,omitempty" tf:"access_private_ipv4"` // The ipv4 maintenance IP assigned to the device // +optional AccessPublicIpv4 *string `json:"accessPublicIpv4,omitempty" tf:"access_public_ipv4"` // The ipv6 maintenance IP assigned to the device // +optional AccessPublicIpv6 *string `json:"accessPublicIpv6,omitempty" tf:"access_public_ipv6"` // If true, a device with OS custom_ipxe will // +optional AlwaysPxe *bool `json:"alwaysPxe,omitempty" tf:"always_pxe"` // monthly or hourly // +optional BillingCycle *string `json:"billingCycle,omitempty" tf:"billing_cycle"` // The timestamp for when the device was created // +optional Created *string `json:"created,omitempty" tf:"created"` // A string of the desired Custom Data for the device // +optional CustomData *string `json:"-" sensitive:"true" tf:"custom_data"` // The facility where the device is deployed // +optional DeployedFacility *string `json:"deployedFacility,omitempty" tf:"deployed_facility"` // ID of hardware reservation where this device was deployed. It is useful when using the next-available hardware reservation // +optional DeployedHardwareReservationID *string `json:"deployedHardwareReservationID,omitempty" tf:"deployed_hardware_reservation_id"` // Description string for the device // +optional Description *string `json:"description,omitempty" tf:"description"` // List of facility codes with deployment preferences. Equinix Metal API will go through the list and will deploy your device to first facility with free capacity. List items must be facility codes or any (a wildcard). To find the facility code, visit [Facilities API docs](https://metal.equinix.com/developers/api/facilities/), set your API auth token in the top of the page and see JSON from the API response. Conflicts with metro // +optional // +kubebuilder:validation:MinItems=1 Facilities []string `json:"facilities,omitempty" tf:"facilities"` // Delete device even if it has volumes attached. Only applies for destroy action // +optional ForceDetachVolumes *bool `json:"forceDetachVolumes,omitempty" tf:"force_detach_volumes"` // The UUID of the hardware reservation where you want this device deployed, or next-available if you want to pick your next available reservation automatically // +optional HardwareReservationID *string `json:"hardwareReservationID,omitempty" tf:"hardware_reservation_id"` // The device hostname used in deployments taking advantage of Layer3 DHCP or metadata service configuration. // +optional Hostname *string `json:"hostname,omitempty" tf:"hostname"` // A list of IP address types for the device (structure is documented below) // +optional // +kubebuilder:validation:MinItems=1 IpAddress []DeviceSpecIpAddress `json:"ipAddress,omitempty" tf:"ip_address"` // URL pointing to a hosted iPXE script. More // +optional IpxeScriptURL *string `json:"ipxeScriptURL,omitempty" tf:"ipxe_script_url"` // Whether the device is locked // +optional Locked *bool `json:"locked,omitempty" tf:"locked"` // Metro area for the new device. Conflicts with facilities // +optional Metro *string `json:"metro,omitempty" tf:"metro"` // The device's private and public IP (v4 and v6) network details. When a device is run without any special network configuration, it will have 3 addresses: public ipv4, private ipv4 and ipv6 // +optional Network []DeviceSpecNetwork `json:"network,omitempty" tf:"network"` // Network type of a device, used in [Layer 2 networking](https://metal.equinix.com/developers/docs/networking/layer2/). Will be one of layer3, hybrid, hybrid-bonded, layer2-individual, layer2-bonded // +optional // Deprecated NetworkType *string `json:"networkType,omitempty" tf:"network_type"` // The operating system slug. To find the slug, or visit [Operating Systems API docs](https://metal.equinix.com/developers/api/operatingsystems), set your API auth token in the top of the page and see JSON from the API response OperatingSystem *string `json:"operatingSystem" tf:"operating_system"` // The device plan slug. To find the plan slug, visit [Device plans API docs](https://metal.equinix.com/developers/api/plans), set your auth token in the top of the page and see JSON from the API response Plan *string `json:"plan" tf:"plan"` // Ports assigned to the device // +optional Ports []DeviceSpecPorts `json:"ports,omitempty" tf:"ports"` // The ID of the project in which to create the device ProjectID *string `json:"projectID" tf:"project_id"` // Array of IDs of the project SSH keys which should be added to the device. If you omit this, SSH keys of all the members of the parent project will be added to the device. If you specify this array, only the listed project SSH keys will be added. Project SSH keys can be created with the [metal_project_ssh_key](project_ssh_key.md) resource // +optional ProjectSSHKeyIDS []string `json:"projectSSHKeyIDS,omitempty" tf:"project_ssh_key_ids"` // +optional Reinstall *DeviceSpecReinstall `json:"reinstall,omitempty" tf:"reinstall"` // Root password to the server (disabled after 24 hours) // +optional RootPassword *string `json:"-" sensitive:"true" tf:"root_password"` // List of IDs of SSH keys deployed in the device, can be both user and project SSH keys // +optional SshKeyIDS []string `json:"sshKeyIDS,omitempty" tf:"ssh_key_ids"` // The status of the device // +optional State *string `json:"state,omitempty" tf:"state"` // JSON for custom partitioning. Only usable on reserved hardware. More information in in the [Custom Partitioning and RAID](https://metal.equinix.com/developers/docs/servers/custom-partitioning-raid/) doc // +optional Storage *string `json:"storage,omitempty" tf:"storage"` // Tags attached to the device // +optional Tags []string `json:"tags,omitempty" tf:"tags"` // Timestamp for device termination. For example "2021-09-03T16:32:00+03:00". If you don't supply timezone info, timestamp is assumed to be in UTC. // +optional TerminationTime *string `json:"terminationTime,omitempty" tf:"termination_time"` // The timestamp for the last time the device was updated // +optional Updated *string `json:"updated,omitempty" tf:"updated"` // A string of the desired User Data for the device // +optional UserData *string `json:"-" sensitive:"true" tf:"user_data"` // Only used for devices in reserved hardware. If set, the deletion of this device will block until the hardware reservation is marked provisionable (about 4 minutes in August 2019) // +optional WaitForReservationDeprovision *bool `json:"waitForReservationDeprovision,omitempty" tf:"wait_for_reservation_deprovision"` }
func (*DeviceSpecResource) DeepCopy ¶
func (in *DeviceSpecResource) DeepCopy() *DeviceSpecResource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeviceSpecResource.
func (*DeviceSpecResource) DeepCopyInto ¶
func (in *DeviceSpecResource) DeepCopyInto(out *DeviceSpecResource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DeviceStatus ¶
type DeviceStatus struct { // Resource generation, which is updated on mutation by the API Server. // +optional ObservedGeneration int64 `json:"observedGeneration,omitempty"` // +optional Phase status.Status `json:"phase,omitempty"` // +optional Conditions []kmapi.Condition `json:"conditions,omitempty"` }
func (*DeviceStatus) DeepCopy ¶
func (in *DeviceStatus) DeepCopy() *DeviceStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeviceStatus.
func (*DeviceStatus) DeepCopyInto ¶
func (in *DeviceStatus) DeepCopyInto(out *DeviceStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NetworkType ¶
type NetworkType struct { metav1.TypeMeta `json:",inline,omitempty"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec NetworkTypeSpec `json:"spec,omitempty"` Status NetworkTypeStatus `json:"status,omitempty"` }
func (*NetworkType) DeepCopy ¶
func (in *NetworkType) DeepCopy() *NetworkType
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkType.
func (*NetworkType) DeepCopyInto ¶
func (in *NetworkType) DeepCopyInto(out *NetworkType)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*NetworkType) DeepCopyObject ¶
func (in *NetworkType) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*NetworkType) SetupWebhookWithManager ¶
func (r *NetworkType) SetupWebhookWithManager(mgr ctrl.Manager) error
func (*NetworkType) ValidateCreate ¶
func (r *NetworkType) ValidateCreate() error
ValidateCreate implements webhook.Validator so a webhook will be registered for the type
func (*NetworkType) ValidateDelete ¶
func (r *NetworkType) ValidateDelete() error
ValidateDelete implements webhook.Validator so a webhook will be registered for the type
func (*NetworkType) ValidateUpdate ¶
func (r *NetworkType) ValidateUpdate(old runtime.Object) error
ValidateUpdate implements webhook.Validator so a webhook will be registered for the type
type NetworkTypeList ¶
type NetworkTypeList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` // Items is a list of NetworkType CRD objects Items []NetworkType `json:"items,omitempty"` }
NetworkTypeList is a list of NetworkTypes
func (*NetworkTypeList) DeepCopy ¶
func (in *NetworkTypeList) DeepCopy() *NetworkTypeList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkTypeList.
func (*NetworkTypeList) DeepCopyInto ¶
func (in *NetworkTypeList) DeepCopyInto(out *NetworkTypeList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*NetworkTypeList) DeepCopyObject ¶
func (in *NetworkTypeList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type NetworkTypeSpec ¶
type NetworkTypeSpec struct { State *NetworkTypeSpecResource `json:"state,omitempty" tf:"-"` Resource NetworkTypeSpecResource `json:"resource" tf:"resource"` UpdatePolicy base.UpdatePolicy `json:"updatePolicy,omitempty" tf:"-"` TerminationPolicy base.TerminationPolicy `json:"terminationPolicy,omitempty" tf:"-"` ProviderRef core.LocalObjectReference `json:"providerRef" tf:"-"` BackendRef *core.LocalObjectReference `json:"backendRef,omitempty" tf:"-"` }
func (*NetworkTypeSpec) DeepCopy ¶
func (in *NetworkTypeSpec) DeepCopy() *NetworkTypeSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkTypeSpec.
func (*NetworkTypeSpec) DeepCopyInto ¶
func (in *NetworkTypeSpec) DeepCopyInto(out *NetworkTypeSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NetworkTypeSpecResource ¶
type NetworkTypeSpecResource struct { ID string `json:"id,omitempty" tf:"id,omitempty"` // The ID of the device on which the network type should be set DeviceID *string `json:"deviceID" tf:"device_id"` // Network type to set. Must be one of layer3, hybrid, hybrid-bonded, layer2-individual, layer2-bonded Type *string `json:"type" tf:"type"` }
func (*NetworkTypeSpecResource) DeepCopy ¶
func (in *NetworkTypeSpecResource) DeepCopy() *NetworkTypeSpecResource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkTypeSpecResource.
func (*NetworkTypeSpecResource) DeepCopyInto ¶
func (in *NetworkTypeSpecResource) DeepCopyInto(out *NetworkTypeSpecResource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NetworkTypeStatus ¶
type NetworkTypeStatus struct { // Resource generation, which is updated on mutation by the API Server. // +optional ObservedGeneration int64 `json:"observedGeneration,omitempty"` // +optional Phase status.Status `json:"phase,omitempty"` // +optional Conditions []kmapi.Condition `json:"conditions,omitempty"` }
func (*NetworkTypeStatus) DeepCopy ¶
func (in *NetworkTypeStatus) DeepCopy() *NetworkTypeStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkTypeStatus.
func (*NetworkTypeStatus) DeepCopyInto ¶
func (in *NetworkTypeStatus) DeepCopyInto(out *NetworkTypeStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.