v1alpha1

package
v0.9.0 Latest Latest
Warning

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

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

Documentation

Overview

+kubebuilder:object:generate=true +groupName=metal.equinix.jet.crossplane.io +versionName=v1alpha1

Index

Constants

View Source
const (
	CRDGroup   = "metal.equinix.jet.crossplane.io"
	CRDVersion = "v1alpha1"
)

Package type metadata.

Variables

View Source
var (
	BGPSession_Kind             = "BGPSession"
	BGPSession_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: BGPSession_Kind}.String()
	BGPSession_KindAPIVersion   = BGPSession_Kind + "." + CRDGroupVersion.String()
	BGPSession_GroupVersionKind = CRDGroupVersion.WithKind(BGPSession_Kind)
)

Repository type metadata.

View Source
var (
	Connection_Kind             = "Connection"
	Connection_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: Connection_Kind}.String()
	Connection_KindAPIVersion   = Connection_Kind + "." + CRDGroupVersion.String()
	Connection_GroupVersionKind = CRDGroupVersion.WithKind(Connection_Kind)
)

Repository type metadata.

View Source
var (
	Device_Kind             = "Device"
	Device_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: Device_Kind}.String()
	Device_KindAPIVersion   = Device_Kind + "." + CRDGroupVersion.String()
	Device_GroupVersionKind = CRDGroupVersion.WithKind(Device_Kind)
)

Repository type metadata.

View Source
var (
	DeviceNetworkType_Kind             = "DeviceNetworkType"
	DeviceNetworkType_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: DeviceNetworkType_Kind}.String()
	DeviceNetworkType_KindAPIVersion   = DeviceNetworkType_Kind + "." + CRDGroupVersion.String()
	DeviceNetworkType_GroupVersionKind = CRDGroupVersion.WithKind(DeviceNetworkType_Kind)
)

Repository type metadata.

View Source
var (
	Gateway_Kind             = "Gateway"
	Gateway_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: Gateway_Kind}.String()
	Gateway_KindAPIVersion   = Gateway_Kind + "." + CRDGroupVersion.String()
	Gateway_GroupVersionKind = CRDGroupVersion.WithKind(Gateway_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
)
View Source
var (
	IPAttachment_Kind             = "IPAttachment"
	IPAttachment_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: IPAttachment_Kind}.String()
	IPAttachment_KindAPIVersion   = IPAttachment_Kind + "." + CRDGroupVersion.String()
	IPAttachment_GroupVersionKind = CRDGroupVersion.WithKind(IPAttachment_Kind)
)

Repository type metadata.

View Source
var (
	Organization_Kind             = "Organization"
	Organization_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: Organization_Kind}.String()
	Organization_KindAPIVersion   = Organization_Kind + "." + CRDGroupVersion.String()
	Organization_GroupVersionKind = CRDGroupVersion.WithKind(Organization_Kind)
)

Repository type metadata.

View Source
var (
	OrganizationMember_Kind             = "OrganizationMember"
	OrganizationMember_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: OrganizationMember_Kind}.String()
	OrganizationMember_KindAPIVersion   = OrganizationMember_Kind + "." + CRDGroupVersion.String()
	OrganizationMember_GroupVersionKind = CRDGroupVersion.WithKind(OrganizationMember_Kind)
)

Repository type metadata.

View Source
var (
	Port_Kind             = "Port"
	Port_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: Port_Kind}.String()
	Port_KindAPIVersion   = Port_Kind + "." + CRDGroupVersion.String()
	Port_GroupVersionKind = CRDGroupVersion.WithKind(Port_Kind)
)

Repository type metadata.

View Source
var (
	PortVlanAttachment_Kind             = "PortVlanAttachment"
	PortVlanAttachment_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: PortVlanAttachment_Kind}.String()
	PortVlanAttachment_KindAPIVersion   = PortVlanAttachment_Kind + "." + CRDGroupVersion.String()
	PortVlanAttachment_GroupVersionKind = CRDGroupVersion.WithKind(PortVlanAttachment_Kind)
)

Repository type metadata.

View Source
var (
	Project_Kind             = "Project"
	Project_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: Project_Kind}.String()
	Project_KindAPIVersion   = Project_Kind + "." + CRDGroupVersion.String()
	Project_GroupVersionKind = CRDGroupVersion.WithKind(Project_Kind)
)

Repository type metadata.

View Source
var (
	ProjectAPIKey_Kind             = "ProjectAPIKey"
	ProjectAPIKey_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: ProjectAPIKey_Kind}.String()
	ProjectAPIKey_KindAPIVersion   = ProjectAPIKey_Kind + "." + CRDGroupVersion.String()
	ProjectAPIKey_GroupVersionKind = CRDGroupVersion.WithKind(ProjectAPIKey_Kind)
)

Repository type metadata.

View Source
var (
	ProjectSSHKey_Kind             = "ProjectSSHKey"
	ProjectSSHKey_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: ProjectSSHKey_Kind}.String()
	ProjectSSHKey_KindAPIVersion   = ProjectSSHKey_Kind + "." + CRDGroupVersion.String()
	ProjectSSHKey_GroupVersionKind = CRDGroupVersion.WithKind(ProjectSSHKey_Kind)
)

Repository type metadata.

View Source
var (
	ReservedIPBlock_Kind             = "ReservedIPBlock"
	ReservedIPBlock_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: ReservedIPBlock_Kind}.String()
	ReservedIPBlock_KindAPIVersion   = ReservedIPBlock_Kind + "." + CRDGroupVersion.String()
	ReservedIPBlock_GroupVersionKind = CRDGroupVersion.WithKind(ReservedIPBlock_Kind)
)

Repository type metadata.

View Source
var (
	SpotMarketRequest_Kind             = "SpotMarketRequest"
	SpotMarketRequest_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: SpotMarketRequest_Kind}.String()
	SpotMarketRequest_KindAPIVersion   = SpotMarketRequest_Kind + "." + CRDGroupVersion.String()
	SpotMarketRequest_GroupVersionKind = CRDGroupVersion.WithKind(SpotMarketRequest_Kind)
)

Repository type metadata.

View Source
var (
	SSHKey_Kind             = "SSHKey"
	SSHKey_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: SSHKey_Kind}.String()
	SSHKey_KindAPIVersion   = SSHKey_Kind + "." + CRDGroupVersion.String()
	SSHKey_GroupVersionKind = CRDGroupVersion.WithKind(SSHKey_Kind)
)

Repository type metadata.

View Source
var (
	UserAPIKey_Kind             = "UserAPIKey"
	UserAPIKey_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: UserAPIKey_Kind}.String()
	UserAPIKey_KindAPIVersion   = UserAPIKey_Kind + "." + CRDGroupVersion.String()
	UserAPIKey_GroupVersionKind = CRDGroupVersion.WithKind(UserAPIKey_Kind)
)

Repository type metadata.

View Source
var (
	VirtualCircuit_Kind             = "VirtualCircuit"
	VirtualCircuit_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: VirtualCircuit_Kind}.String()
	VirtualCircuit_KindAPIVersion   = VirtualCircuit_Kind + "." + CRDGroupVersion.String()
	VirtualCircuit_GroupVersionKind = CRDGroupVersion.WithKind(VirtualCircuit_Kind)
)

Repository type metadata.

View Source
var (
	Vlan_Kind             = "Vlan"
	Vlan_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: Vlan_Kind}.String()
	Vlan_KindAPIVersion   = Vlan_Kind + "." + CRDGroupVersion.String()
	Vlan_GroupVersionKind = CRDGroupVersion.WithKind(Vlan_Kind)
)

Repository type metadata.

View Source
var (
	Vrf_Kind             = "Vrf"
	Vrf_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: Vrf_Kind}.String()
	Vrf_KindAPIVersion   = Vrf_Kind + "." + CRDGroupVersion.String()
	Vrf_GroupVersionKind = CRDGroupVersion.WithKind(Vrf_Kind)
)

Repository type metadata.

Functions

This section is empty.

Types

type AddressInitParameters added in v0.8.0

type AddressInitParameters struct {

	// Postal address.
	// Postal address
	Address *string `json:"address,omitempty" tf:"address,omitempty"`

	// City name.
	// City name
	City *string `json:"city,omitempty" tf:"city,omitempty"`

	// Two letter country code (ISO 3166-1 alpha-2), e.g. US.
	// Two letter country code (ISO 3166-1 alpha-2), e.g. US
	Country *string `json:"country,omitempty" tf:"country,omitempty"`

	// State name.
	// State name
	State *string `json:"state,omitempty" tf:"state,omitempty"`

	// Zip Code.
	// Zip Code
	ZipCode *string `json:"zipCode,omitempty" tf:"zip_code,omitempty"`
}

func (*AddressInitParameters) DeepCopy added in v0.8.0

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

func (*AddressInitParameters) DeepCopyInto added in v0.8.0

func (in *AddressInitParameters) DeepCopyInto(out *AddressInitParameters)

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

type AddressObservation

type AddressObservation struct {

	// Postal address.
	// Postal address
	Address *string `json:"address,omitempty" tf:"address,omitempty"`

	// City name.
	// City name
	City *string `json:"city,omitempty" tf:"city,omitempty"`

	// Two letter country code (ISO 3166-1 alpha-2), e.g. US.
	// Two letter country code (ISO 3166-1 alpha-2), e.g. US
	Country *string `json:"country,omitempty" tf:"country,omitempty"`

	// State name.
	// State name
	State *string `json:"state,omitempty" tf:"state,omitempty"`

	// Zip Code.
	// Zip Code
	ZipCode *string `json:"zipCode,omitempty" tf:"zip_code,omitempty"`
}

func (*AddressObservation) DeepCopy

func (in *AddressObservation) DeepCopy() *AddressObservation

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

func (*AddressObservation) DeepCopyInto

func (in *AddressObservation) DeepCopyInto(out *AddressObservation)

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

type AddressParameters

type AddressParameters struct {

	// Postal address.
	// Postal address
	// +kubebuilder:validation:Optional
	Address *string `json:"address" tf:"address,omitempty"`

	// City name.
	// City name
	// +kubebuilder:validation:Optional
	City *string `json:"city" tf:"city,omitempty"`

	// Two letter country code (ISO 3166-1 alpha-2), e.g. US.
	// Two letter country code (ISO 3166-1 alpha-2), e.g. US
	// +kubebuilder:validation:Optional
	Country *string `json:"country" tf:"country,omitempty"`

	// State name.
	// State name
	// +kubebuilder:validation:Optional
	State *string `json:"state,omitempty" tf:"state,omitempty"`

	// Zip Code.
	// Zip Code
	// +kubebuilder:validation:Optional
	ZipCode *string `json:"zipCode" tf:"zip_code,omitempty"`
}

func (*AddressParameters) DeepCopy

func (in *AddressParameters) DeepCopy() *AddressParameters

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

func (*AddressParameters) DeepCopyInto

func (in *AddressParameters) DeepCopyInto(out *AddressParameters)

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

type BGPConfigInitParameters added in v0.8.0

type BGPConfigInitParameters struct {

	// Autonomous System Number for local BGP deployment.
	// Autonomous System Number for local BGP deployment
	Asn *float64 `json:"asn,omitempty" tf:"asn,omitempty"`

	// local or global, the local is likely to be usable immediately, the global will need to be reviewed by Equinix Metal engineers.
	// The BGP deployment type, either 'local' or 'global'. The local is likely to be usable immediately, the global will need to be review by Equinix Metal engineers
	DeploymentType *string `json:"deploymentType,omitempty" tf:"deployment_type,omitempty"`

	// Password for BGP session in plaintext (not a checksum).
	// Password for BGP session in plaintext (not a checksum)
	Md5SecretRef *v1.SecretKeySelector `json:"md5SecretRef,omitempty" tf:"-"`
}

func (*BGPConfigInitParameters) DeepCopy added in v0.8.0

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

func (*BGPConfigInitParameters) DeepCopyInto added in v0.8.0

func (in *BGPConfigInitParameters) DeepCopyInto(out *BGPConfigInitParameters)

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

type BGPConfigObservation

type BGPConfigObservation struct {

	// Autonomous System Number for local BGP deployment.
	// Autonomous System Number for local BGP deployment
	Asn *float64 `json:"asn,omitempty" tf:"asn,omitempty"`

	// local or global, the local is likely to be usable immediately, the global will need to be reviewed by Equinix Metal engineers.
	// The BGP deployment type, either 'local' or 'global'. The local is likely to be usable immediately, the global will need to be review by Equinix Metal engineers
	DeploymentType *string `json:"deploymentType,omitempty" tf:"deployment_type,omitempty"`

	// The maximum number of route filters allowed per server.
	// The maximum number of route filters allowed per server
	MaxPrefix *float64 `json:"maxPrefix,omitempty" tf:"max_prefix,omitempty"`

	// status of BGP configuration in the project.
	// Status of BGP configuration in the project
	Status *string `json:"status,omitempty" tf:"status,omitempty"`
}

func (*BGPConfigObservation) DeepCopy

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

func (*BGPConfigObservation) DeepCopyInto

func (in *BGPConfigObservation) DeepCopyInto(out *BGPConfigObservation)

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

type BGPConfigParameters

type BGPConfigParameters struct {

	// Autonomous System Number for local BGP deployment.
	// Autonomous System Number for local BGP deployment
	// +kubebuilder:validation:Optional
	Asn *float64 `json:"asn" tf:"asn,omitempty"`

	// local or global, the local is likely to be usable immediately, the global will need to be reviewed by Equinix Metal engineers.
	// The BGP deployment type, either 'local' or 'global'. The local is likely to be usable immediately, the global will need to be review by Equinix Metal engineers
	// +kubebuilder:validation:Optional
	DeploymentType *string `json:"deploymentType" tf:"deployment_type,omitempty"`

	// Password for BGP session in plaintext (not a checksum).
	// Password for BGP session in plaintext (not a checksum)
	// +kubebuilder:validation:Optional
	Md5SecretRef *v1.SecretKeySelector `json:"md5SecretRef,omitempty" tf:"-"`
}

func (*BGPConfigParameters) DeepCopy

func (in *BGPConfigParameters) DeepCopy() *BGPConfigParameters

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

func (*BGPConfigParameters) DeepCopyInto

func (in *BGPConfigParameters) DeepCopyInto(out *BGPConfigParameters)

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

type BGPSession

type BGPSession 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.addressFamily) || (has(self.initProvider) && has(self.initProvider.addressFamily))",message="spec.forProvider.addressFamily is a required parameter"
	Spec   BGPSessionSpec   `json:"spec"`
	Status BGPSessionStatus `json:"status,omitempty"`
}

BGPSession is the Schema for the BGPSessions API. +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,equinix}

func (*BGPSession) DeepCopy

func (in *BGPSession) DeepCopy() *BGPSession

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

func (*BGPSession) DeepCopyInto

func (in *BGPSession) DeepCopyInto(out *BGPSession)

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

func (*BGPSession) DeepCopyObject

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

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

func (*BGPSession) GetCondition

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

GetCondition of this BGPSession.

func (*BGPSession) GetConnectionDetailsMapping

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

GetConnectionDetailsMapping for this BGPSession

func (*BGPSession) GetDeletionPolicy

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

GetDeletionPolicy of this BGPSession.

func (*BGPSession) GetID

func (tr *BGPSession) GetID() string

GetID returns ID of underlying Terraform resource of this BGPSession

func (*BGPSession) GetInitParameters added in v0.8.0

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

GetInitParameters of this BGPSession

func (*BGPSession) GetManagementPolicies added in v0.8.0

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

GetManagementPolicies of this BGPSession.

func (*BGPSession) GetMergedParameters added in v0.8.0

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

GetInitParameters of this BGPSession

func (*BGPSession) GetObservation

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

GetObservation of this BGPSession

func (*BGPSession) GetParameters

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

GetParameters of this BGPSession

func (*BGPSession) GetProviderConfigReference

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

GetProviderConfigReference of this BGPSession.

func (*BGPSession) GetPublishConnectionDetailsTo

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

GetPublishConnectionDetailsTo of this BGPSession.

func (*BGPSession) GetTerraformResourceType

func (mg *BGPSession) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this BGPSession

func (*BGPSession) GetTerraformSchemaVersion

func (tr *BGPSession) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*BGPSession) GetWriteConnectionSecretToReference

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

GetWriteConnectionSecretToReference of this BGPSession.

func (*BGPSession) Hub added in v0.8.0

func (tr *BGPSession) Hub()

Hub marks this type as a conversion hub.

func (*BGPSession) LateInitialize

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

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

func (*BGPSession) ResolveReferences

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

ResolveReferences of this BGPSession.

func (*BGPSession) SetConditions

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

SetConditions of this BGPSession.

func (*BGPSession) SetDeletionPolicy

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

SetDeletionPolicy of this BGPSession.

func (*BGPSession) SetManagementPolicies added in v0.8.0

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

SetManagementPolicies of this BGPSession.

func (*BGPSession) SetObservation

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

SetObservation for this BGPSession

func (*BGPSession) SetParameters

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

SetParameters for this BGPSession

func (*BGPSession) SetProviderConfigReference

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

SetProviderConfigReference of this BGPSession.

func (*BGPSession) SetPublishConnectionDetailsTo

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

SetPublishConnectionDetailsTo of this BGPSession.

func (*BGPSession) SetWriteConnectionSecretToReference

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

SetWriteConnectionSecretToReference of this BGPSession.

type BGPSessionInitParameters added in v0.8.0

type BGPSessionInitParameters struct {

	// ipv4 or ipv6.
	// ipv4 or ipv6
	AddressFamily *string `json:"addressFamily,omitempty" tf:"address_family,omitempty"`

	// Boolean flag to set the default route policy. False by default.
	// Boolean flag to set the default route policy. False by default
	DefaultRoute *bool `json:"defaultRoute,omitempty" tf:"default_route,omitempty"`

	// ID of device.
	// ID of device
	// +crossplane:generate:reference:type=github.com/crossplane-contrib/provider-jet-equinix/apis/metal/v1alpha1.Device
	DeviceID *string `json:"deviceId,omitempty" tf:"device_id,omitempty"`

	// Reference to a Device in metal to populate deviceId.
	// +kubebuilder:validation:Optional
	DeviceIDRef *v1.Reference `json:"deviceIdRef,omitempty" tf:"-"`

	// Selector for a Device in metal to populate deviceId.
	// +kubebuilder:validation:Optional
	DeviceIDSelector *v1.Selector `json:"deviceIdSelector,omitempty" tf:"-"`
}

func (*BGPSessionInitParameters) DeepCopy added in v0.8.0

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

func (*BGPSessionInitParameters) DeepCopyInto added in v0.8.0

func (in *BGPSessionInitParameters) DeepCopyInto(out *BGPSessionInitParameters)

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

type BGPSessionList

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

BGPSessionList contains a list of BGPSessions

func (*BGPSessionList) DeepCopy

func (in *BGPSessionList) DeepCopy() *BGPSessionList

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

func (*BGPSessionList) DeepCopyInto

func (in *BGPSessionList) DeepCopyInto(out *BGPSessionList)

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

func (*BGPSessionList) DeepCopyObject

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

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

func (*BGPSessionList) GetItems

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

GetItems of this BGPSessionList.

type BGPSessionObservation

type BGPSessionObservation struct {

	// ipv4 or ipv6.
	// ipv4 or ipv6
	AddressFamily *string `json:"addressFamily,omitempty" tf:"address_family,omitempty"`

	// Boolean flag to set the default route policy. False by default.
	// Boolean flag to set the default route policy. False by default
	DefaultRoute *bool `json:"defaultRoute,omitempty" tf:"default_route,omitempty"`

	// ID of device.
	// ID of device
	DeviceID *string `json:"deviceId,omitempty" tf:"device_id,omitempty"`

	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// up or down
	// Status of the session - up or down
	Status *string `json:"status,omitempty" tf:"status,omitempty"`
}

func (*BGPSessionObservation) DeepCopy

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

func (*BGPSessionObservation) DeepCopyInto

func (in *BGPSessionObservation) DeepCopyInto(out *BGPSessionObservation)

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

type BGPSessionParameters

type BGPSessionParameters struct {

	// ipv4 or ipv6.
	// ipv4 or ipv6
	// +kubebuilder:validation:Optional
	AddressFamily *string `json:"addressFamily,omitempty" tf:"address_family,omitempty"`

	// Boolean flag to set the default route policy. False by default.
	// Boolean flag to set the default route policy. False by default
	// +kubebuilder:validation:Optional
	DefaultRoute *bool `json:"defaultRoute,omitempty" tf:"default_route,omitempty"`

	// ID of device.
	// ID of device
	// +crossplane:generate:reference:type=github.com/crossplane-contrib/provider-jet-equinix/apis/metal/v1alpha1.Device
	// +kubebuilder:validation:Optional
	DeviceID *string `json:"deviceId,omitempty" tf:"device_id,omitempty"`

	// Reference to a Device in metal to populate deviceId.
	// +kubebuilder:validation:Optional
	DeviceIDRef *v1.Reference `json:"deviceIdRef,omitempty" tf:"-"`

	// Selector for a Device in metal to populate deviceId.
	// +kubebuilder:validation:Optional
	DeviceIDSelector *v1.Selector `json:"deviceIdSelector,omitempty" tf:"-"`
}

func (*BGPSessionParameters) DeepCopy

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

func (*BGPSessionParameters) DeepCopyInto

func (in *BGPSessionParameters) DeepCopyInto(out *BGPSessionParameters)

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

type BGPSessionSpec

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

BGPSessionSpec defines the desired state of BGPSession

func (*BGPSessionSpec) DeepCopy

func (in *BGPSessionSpec) DeepCopy() *BGPSessionSpec

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

func (*BGPSessionSpec) DeepCopyInto

func (in *BGPSessionSpec) DeepCopyInto(out *BGPSessionSpec)

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

type BGPSessionStatus

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

BGPSessionStatus defines the observed state of BGPSession.

func (*BGPSessionStatus) DeepCopy

func (in *BGPSessionStatus) DeepCopy() *BGPSessionStatus

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

func (*BGPSessionStatus) DeepCopyInto

func (in *BGPSessionStatus) DeepCopyInto(out *BGPSessionStatus)

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

type BehaviorInitParameters added in v0.8.0

type BehaviorInitParameters struct {

	// (List of String) List of attributes that are allowed to change without recreating the instance. Supported attributes: custom_data, user_data
	// List of attributes that are allowed to change without recreating the instance. Supported attributes: `custom_data`, `user_data`
	AllowChanges []*string `json:"allowChanges,omitempty" tf:"allow_changes,omitempty"`
}

func (*BehaviorInitParameters) DeepCopy added in v0.8.0

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

func (*BehaviorInitParameters) DeepCopyInto added in v0.8.0

func (in *BehaviorInitParameters) DeepCopyInto(out *BehaviorInitParameters)

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

type BehaviorObservation added in v0.5.0

type BehaviorObservation struct {

	// (List of String) List of attributes that are allowed to change without recreating the instance. Supported attributes: custom_data, user_data
	// List of attributes that are allowed to change without recreating the instance. Supported attributes: `custom_data`, `user_data`
	AllowChanges []*string `json:"allowChanges,omitempty" tf:"allow_changes,omitempty"`
}

func (*BehaviorObservation) DeepCopy added in v0.5.0

func (in *BehaviorObservation) DeepCopy() *BehaviorObservation

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

func (*BehaviorObservation) DeepCopyInto added in v0.5.0

func (in *BehaviorObservation) DeepCopyInto(out *BehaviorObservation)

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

type BehaviorParameters added in v0.5.0

type BehaviorParameters struct {

	// (List of String) List of attributes that are allowed to change without recreating the instance. Supported attributes: custom_data, user_data
	// List of attributes that are allowed to change without recreating the instance. Supported attributes: `custom_data`, `user_data`
	// +kubebuilder:validation:Optional
	AllowChanges []*string `json:"allowChanges,omitempty" tf:"allow_changes,omitempty"`
}

func (*BehaviorParameters) DeepCopy added in v0.5.0

func (in *BehaviorParameters) DeepCopy() *BehaviorParameters

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

func (*BehaviorParameters) DeepCopyInto added in v0.5.0

func (in *BehaviorParameters) DeepCopyInto(out *BehaviorParameters)

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

type Connection

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

Connection is the Schema for the Connections API. +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,equinix}

func (*Connection) DeepCopy

func (in *Connection) DeepCopy() *Connection

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

func (*Connection) DeepCopyInto

func (in *Connection) DeepCopyInto(out *Connection)

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

func (*Connection) DeepCopyObject

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

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

func (*Connection) GetCondition

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

GetCondition of this Connection.

func (*Connection) GetConnectionDetailsMapping

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

GetConnectionDetailsMapping for this Connection

func (*Connection) GetDeletionPolicy

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

GetDeletionPolicy of this Connection.

func (*Connection) GetID

func (tr *Connection) GetID() string

GetID returns ID of underlying Terraform resource of this Connection

func (*Connection) GetInitParameters added in v0.8.0

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

GetInitParameters of this Connection

func (*Connection) GetManagementPolicies added in v0.8.0

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

GetManagementPolicies of this Connection.

func (*Connection) GetMergedParameters added in v0.8.0

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

GetInitParameters of this Connection

func (*Connection) GetObservation

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

GetObservation of this Connection

func (*Connection) GetParameters

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

GetParameters of this Connection

func (*Connection) GetProviderConfigReference

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

GetProviderConfigReference of this Connection.

func (*Connection) GetPublishConnectionDetailsTo

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

GetPublishConnectionDetailsTo of this Connection.

func (*Connection) GetTerraformResourceType

func (mg *Connection) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this Connection

func (*Connection) GetTerraformSchemaVersion

func (tr *Connection) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*Connection) GetWriteConnectionSecretToReference

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

GetWriteConnectionSecretToReference of this Connection.

func (*Connection) Hub added in v0.8.0

func (tr *Connection) Hub()

Hub marks this type as a conversion hub.

func (*Connection) LateInitialize

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

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

func (*Connection) ResolveReferences

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

ResolveReferences of this Connection.

func (*Connection) SetConditions

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

SetConditions of this Connection.

func (*Connection) SetDeletionPolicy

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

SetDeletionPolicy of this Connection.

func (*Connection) SetManagementPolicies added in v0.8.0

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

SetManagementPolicies of this Connection.

func (*Connection) SetObservation

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

SetObservation for this Connection

func (*Connection) SetParameters

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

SetParameters for this Connection

func (*Connection) SetProviderConfigReference

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

SetProviderConfigReference of this Connection.

func (*Connection) SetPublishConnectionDetailsTo

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

SetPublishConnectionDetailsTo of this Connection.

func (*Connection) SetWriteConnectionSecretToReference

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

SetWriteConnectionSecretToReference of this Connection.

type ConnectionInitParameters added in v0.8.0

type ConnectionInitParameters struct {

	// The preferred email used for communication and notifications about the Equinix Fabric interconnection. Required when using a Project API key. Optional and defaults to the primary user email address when using a User API key.
	// The preferred email used for communication and notifications about the Equinix Fabric interconnection
	ContactEmail *string `json:"contactEmail,omitempty" tf:"contact_email,omitempty"`

	// Description for the connection resource.
	// Description of the connection resource
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// (Deprecated) Facility where the connection will be created. Use metro instead; read the facility to metro migration guide
	// Facility where the connection will be created
	Facility *string `json:"facility,omitempty" tf:"facility,omitempty"`

	// Metro where the connection will be created.
	// Metro where the connection will be created
	Metro *string `json:"metro,omitempty" tf:"metro,omitempty"`

	// Mode for connections in IBX facilities with the dedicated type - standard or tunnel. Default is standard.
	// Mode for connections in IBX facilities with the dedicated type - standard or tunnel
	Mode *string `json:"mode,omitempty" tf:"mode,omitempty"`

	// Name of the connection resource
	// Name of the connection resource
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// ID of the organization where the connection is scoped to.
	// ID of the organization responsible for the connection. Applicable with type "dedicated"
	// +crossplane:generate:reference:type=github.com/crossplane-contrib/provider-jet-equinix/apis/metal/v1alpha1.Organization
	OrganizationID *string `json:"organizationId,omitempty" tf:"organization_id,omitempty"`

	// Reference to a Organization in metal to populate organizationId.
	// +kubebuilder:validation:Optional
	OrganizationIDRef *v1.Reference `json:"organizationIdRef,omitempty" tf:"-"`

	// Selector for a Organization in metal to populate organizationId.
	// +kubebuilder:validation:Optional
	OrganizationIDSelector *v1.Selector `json:"organizationIdSelector,omitempty" tf:"-"`

	// ID of the project where the connection is scoped to, must be set for.
	// ID of the project where the connection is scoped to. Required with type "shared"
	// +crossplane:generate:reference:type=github.com/crossplane-contrib/provider-jet-equinix/apis/metal/v1alpha1.Project
	ProjectID *string `json:"projectId,omitempty" tf:"project_id,omitempty"`

	// Reference to a Project in metal to populate projectId.
	// +kubebuilder:validation:Optional
	ProjectIDRef *v1.Reference `json:"projectIdRef,omitempty" tf:"-"`

	// Selector for a Project in metal to populate projectId.
	// +kubebuilder:validation:Optional
	ProjectIDSelector *v1.Selector `json:"projectIdSelector,omitempty" tf:"-"`

	// Connection redundancy - redundant or primary.
	// Connection redundancy - redundant or primary
	Redundancy *string `json:"redundancy,omitempty" tf:"redundancy,omitempty"`

	// Only used with shared connection. Type of service token to use for the connection, a_side or z_side. Type of service token to use for the connection, a_side or z_side
	ServiceTokenType *string `json:"serviceTokenType,omitempty" tf:"service_token_type,omitempty"`

	// Connection speed - Values must be in the format 'Mbps' or 'Gpbs', for example '100Mbps' or '50Gbps'. Actual supported values will depend on the connection type and whether the connection uses VLANs or VRF.
	// Connection speed -  Values must be in the format '<number>Mbps' or '<number>Gpbs', for example '100Mbps' or '50Gbps'.  Actual supported values will depend on the connection type and whether the connection uses VLANs or VRF.
	Speed *string `json:"speed,omitempty" tf:"speed,omitempty"`

	// String list of tags.
	// Tags attached to the connection
	Tags []*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// Connection type - dedicated or shared.
	// Connection type - dedicated, shared or shared_port_vlan
	Type *string `json:"type,omitempty" tf:"type,omitempty"`

	// Only used with shared connection. Vlans to attach. Pass one vlan for Primary/Single connection and two vlans for Redundant connection.
	// Only used with shared connection. VLANs to attach. Pass one vlan for Primary/Single connection and two vlans for Redundant connection
	Vlans []*float64 `json:"vlans,omitempty" tf:"vlans,omitempty"`

	// Only used with shared connection. VRFs to attach. Pass one VRF for Primary/Single connection and two VRFs for Redundant connection
	Vrfs []*string `json:"vrfs,omitempty" tf:"vrfs,omitempty"`
}

func (*ConnectionInitParameters) DeepCopy added in v0.8.0

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

func (*ConnectionInitParameters) DeepCopyInto added in v0.8.0

func (in *ConnectionInitParameters) DeepCopyInto(out *ConnectionInitParameters)

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

type ConnectionList

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

ConnectionList contains a list of Connections

func (*ConnectionList) DeepCopy

func (in *ConnectionList) DeepCopy() *ConnectionList

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

func (*ConnectionList) DeepCopyInto

func (in *ConnectionList) DeepCopyInto(out *ConnectionList)

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

func (*ConnectionList) DeepCopyObject

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

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

func (*ConnectionList) GetItems

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

GetItems of this ConnectionList.

type ConnectionObservation

type ConnectionObservation struct {

	// Only used with Fabric Shared connection. Fabric uses this token to be able to give more detailed information about the Metal end of the network, when viewing resources from within Fabric.
	AuthorizationCode *string `json:"authorizationCode,omitempty" tf:"authorization_code,omitempty"`

	// The preferred email used for communication and notifications about the Equinix Fabric interconnection. Required when using a Project API key. Optional and defaults to the primary user email address when using a User API key.
	// The preferred email used for communication and notifications about the Equinix Fabric interconnection
	ContactEmail *string `json:"contactEmail,omitempty" tf:"contact_email,omitempty"`

	// Description for the connection resource.
	// Description of the connection resource
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// (Deprecated) Facility where the connection will be created. Use metro instead; read the facility to metro migration guide
	// Facility where the connection will be created
	Facility *string `json:"facility,omitempty" tf:"facility,omitempty"`

	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// Metro where the connection will be created.
	// Metro where the connection will be created
	Metro *string `json:"metro,omitempty" tf:"metro,omitempty"`

	// Mode for connections in IBX facilities with the dedicated type - standard or tunnel. Default is standard.
	// Mode for connections in IBX facilities with the dedicated type - standard or tunnel
	Mode *string `json:"mode,omitempty" tf:"mode,omitempty"`

	// Name of the connection resource
	// Name of the connection resource
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// ID of the organization where the connection is scoped to.
	// ID of the organization responsible for the connection. Applicable with type "dedicated"
	OrganizationID *string `json:"organizationId,omitempty" tf:"organization_id,omitempty"`

	// List of connection ports - primary (ports[0]) and secondary (ports[1]). Schema of port is described in documentation of the equinix_metal_connection datasource.
	// List of connection ports - primary (`ports[0]`) and secondary (`ports[1]`)
	Ports []PortsObservation `json:"ports,omitempty" tf:"ports,omitempty"`

	// ID of the project where the connection is scoped to, must be set for.
	// ID of the project where the connection is scoped to. Required with type "shared"
	ProjectID *string `json:"projectId,omitempty" tf:"project_id,omitempty"`

	// Connection redundancy - redundant or primary.
	// Connection redundancy - redundant or primary
	Redundancy *string `json:"redundancy,omitempty" tf:"redundancy,omitempty"`

	// Only used with shared connection. Type of service token to use for the connection, a_side or z_side. Type of service token to use for the connection, a_side or z_side
	ServiceTokenType *string `json:"serviceTokenType,omitempty" tf:"service_token_type,omitempty"`

	// List of connection service tokens with attributes required to configure the connection in Equinix Fabric with the equinix_fabric_connection resource or from the Equinix Fabric Portal. Scehma of service_token is described in documentation of the equinix_metal_connection datasource.
	// Only used with shared connection. List of service tokens required to continue the setup process with [equinix_fabric_connection](https://registry.io/providers/equinix/equinix/latest/docs/resources/fabric_connection) or from the [Equinix Fabric Portal](https://fabric.equinix.com/dashboard)
	ServiceTokens []ServiceTokensObservation `json:"serviceTokens,omitempty" tf:"service_tokens,omitempty"`

	// Connection speed - Values must be in the format 'Mbps' or 'Gpbs', for example '100Mbps' or '50Gbps'. Actual supported values will depend on the connection type and whether the connection uses VLANs or VRF.
	// Connection speed -  Values must be in the format '<number>Mbps' or '<number>Gpbs', for example '100Mbps' or '50Gbps'.  Actual supported values will depend on the connection type and whether the connection uses VLANs or VRF.
	Speed *string `json:"speed,omitempty" tf:"speed,omitempty"`

	// Status of the connection resource.
	// Status of the connection resource
	Status *string `json:"status,omitempty" tf:"status,omitempty"`

	// String list of tags.
	// Tags attached to the connection
	Tags []*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// (Deprecated) Fabric Token required to configure the connection in Equinix Fabric with the equinix_fabric_connection resource or from the Equinix Fabric Portal. If your organization already has connection service tokens enabled, use service_tokens instead.
	// Only used with shared connection. Fabric Token required to continue the setup process with [equinix_fabric_connection](https://registry.io/providers/equinix/equinix/latest/docs/resources/fabric_connection) or from the [Equinix Fabric Portal](https://fabric.equinix.com/dashboard)
	Token *string `json:"token,omitempty" tf:"token,omitempty"`

	// Connection type - dedicated or shared.
	// Connection type - dedicated, shared or shared_port_vlan
	Type *string `json:"type,omitempty" tf:"type,omitempty"`

	// Only used with shared connection. Vlans to attach. Pass one vlan for Primary/Single connection and two vlans for Redundant connection.
	// Only used with shared connection. VLANs to attach. Pass one vlan for Primary/Single connection and two vlans for Redundant connection
	Vlans []*float64 `json:"vlans,omitempty" tf:"vlans,omitempty"`

	// Only used with shared connection. VRFs to attach. Pass one VRF for Primary/Single connection and two VRFs for Redundant connection
	Vrfs []*string `json:"vrfs,omitempty" tf:"vrfs,omitempty"`
}

func (*ConnectionObservation) DeepCopy

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

func (*ConnectionObservation) DeepCopyInto

func (in *ConnectionObservation) DeepCopyInto(out *ConnectionObservation)

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

type ConnectionParameters

type ConnectionParameters struct {

	// The preferred email used for communication and notifications about the Equinix Fabric interconnection. Required when using a Project API key. Optional and defaults to the primary user email address when using a User API key.
	// The preferred email used for communication and notifications about the Equinix Fabric interconnection
	// +kubebuilder:validation:Optional
	ContactEmail *string `json:"contactEmail,omitempty" tf:"contact_email,omitempty"`

	// Description for the connection resource.
	// Description of the connection resource
	// +kubebuilder:validation:Optional
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// (Deprecated) Facility where the connection will be created. Use metro instead; read the facility to metro migration guide
	// Facility where the connection will be created
	// +kubebuilder:validation:Optional
	Facility *string `json:"facility,omitempty" tf:"facility,omitempty"`

	// Metro where the connection will be created.
	// Metro where the connection will be created
	// +kubebuilder:validation:Optional
	Metro *string `json:"metro,omitempty" tf:"metro,omitempty"`

	// Mode for connections in IBX facilities with the dedicated type - standard or tunnel. Default is standard.
	// Mode for connections in IBX facilities with the dedicated type - standard or tunnel
	// +kubebuilder:validation:Optional
	Mode *string `json:"mode,omitempty" tf:"mode,omitempty"`

	// Name of the connection resource
	// Name of the connection resource
	// +kubebuilder:validation:Optional
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// ID of the organization where the connection is scoped to.
	// ID of the organization responsible for the connection. Applicable with type "dedicated"
	// +crossplane:generate:reference:type=github.com/crossplane-contrib/provider-jet-equinix/apis/metal/v1alpha1.Organization
	// +kubebuilder:validation:Optional
	OrganizationID *string `json:"organizationId,omitempty" tf:"organization_id,omitempty"`

	// Reference to a Organization in metal to populate organizationId.
	// +kubebuilder:validation:Optional
	OrganizationIDRef *v1.Reference `json:"organizationIdRef,omitempty" tf:"-"`

	// Selector for a Organization in metal to populate organizationId.
	// +kubebuilder:validation:Optional
	OrganizationIDSelector *v1.Selector `json:"organizationIdSelector,omitempty" tf:"-"`

	// ID of the project where the connection is scoped to, must be set for.
	// ID of the project where the connection is scoped to. Required with type "shared"
	// +crossplane:generate:reference:type=github.com/crossplane-contrib/provider-jet-equinix/apis/metal/v1alpha1.Project
	// +kubebuilder:validation:Optional
	ProjectID *string `json:"projectId,omitempty" tf:"project_id,omitempty"`

	// Reference to a Project in metal to populate projectId.
	// +kubebuilder:validation:Optional
	ProjectIDRef *v1.Reference `json:"projectIdRef,omitempty" tf:"-"`

	// Selector for a Project in metal to populate projectId.
	// +kubebuilder:validation:Optional
	ProjectIDSelector *v1.Selector `json:"projectIdSelector,omitempty" tf:"-"`

	// Connection redundancy - redundant or primary.
	// Connection redundancy - redundant or primary
	// +kubebuilder:validation:Optional
	Redundancy *string `json:"redundancy,omitempty" tf:"redundancy,omitempty"`

	// Only used with shared connection. Type of service token to use for the connection, a_side or z_side. Type of service token to use for the connection, a_side or z_side
	// +kubebuilder:validation:Optional
	ServiceTokenType *string `json:"serviceTokenType,omitempty" tf:"service_token_type,omitempty"`

	// Connection speed - Values must be in the format 'Mbps' or 'Gpbs', for example '100Mbps' or '50Gbps'. Actual supported values will depend on the connection type and whether the connection uses VLANs or VRF.
	// Connection speed -  Values must be in the format '<number>Mbps' or '<number>Gpbs', for example '100Mbps' or '50Gbps'.  Actual supported values will depend on the connection type and whether the connection uses VLANs or VRF.
	// +kubebuilder:validation:Optional
	Speed *string `json:"speed,omitempty" tf:"speed,omitempty"`

	// String list of tags.
	// Tags attached to the connection
	// +kubebuilder:validation:Optional
	Tags []*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// Connection type - dedicated or shared.
	// Connection type - dedicated, shared or shared_port_vlan
	// +kubebuilder:validation:Optional
	Type *string `json:"type,omitempty" tf:"type,omitempty"`

	// Only used with shared connection. Vlans to attach. Pass one vlan for Primary/Single connection and two vlans for Redundant connection.
	// Only used with shared connection. VLANs to attach. Pass one vlan for Primary/Single connection and two vlans for Redundant connection
	// +kubebuilder:validation:Optional
	Vlans []*float64 `json:"vlans,omitempty" tf:"vlans,omitempty"`

	// Only used with shared connection. VRFs to attach. Pass one VRF for Primary/Single connection and two VRFs for Redundant connection
	// +kubebuilder:validation:Optional
	Vrfs []*string `json:"vrfs,omitempty" tf:"vrfs,omitempty"`
}

func (*ConnectionParameters) DeepCopy

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

func (*ConnectionParameters) DeepCopyInto

func (in *ConnectionParameters) DeepCopyInto(out *ConnectionParameters)

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

type ConnectionSpec

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

ConnectionSpec defines the desired state of Connection

func (*ConnectionSpec) DeepCopy

func (in *ConnectionSpec) DeepCopy() *ConnectionSpec

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

func (*ConnectionSpec) DeepCopyInto

func (in *ConnectionSpec) DeepCopyInto(out *ConnectionSpec)

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

type ConnectionStatus

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

ConnectionStatus defines the observed state of Connection.

func (*ConnectionStatus) DeepCopy

func (in *ConnectionStatus) DeepCopy() *ConnectionStatus

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

func (*ConnectionStatus) DeepCopyInto

func (in *ConnectionStatus) DeepCopyInto(out *ConnectionStatus)

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

type Device

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

Device is the Schema for the Devices API. +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,equinix}

func (*Device) DeepCopy

func (in *Device) DeepCopy() *Device

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

func (*Device) DeepCopyInto

func (in *Device) DeepCopyInto(out *Device)

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

func (*Device) DeepCopyObject

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

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

func (*Device) GetCondition

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

GetCondition of this Device.

func (*Device) GetConnectionDetailsMapping

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

GetConnectionDetailsMapping for this Device

func (*Device) GetDeletionPolicy

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

GetDeletionPolicy of this Device.

func (*Device) GetID

func (tr *Device) GetID() string

GetID returns ID of underlying Terraform resource of this Device

func (*Device) GetInitParameters added in v0.8.0

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

GetInitParameters of this Device

func (*Device) GetManagementPolicies added in v0.8.0

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

GetManagementPolicies of this Device.

func (*Device) GetMergedParameters added in v0.8.0

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

GetInitParameters of this Device

func (*Device) GetObservation

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

GetObservation of this Device

func (*Device) GetParameters

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

GetParameters of this Device

func (*Device) GetProviderConfigReference

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

GetProviderConfigReference of this Device.

func (*Device) GetPublishConnectionDetailsTo

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

GetPublishConnectionDetailsTo of this Device.

func (*Device) GetTerraformResourceType

func (mg *Device) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this Device

func (*Device) GetTerraformSchemaVersion

func (tr *Device) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*Device) GetWriteConnectionSecretToReference

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

GetWriteConnectionSecretToReference of this Device.

func (*Device) Hub added in v0.8.0

func (tr *Device) Hub()

Hub marks this type as a conversion hub.

func (*Device) LateInitialize

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

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

func (*Device) ResolveReferences

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

ResolveReferences of this Device.

func (*Device) SetConditions

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

SetConditions of this Device.

func (*Device) SetDeletionPolicy

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

SetDeletionPolicy of this Device.

func (*Device) SetManagementPolicies added in v0.8.0

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

SetManagementPolicies of this Device.

func (*Device) SetObservation

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

SetObservation for this Device

func (*Device) SetParameters

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

SetParameters for this Device

func (*Device) SetProviderConfigReference

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

SetProviderConfigReference of this Device.

func (*Device) SetPublishConnectionDetailsTo

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

SetPublishConnectionDetailsTo of this Device.

func (*Device) SetWriteConnectionSecretToReference

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

SetWriteConnectionSecretToReference of this Device.

type DeviceInitParameters added in v0.8.0

type DeviceInitParameters struct {

	// (Boolean) If true, a device with OS custom_ipxe will
	// If true, a device with OS custom_ipxe will
	AlwaysPxe *bool `json:"alwaysPxe,omitempty" tf:"always_pxe,omitempty"`

	// (Block List, Max: 1) (see below for nested schema)
	Behavior *BehaviorInitParameters `json:"behavior,omitempty" tf:"behavior,omitempty"`

	// (String) monthly or hourly
	// monthly or hourly
	BillingCycle *string `json:"billingCycle,omitempty" tf:"billing_cycle,omitempty"`

	// place instead of recreated.
	// A string of the desired Custom Data for the device.  By default, changing this attribute will cause the provider to destroy and recreate your device.  If `reinstall` is specified or `behavior.allow_changes` includes `"custom_data"`, the device will be updated in-place instead of recreated.
	CustomDataSecretRef *v1.SecretKeySelector `json:"customDataSecretRef,omitempty" tf:"-"`

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

	// (List of String, Deprecated) 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, set your API auth token in the top of the page and see JSON from the API response. Conflicts with metro
	// 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
	Facilities []*string `json:"facilities,omitempty" tf:"facilities,omitempty"`

	// (Boolean) Delete device even if it has volumes attached. Only applies for destroy action
	// Delete device even if it has volumes attached. Only applies for destroy action
	ForceDetachVolumes *bool `json:"forceDetachVolumes,omitempty" tf:"force_detach_volumes,omitempty"`

	// available if you want to pick your next available reservation automatically
	// 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
	HardwareReservationID *string `json:"hardwareReservationId,omitempty" tf:"hardware_reservation_id,omitempty"`

	// (String) The device hostname used in deployments taking advantage of Layer3 DHCP or metadata service configuration.
	// The device hostname used in deployments taking advantage of Layer3 DHCP or metadata service configuration.
	Hostname *string `json:"hostname,omitempty" tf:"hostname,omitempty"`

	// (Block List) A list of IP address types for the device (structure is documented below) (see below for nested schema)
	// A list of IP address types for the device (structure is documented below)
	IPAddress []IPAddressInitParameters `json:"ipAddress,omitempty" tf:"ip_address,omitempty"`

	// (String) URL pointing to a hosted iPXE script. More
	// URL pointing to a hosted iPXE script. More
	IpxeScriptURL *string `json:"ipxeScriptUrl,omitempty" tf:"ipxe_script_url,omitempty"`

	// (Boolean) Whether the device is locked or unlocked. Locking a device prevents you from deleting or reinstalling the device or performing a firmware update on the device, and it prevents an instance with a termination time set from being reclaimed, even if the termination time was reached
	// Whether the device is locked or unlocked. Locking a device prevents you from deleting or reinstalling the device or performing a firmware update on the device, and it prevents an instance with a termination time set from being reclaimed, even if the termination time was reached
	Locked *bool `json:"locked,omitempty" tf:"locked,omitempty"`

	// (String) Metro area for the new device. Conflicts with facilities
	// Metro area for the new device. Conflicts with facilities
	Metro *string `json:"metro,omitempty" tf:"metro,omitempty"`

	// place instead of recreated.
	// 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.  By default, changing this attribute will cause your device to be deleted and recreated.  If `reinstall` is enabled, the device will be updated in-place instead of recreated.
	OperatingSystem *string `json:"operatingSystem,omitempty" tf:"operating_system,omitempty"`

	// metal server and plan documentation
	// The device plan slug. To find the plan slug, visit the [bare-metal server](https://deploy.equinix.com/product/bare-metal/servers/) and [plan documentation](https://deploy.equinix.com/developers/docs/metal/hardware/standard-servers/)
	Plan *string `json:"plan,omitempty" tf:"plan,omitempty"`

	// (String) The ID of the project in which to create the device
	// The ID of the project in which to create the device
	// +crossplane:generate:reference:type=github.com/crossplane-contrib/provider-jet-equinix/apis/metal/v1alpha1.Project
	ProjectID *string `json:"projectId,omitempty" tf:"project_id,omitempty"`

	// Reference to a Project in metal to populate projectId.
	// +kubebuilder:validation:Optional
	ProjectIDRef *v1.Reference `json:"projectIdRef,omitempty" tf:"-"`

	// Selector for a Project in metal to populate projectId.
	// +kubebuilder:validation:Optional
	ProjectIDSelector *v1.Selector `json:"projectIdSelector,omitempty" tf:"-"`

	// (List of String) Array of IDs of the project SSH keys which should be added to the device. If you specify this array, only the listed project SSH keys (and any SSH keys for the users specified in user_ssh_key_ids) will be added. If no SSH keys are specified (both user_ssh_keys_ids and project_ssh_key_ids are empty lists or omitted), all parent project keys, parent project members keys and organization members keys will be included.  Project SSH keys can be created with the equinix_metal_project_ssh_key resource
	// Array of IDs of the project SSH keys which should be added to the device. If you specify this array, only the listed project SSH keys (and any SSH keys for the users specified in user_ssh_key_ids) will be added. If no SSH keys are specified (both user_ssh_keys_ids and project_ssh_key_ids are empty lists or omitted), all parent project keys, parent project members keys and organization members keys will be included.  Project SSH keys can be created with the [equinix_metal_project_ssh_key](equinix_metal_project_ssh_key.md) resource
	// +crossplane:generate:reference:type=github.com/crossplane-contrib/provider-jet-equinix/apis/metal/v1alpha1.ProjectSSHKey
	ProjectSSHKeyIds []*string `json:"projectSshKeyIds,omitempty" tf:"project_ssh_key_ids,omitempty"`

	// References to ProjectSSHKey in metal to populate projectSshKeyIds.
	// +kubebuilder:validation:Optional
	ProjectSSHKeyIdsRefs []v1.Reference `json:"projectSshKeyIdsRefs,omitempty" tf:"-"`

	// Selector for a list of ProjectSSHKey in metal to populate projectSshKeyIds.
	// +kubebuilder:validation:Optional
	ProjectSSHKeyIdsSelector *v1.Selector `json:"projectSshKeyIdsSelector,omitempty" tf:"-"`

	// (Block List, Max: 1) (see below for nested schema)
	Reinstall *ReinstallInitParameters `json:"reinstall,omitempty" tf:"reinstall,omitempty"`

	// (String) JSON for custom partitioning. Only usable on reserved hardware. More information in in the Custom Partitioning and RAID doc
	// 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
	Storage *string `json:"storage,omitempty" tf:"storage,omitempty"`

	// (List of String) Tags attached to the device
	// Tags attached to the device
	Tags []*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// 09-03T16:32:00+03:00". If you don't supply timezone info, timestamp is assumed to be in UTC.
	// 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.
	TerminationTime *string `json:"terminationTime,omitempty" tf:"termination_time,omitempty"`

	// place instead of recreated.
	// A string of the desired User Data for the device.  By default, changing this attribute will cause the provider to destroy and recreate your device.  If `reinstall` is specified or `behavior.allow_changes` includes `"user_data"`, the device will be updated in-place instead of recreated.
	UserDataSecretRef *v1.SecretKeySelector `json:"userDataSecretRef,omitempty" tf:"-"`

	// (List of String) Array of IDs of the users whose SSH keys should be added to the device. If you specify this array, only the listed users' SSH keys (and any project SSH keys specified in project_ssh_key_ids) will be added. If no SSH keys are specified (both user_ssh_keys_ids and project_ssh_key_ids are empty lists or omitted), all parent project keys, parent project members keys and organization members keys will be included. User SSH keys can be created with the equinix_metal_ssh_key resource
	// Array of IDs of the users whose SSH keys should be added to the device. If you specify this array, only the listed users' SSH keys (and any project SSH keys specified in project_ssh_key_ids) will be added. If no SSH keys are specified (both user_ssh_keys_ids and project_ssh_key_ids are empty lists or omitted), all parent project keys, parent project members keys and organization members keys will be included. User SSH keys can be created with the [equinix_metal_ssh_key](equinix_metal_ssh_key.md) resource
	// +crossplane:generate:reference:type=github.com/crossplane-contrib/provider-jet-equinix/apis/metal/v1alpha1.SSHKey
	UserSSHKeyIds []*string `json:"userSshKeyIds,omitempty" tf:"user_ssh_key_ids,omitempty"`

	// References to SSHKey in metal to populate userSshKeyIds.
	// +kubebuilder:validation:Optional
	UserSSHKeyIdsRefs []v1.Reference `json:"userSshKeyIdsRefs,omitempty" tf:"-"`

	// Selector for a list of SSHKey in metal to populate userSshKeyIds.
	// +kubebuilder:validation:Optional
	UserSSHKeyIdsSelector *v1.Selector `json:"userSshKeyIdsSelector,omitempty" tf:"-"`

	// (Boolean) 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)
	// 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)
	WaitForReservationDeprovision *bool `json:"waitForReservationDeprovision,omitempty" tf:"wait_for_reservation_deprovision,omitempty"`
}

func (*DeviceInitParameters) DeepCopy added in v0.8.0

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

func (*DeviceInitParameters) DeepCopyInto added in v0.8.0

func (in *DeviceInitParameters) DeepCopyInto(out *DeviceInitParameters)

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

type DeviceList

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

DeviceList contains 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.

func (*DeviceList) GetItems

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

GetItems of this DeviceList.

type DeviceNetworkType

type DeviceNetworkType 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.type) || (has(self.initProvider) && has(self.initProvider.type))",message="spec.forProvider.type is a required parameter"
	Spec   DeviceNetworkTypeSpec   `json:"spec"`
	Status DeviceNetworkTypeStatus `json:"status,omitempty"`
}

DeviceNetworkType is the Schema for the DeviceNetworkTypes API. <no value> +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,equinix}

func (*DeviceNetworkType) DeepCopy

func (in *DeviceNetworkType) DeepCopy() *DeviceNetworkType

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

func (*DeviceNetworkType) DeepCopyInto

func (in *DeviceNetworkType) DeepCopyInto(out *DeviceNetworkType)

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

func (*DeviceNetworkType) DeepCopyObject

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

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

func (*DeviceNetworkType) GetCondition

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

GetCondition of this DeviceNetworkType.

func (*DeviceNetworkType) GetConnectionDetailsMapping

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

GetConnectionDetailsMapping for this DeviceNetworkType

func (*DeviceNetworkType) GetDeletionPolicy

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

GetDeletionPolicy of this DeviceNetworkType.

func (*DeviceNetworkType) GetID

func (tr *DeviceNetworkType) GetID() string

GetID returns ID of underlying Terraform resource of this DeviceNetworkType

func (*DeviceNetworkType) GetInitParameters added in v0.8.0

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

GetInitParameters of this DeviceNetworkType

func (*DeviceNetworkType) GetManagementPolicies added in v0.8.0

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

GetManagementPolicies of this DeviceNetworkType.

func (*DeviceNetworkType) GetMergedParameters added in v0.8.0

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

GetInitParameters of this DeviceNetworkType

func (*DeviceNetworkType) GetObservation

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

GetObservation of this DeviceNetworkType

func (*DeviceNetworkType) GetParameters

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

GetParameters of this DeviceNetworkType

func (*DeviceNetworkType) GetProviderConfigReference

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

GetProviderConfigReference of this DeviceNetworkType.

func (*DeviceNetworkType) GetPublishConnectionDetailsTo

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

GetPublishConnectionDetailsTo of this DeviceNetworkType.

func (*DeviceNetworkType) GetTerraformResourceType

func (mg *DeviceNetworkType) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this DeviceNetworkType

func (*DeviceNetworkType) GetTerraformSchemaVersion

func (tr *DeviceNetworkType) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*DeviceNetworkType) GetWriteConnectionSecretToReference

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

GetWriteConnectionSecretToReference of this DeviceNetworkType.

func (*DeviceNetworkType) Hub added in v0.8.0

func (tr *DeviceNetworkType) Hub()

Hub marks this type as a conversion hub.

func (*DeviceNetworkType) LateInitialize

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

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

func (*DeviceNetworkType) ResolveReferences

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

ResolveReferences of this DeviceNetworkType.

func (*DeviceNetworkType) SetConditions

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

SetConditions of this DeviceNetworkType.

func (*DeviceNetworkType) SetDeletionPolicy

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

SetDeletionPolicy of this DeviceNetworkType.

func (*DeviceNetworkType) SetManagementPolicies added in v0.8.0

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

SetManagementPolicies of this DeviceNetworkType.

func (*DeviceNetworkType) SetObservation

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

SetObservation for this DeviceNetworkType

func (*DeviceNetworkType) SetParameters

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

SetParameters for this DeviceNetworkType

func (*DeviceNetworkType) SetProviderConfigReference

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

SetProviderConfigReference of this DeviceNetworkType.

func (*DeviceNetworkType) SetPublishConnectionDetailsTo

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

SetPublishConnectionDetailsTo of this DeviceNetworkType.

func (*DeviceNetworkType) SetWriteConnectionSecretToReference

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

SetWriteConnectionSecretToReference of this DeviceNetworkType.

type DeviceNetworkTypeInitParameters added in v0.8.0

type DeviceNetworkTypeInitParameters struct {

	// The ID of the device on which the network type should be set
	// +crossplane:generate:reference:type=github.com/crossplane-contrib/provider-jet-equinix/apis/metal/v1alpha1.Device
	DeviceID *string `json:"deviceId,omitempty" tf:"device_id,omitempty"`

	// Reference to a Device in metal to populate deviceId.
	// +kubebuilder:validation:Optional
	DeviceIDRef *v1.Reference `json:"deviceIdRef,omitempty" tf:"-"`

	// Selector for a Device in metal to populate deviceId.
	// +kubebuilder:validation:Optional
	DeviceIDSelector *v1.Selector `json:"deviceIdSelector,omitempty" tf:"-"`

	// Network type to set. Must be one of layer3, hybrid, hybrid-bonded, layer2-individual, layer2-bonded
	Type *string `json:"type,omitempty" tf:"type,omitempty"`
}

func (*DeviceNetworkTypeInitParameters) DeepCopy added in v0.8.0

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

func (*DeviceNetworkTypeInitParameters) DeepCopyInto added in v0.8.0

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

type DeviceNetworkTypeList

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

DeviceNetworkTypeList contains a list of DeviceNetworkTypes

func (*DeviceNetworkTypeList) DeepCopy

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

func (*DeviceNetworkTypeList) DeepCopyInto

func (in *DeviceNetworkTypeList) DeepCopyInto(out *DeviceNetworkTypeList)

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

func (*DeviceNetworkTypeList) DeepCopyObject

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

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

func (*DeviceNetworkTypeList) GetItems

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

GetItems of this DeviceNetworkTypeList.

type DeviceNetworkTypeObservation

type DeviceNetworkTypeObservation struct {

	// The ID of the device on which the network type should be set
	DeviceID *string `json:"deviceId,omitempty" tf:"device_id,omitempty"`

	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// Network type to set. Must be one of layer3, hybrid, hybrid-bonded, layer2-individual, layer2-bonded
	Type *string `json:"type,omitempty" tf:"type,omitempty"`
}

func (*DeviceNetworkTypeObservation) DeepCopy

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

func (*DeviceNetworkTypeObservation) DeepCopyInto

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

type DeviceNetworkTypeParameters

type DeviceNetworkTypeParameters struct {

	// The ID of the device on which the network type should be set
	// +crossplane:generate:reference:type=github.com/crossplane-contrib/provider-jet-equinix/apis/metal/v1alpha1.Device
	// +kubebuilder:validation:Optional
	DeviceID *string `json:"deviceId,omitempty" tf:"device_id,omitempty"`

	// Reference to a Device in metal to populate deviceId.
	// +kubebuilder:validation:Optional
	DeviceIDRef *v1.Reference `json:"deviceIdRef,omitempty" tf:"-"`

	// Selector for a Device in metal to populate deviceId.
	// +kubebuilder:validation:Optional
	DeviceIDSelector *v1.Selector `json:"deviceIdSelector,omitempty" tf:"-"`

	// Network type to set. Must be one of layer3, hybrid, hybrid-bonded, layer2-individual, layer2-bonded
	// +kubebuilder:validation:Optional
	Type *string `json:"type,omitempty" tf:"type,omitempty"`
}

func (*DeviceNetworkTypeParameters) DeepCopy

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

func (*DeviceNetworkTypeParameters) DeepCopyInto

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

type DeviceNetworkTypeSpec

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

DeviceNetworkTypeSpec defines the desired state of DeviceNetworkType

func (*DeviceNetworkTypeSpec) DeepCopy

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

func (*DeviceNetworkTypeSpec) DeepCopyInto

func (in *DeviceNetworkTypeSpec) DeepCopyInto(out *DeviceNetworkTypeSpec)

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

type DeviceNetworkTypeStatus

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

DeviceNetworkTypeStatus defines the observed state of DeviceNetworkType.

func (*DeviceNetworkTypeStatus) DeepCopy

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

func (*DeviceNetworkTypeStatus) DeepCopyInto

func (in *DeviceNetworkTypeStatus) DeepCopyInto(out *DeviceNetworkTypeStatus)

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

type DeviceObservation

type DeviceObservation struct {

	// (String) The ipv4 private IP assigned to the device
	// The ipv4 private IP assigned to the device
	AccessPrivateIPv4 *string `json:"accessPrivateIpv4,omitempty" tf:"access_private_ipv4,omitempty"`

	// (String) The ipv4 maintenance IP assigned to the device
	// The ipv4 maintenance IP assigned to the device
	AccessPublicIPv4 *string `json:"accessPublicIpv4,omitempty" tf:"access_public_ipv4,omitempty"`

	// (String) The ipv6 maintenance IP assigned to the device
	// The ipv6 maintenance IP assigned to the device
	AccessPublicIPv6 *string `json:"accessPublicIpv6,omitempty" tf:"access_public_ipv6,omitempty"`

	// (Boolean) If true, a device with OS custom_ipxe will
	// If true, a device with OS custom_ipxe will
	AlwaysPxe *bool `json:"alwaysPxe,omitempty" tf:"always_pxe,omitempty"`

	// (Block List, Max: 1) (see below for nested schema)
	Behavior *BehaviorObservation `json:"behavior,omitempty" tf:"behavior,omitempty"`

	// (String) monthly or hourly
	// monthly or hourly
	BillingCycle *string `json:"billingCycle,omitempty" tf:"billing_cycle,omitempty"`

	// (String) The timestamp for when the device was created
	// The timestamp for when the device was created
	Created *string `json:"created,omitempty" tf:"created,omitempty"`

	// (String, Deprecated) The facility where the device is deployed
	// The facility where the device is deployed
	DeployedFacility *string `json:"deployedFacility,omitempty" tf:"deployed_facility,omitempty"`

	// available hardware reservation
	// ID of hardware reservation where this device was deployed. It is useful when using the next-available hardware reservation
	DeployedHardwareReservationID *string `json:"deployedHardwareReservationId,omitempty" tf:"deployed_hardware_reservation_id,omitempty"`

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

	// (List of String, Deprecated) 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, set your API auth token in the top of the page and see JSON from the API response. Conflicts with metro
	// 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
	Facilities []*string `json:"facilities,omitempty" tf:"facilities,omitempty"`

	// (Boolean) Delete device even if it has volumes attached. Only applies for destroy action
	// Delete device even if it has volumes attached. Only applies for destroy action
	ForceDetachVolumes *bool `json:"forceDetachVolumes,omitempty" tf:"force_detach_volumes,omitempty"`

	// available if you want to pick your next available reservation automatically
	// 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
	HardwareReservationID *string `json:"hardwareReservationId,omitempty" tf:"hardware_reservation_id,omitempty"`

	// (String) The device hostname used in deployments taking advantage of Layer3 DHCP or metadata service configuration.
	// The device hostname used in deployments taking advantage of Layer3 DHCP or metadata service configuration.
	Hostname *string `json:"hostname,omitempty" tf:"hostname,omitempty"`

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

	// (Block List) A list of IP address types for the device (structure is documented below) (see below for nested schema)
	// A list of IP address types for the device (structure is documented below)
	IPAddress []IPAddressObservation `json:"ipAddress,omitempty" tf:"ip_address,omitempty"`

	// (String) URL pointing to a hosted iPXE script. More
	// URL pointing to a hosted iPXE script. More
	IpxeScriptURL *string `json:"ipxeScriptUrl,omitempty" tf:"ipxe_script_url,omitempty"`

	// (Boolean) Whether the device is locked or unlocked. Locking a device prevents you from deleting or reinstalling the device or performing a firmware update on the device, and it prevents an instance with a termination time set from being reclaimed, even if the termination time was reached
	// Whether the device is locked or unlocked. Locking a device prevents you from deleting or reinstalling the device or performing a firmware update on the device, and it prevents an instance with a termination time set from being reclaimed, even if the termination time was reached
	Locked *bool `json:"locked,omitempty" tf:"locked,omitempty"`

	// (String) Metro area for the new device. Conflicts with facilities
	// Metro area for the new device. Conflicts with facilities
	Metro *string `json:"metro,omitempty" tf:"metro,omitempty"`

	// (List of Object) 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 (see below for nested schema)
	// 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
	Network []NetworkObservation `json:"network,omitempty" tf:"network,omitempty"`

	// bonded, layer2-individual, layer2-bonded
	// 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
	NetworkType *string `json:"networkType,omitempty" tf:"network_type,omitempty"`

	// place instead of recreated.
	// 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.  By default, changing this attribute will cause your device to be deleted and recreated.  If `reinstall` is enabled, the device will be updated in-place instead of recreated.
	OperatingSystem *string `json:"operatingSystem,omitempty" tf:"operating_system,omitempty"`

	// metal server and plan documentation
	// The device plan slug. To find the plan slug, visit the [bare-metal server](https://deploy.equinix.com/product/bare-metal/servers/) and [plan documentation](https://deploy.equinix.com/developers/docs/metal/hardware/standard-servers/)
	Plan *string `json:"plan,omitempty" tf:"plan,omitempty"`

	// (List of Object) Ports assigned to the device (see below for nested schema)
	// Ports assigned to the device
	Ports []DevicePortsObservation `json:"ports,omitempty" tf:"ports,omitempty"`

	// (String) The ID of the project in which to create the device
	// The ID of the project in which to create the device
	ProjectID *string `json:"projectId,omitempty" tf:"project_id,omitempty"`

	// (List of String) Array of IDs of the project SSH keys which should be added to the device. If you specify this array, only the listed project SSH keys (and any SSH keys for the users specified in user_ssh_key_ids) will be added. If no SSH keys are specified (both user_ssh_keys_ids and project_ssh_key_ids are empty lists or omitted), all parent project keys, parent project members keys and organization members keys will be included.  Project SSH keys can be created with the equinix_metal_project_ssh_key resource
	// Array of IDs of the project SSH keys which should be added to the device. If you specify this array, only the listed project SSH keys (and any SSH keys for the users specified in user_ssh_key_ids) will be added. If no SSH keys are specified (both user_ssh_keys_ids and project_ssh_key_ids are empty lists or omitted), all parent project keys, parent project members keys and organization members keys will be included.  Project SSH keys can be created with the [equinix_metal_project_ssh_key](equinix_metal_project_ssh_key.md) resource
	ProjectSSHKeyIds []*string `json:"projectSshKeyIds,omitempty" tf:"project_ssh_key_ids,omitempty"`

	// (Block List, Max: 1) (see below for nested schema)
	Reinstall *ReinstallObservation `json:"reinstall,omitempty" tf:"reinstall,omitempty"`

	// (List of String) List of IDs of SSH keys deployed in the device, can be both user and project SSH keys
	// List of IDs of SSH keys deployed in the device, can be both user and project SSH keys
	SSHKeyIds []*string `json:"sshKeyIds,omitempty" tf:"ssh_key_ids,omitempty"`

	// (String) The hostname to use for Serial over SSH access to the device
	// The hostname to use for [Serial over SSH](https://deploy.equinix.com/developers/docs/metal/resilience-recovery/serial-over-ssh/) access to the device
	SosHostname *string `json:"sosHostname,omitempty" tf:"sos_hostname,omitempty"`

	// (String) The status of the device
	// The status of the device
	State *string `json:"state,omitempty" tf:"state,omitempty"`

	// (String) JSON for custom partitioning. Only usable on reserved hardware. More information in in the Custom Partitioning and RAID doc
	// 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
	Storage *string `json:"storage,omitempty" tf:"storage,omitempty"`

	// (List of String) Tags attached to the device
	// Tags attached to the device
	Tags []*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// 09-03T16:32:00+03:00". If you don't supply timezone info, timestamp is assumed to be in UTC.
	// 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.
	TerminationTime *string `json:"terminationTime,omitempty" tf:"termination_time,omitempty"`

	// (String) The timestamp for the last time the device was updated
	// The timestamp for the last time the device was updated
	Updated *string `json:"updated,omitempty" tf:"updated,omitempty"`

	// (List of String) Array of IDs of the users whose SSH keys should be added to the device. If you specify this array, only the listed users' SSH keys (and any project SSH keys specified in project_ssh_key_ids) will be added. If no SSH keys are specified (both user_ssh_keys_ids and project_ssh_key_ids are empty lists or omitted), all parent project keys, parent project members keys and organization members keys will be included. User SSH keys can be created with the equinix_metal_ssh_key resource
	// Array of IDs of the users whose SSH keys should be added to the device. If you specify this array, only the listed users' SSH keys (and any project SSH keys specified in project_ssh_key_ids) will be added. If no SSH keys are specified (both user_ssh_keys_ids and project_ssh_key_ids are empty lists or omitted), all parent project keys, parent project members keys and organization members keys will be included. User SSH keys can be created with the [equinix_metal_ssh_key](equinix_metal_ssh_key.md) resource
	UserSSHKeyIds []*string `json:"userSshKeyIds,omitempty" tf:"user_ssh_key_ids,omitempty"`

	// (Boolean) 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)
	// 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)
	WaitForReservationDeprovision *bool `json:"waitForReservationDeprovision,omitempty" tf:"wait_for_reservation_deprovision,omitempty"`
}

func (*DeviceObservation) DeepCopy

func (in *DeviceObservation) DeepCopy() *DeviceObservation

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

func (*DeviceObservation) DeepCopyInto

func (in *DeviceObservation) DeepCopyInto(out *DeviceObservation)

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

type DeviceParameters

type DeviceParameters struct {

	// (Boolean) If true, a device with OS custom_ipxe will
	// If true, a device with OS custom_ipxe will
	// +kubebuilder:validation:Optional
	AlwaysPxe *bool `json:"alwaysPxe,omitempty" tf:"always_pxe,omitempty"`

	// (Block List, Max: 1) (see below for nested schema)
	// +kubebuilder:validation:Optional
	Behavior *BehaviorParameters `json:"behavior,omitempty" tf:"behavior,omitempty"`

	// (String) monthly or hourly
	// monthly or hourly
	// +kubebuilder:validation:Optional
	BillingCycle *string `json:"billingCycle,omitempty" tf:"billing_cycle,omitempty"`

	// place instead of recreated.
	// A string of the desired Custom Data for the device.  By default, changing this attribute will cause the provider to destroy and recreate your device.  If `reinstall` is specified or `behavior.allow_changes` includes `"custom_data"`, the device will be updated in-place instead of recreated.
	// +kubebuilder:validation:Optional
	CustomDataSecretRef *v1.SecretKeySelector `json:"customDataSecretRef,omitempty" tf:"-"`

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

	// (List of String, Deprecated) 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, set your API auth token in the top of the page and see JSON from the API response. Conflicts with metro
	// 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
	// +kubebuilder:validation:Optional
	Facilities []*string `json:"facilities,omitempty" tf:"facilities,omitempty"`

	// (Boolean) Delete device even if it has volumes attached. Only applies for destroy action
	// Delete device even if it has volumes attached. Only applies for destroy action
	// +kubebuilder:validation:Optional
	ForceDetachVolumes *bool `json:"forceDetachVolumes,omitempty" tf:"force_detach_volumes,omitempty"`

	// available if you want to pick your next available reservation automatically
	// 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
	// +kubebuilder:validation:Optional
	HardwareReservationID *string `json:"hardwareReservationId,omitempty" tf:"hardware_reservation_id,omitempty"`

	// (String) The device hostname used in deployments taking advantage of Layer3 DHCP or metadata service configuration.
	// The device hostname used in deployments taking advantage of Layer3 DHCP or metadata service configuration.
	// +kubebuilder:validation:Optional
	Hostname *string `json:"hostname,omitempty" tf:"hostname,omitempty"`

	// (Block List) A list of IP address types for the device (structure is documented below) (see below for nested schema)
	// A list of IP address types for the device (structure is documented below)
	// +kubebuilder:validation:Optional
	IPAddress []IPAddressParameters `json:"ipAddress,omitempty" tf:"ip_address,omitempty"`

	// (String) URL pointing to a hosted iPXE script. More
	// URL pointing to a hosted iPXE script. More
	// +kubebuilder:validation:Optional
	IpxeScriptURL *string `json:"ipxeScriptUrl,omitempty" tf:"ipxe_script_url,omitempty"`

	// (Boolean) Whether the device is locked or unlocked. Locking a device prevents you from deleting or reinstalling the device or performing a firmware update on the device, and it prevents an instance with a termination time set from being reclaimed, even if the termination time was reached
	// Whether the device is locked or unlocked. Locking a device prevents you from deleting or reinstalling the device or performing a firmware update on the device, and it prevents an instance with a termination time set from being reclaimed, even if the termination time was reached
	// +kubebuilder:validation:Optional
	Locked *bool `json:"locked,omitempty" tf:"locked,omitempty"`

	// (String) Metro area for the new device. Conflicts with facilities
	// Metro area for the new device. Conflicts with facilities
	// +kubebuilder:validation:Optional
	Metro *string `json:"metro,omitempty" tf:"metro,omitempty"`

	// place instead of recreated.
	// 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.  By default, changing this attribute will cause your device to be deleted and recreated.  If `reinstall` is enabled, the device will be updated in-place instead of recreated.
	// +kubebuilder:validation:Optional
	OperatingSystem *string `json:"operatingSystem,omitempty" tf:"operating_system,omitempty"`

	// metal server and plan documentation
	// The device plan slug. To find the plan slug, visit the [bare-metal server](https://deploy.equinix.com/product/bare-metal/servers/) and [plan documentation](https://deploy.equinix.com/developers/docs/metal/hardware/standard-servers/)
	// +kubebuilder:validation:Optional
	Plan *string `json:"plan,omitempty" tf:"plan,omitempty"`

	// (String) The ID of the project in which to create the device
	// The ID of the project in which to create the device
	// +crossplane:generate:reference:type=github.com/crossplane-contrib/provider-jet-equinix/apis/metal/v1alpha1.Project
	// +kubebuilder:validation:Optional
	ProjectID *string `json:"projectId,omitempty" tf:"project_id,omitempty"`

	// Reference to a Project in metal to populate projectId.
	// +kubebuilder:validation:Optional
	ProjectIDRef *v1.Reference `json:"projectIdRef,omitempty" tf:"-"`

	// Selector for a Project in metal to populate projectId.
	// +kubebuilder:validation:Optional
	ProjectIDSelector *v1.Selector `json:"projectIdSelector,omitempty" tf:"-"`

	// (List of String) Array of IDs of the project SSH keys which should be added to the device. If you specify this array, only the listed project SSH keys (and any SSH keys for the users specified in user_ssh_key_ids) will be added. If no SSH keys are specified (both user_ssh_keys_ids and project_ssh_key_ids are empty lists or omitted), all parent project keys, parent project members keys and organization members keys will be included.  Project SSH keys can be created with the equinix_metal_project_ssh_key resource
	// Array of IDs of the project SSH keys which should be added to the device. If you specify this array, only the listed project SSH keys (and any SSH keys for the users specified in user_ssh_key_ids) will be added. If no SSH keys are specified (both user_ssh_keys_ids and project_ssh_key_ids are empty lists or omitted), all parent project keys, parent project members keys and organization members keys will be included.  Project SSH keys can be created with the [equinix_metal_project_ssh_key](equinix_metal_project_ssh_key.md) resource
	// +crossplane:generate:reference:type=github.com/crossplane-contrib/provider-jet-equinix/apis/metal/v1alpha1.ProjectSSHKey
	// +kubebuilder:validation:Optional
	ProjectSSHKeyIds []*string `json:"projectSshKeyIds,omitempty" tf:"project_ssh_key_ids,omitempty"`

	// References to ProjectSSHKey in metal to populate projectSshKeyIds.
	// +kubebuilder:validation:Optional
	ProjectSSHKeyIdsRefs []v1.Reference `json:"projectSshKeyIdsRefs,omitempty" tf:"-"`

	// Selector for a list of ProjectSSHKey in metal to populate projectSshKeyIds.
	// +kubebuilder:validation:Optional
	ProjectSSHKeyIdsSelector *v1.Selector `json:"projectSshKeyIdsSelector,omitempty" tf:"-"`

	// (Block List, Max: 1) (see below for nested schema)
	// +kubebuilder:validation:Optional
	Reinstall *ReinstallParameters `json:"reinstall,omitempty" tf:"reinstall,omitempty"`

	// (String) JSON for custom partitioning. Only usable on reserved hardware. More information in in the Custom Partitioning and RAID doc
	// 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
	// +kubebuilder:validation:Optional
	Storage *string `json:"storage,omitempty" tf:"storage,omitempty"`

	// (List of String) Tags attached to the device
	// Tags attached to the device
	// +kubebuilder:validation:Optional
	Tags []*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// 09-03T16:32:00+03:00". If you don't supply timezone info, timestamp is assumed to be in UTC.
	// 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.
	// +kubebuilder:validation:Optional
	TerminationTime *string `json:"terminationTime,omitempty" tf:"termination_time,omitempty"`

	// place instead of recreated.
	// A string of the desired User Data for the device.  By default, changing this attribute will cause the provider to destroy and recreate your device.  If `reinstall` is specified or `behavior.allow_changes` includes `"user_data"`, the device will be updated in-place instead of recreated.
	// +kubebuilder:validation:Optional
	UserDataSecretRef *v1.SecretKeySelector `json:"userDataSecretRef,omitempty" tf:"-"`

	// (List of String) Array of IDs of the users whose SSH keys should be added to the device. If you specify this array, only the listed users' SSH keys (and any project SSH keys specified in project_ssh_key_ids) will be added. If no SSH keys are specified (both user_ssh_keys_ids and project_ssh_key_ids are empty lists or omitted), all parent project keys, parent project members keys and organization members keys will be included. User SSH keys can be created with the equinix_metal_ssh_key resource
	// Array of IDs of the users whose SSH keys should be added to the device. If you specify this array, only the listed users' SSH keys (and any project SSH keys specified in project_ssh_key_ids) will be added. If no SSH keys are specified (both user_ssh_keys_ids and project_ssh_key_ids are empty lists or omitted), all parent project keys, parent project members keys and organization members keys will be included. User SSH keys can be created with the [equinix_metal_ssh_key](equinix_metal_ssh_key.md) resource
	// +crossplane:generate:reference:type=github.com/crossplane-contrib/provider-jet-equinix/apis/metal/v1alpha1.SSHKey
	// +kubebuilder:validation:Optional
	UserSSHKeyIds []*string `json:"userSshKeyIds,omitempty" tf:"user_ssh_key_ids,omitempty"`

	// References to SSHKey in metal to populate userSshKeyIds.
	// +kubebuilder:validation:Optional
	UserSSHKeyIdsRefs []v1.Reference `json:"userSshKeyIdsRefs,omitempty" tf:"-"`

	// Selector for a list of SSHKey in metal to populate userSshKeyIds.
	// +kubebuilder:validation:Optional
	UserSSHKeyIdsSelector *v1.Selector `json:"userSshKeyIdsSelector,omitempty" tf:"-"`

	// (Boolean) 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)
	// 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)
	// +kubebuilder:validation:Optional
	WaitForReservationDeprovision *bool `json:"waitForReservationDeprovision,omitempty" tf:"wait_for_reservation_deprovision,omitempty"`
}

func (*DeviceParameters) DeepCopy

func (in *DeviceParameters) DeepCopy() *DeviceParameters

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

func (*DeviceParameters) DeepCopyInto

func (in *DeviceParameters) DeepCopyInto(out *DeviceParameters)

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

type DevicePortsInitParameters added in v0.8.0

type DevicePortsInitParameters struct {
}

func (*DevicePortsInitParameters) DeepCopy added in v0.8.0

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

func (*DevicePortsInitParameters) DeepCopyInto added in v0.8.0

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

type DevicePortsObservation

type DevicePortsObservation struct {

	// (Boolean)
	Bonded *bool `json:"bonded,omitempty" tf:"bonded,omitempty"`

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

	// (String)
	Mac *string `json:"mac,omitempty" tf:"mac,omitempty"`

	// (String)
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// (String) one of public_ipv4,private_ipv4,public_ipv6
	Type *string `json:"type,omitempty" tf:"type,omitempty"`
}

func (*DevicePortsObservation) DeepCopy

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

func (*DevicePortsObservation) DeepCopyInto

func (in *DevicePortsObservation) DeepCopyInto(out *DevicePortsObservation)

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

type DevicePortsParameters

type DevicePortsParameters struct {
}

func (*DevicePortsParameters) DeepCopy

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

func (*DevicePortsParameters) DeepCopyInto

func (in *DevicePortsParameters) DeepCopyInto(out *DevicePortsParameters)

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

type DeviceSpec

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

DeviceSpec defines the desired state of Device

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 DeviceStatus

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

DeviceStatus defines the observed state of Device.

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 Gateway

type Gateway struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              GatewaySpec   `json:"spec"`
	Status            GatewayStatus `json:"status,omitempty"`
}

Gateway is the Schema for the Gateways API. +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,equinix}

func (*Gateway) DeepCopy

func (in *Gateway) DeepCopy() *Gateway

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

func (*Gateway) DeepCopyInto

func (in *Gateway) DeepCopyInto(out *Gateway)

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

func (*Gateway) DeepCopyObject

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

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

func (*Gateway) GetCondition

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

GetCondition of this Gateway.

func (*Gateway) GetConnectionDetailsMapping

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

GetConnectionDetailsMapping for this Gateway

func (*Gateway) GetDeletionPolicy

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

GetDeletionPolicy of this Gateway.

func (*Gateway) GetID

func (tr *Gateway) GetID() string

GetID returns ID of underlying Terraform resource of this Gateway

func (*Gateway) GetInitParameters added in v0.8.0

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

GetInitParameters of this Gateway

func (*Gateway) GetManagementPolicies added in v0.8.0

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

GetManagementPolicies of this Gateway.

func (*Gateway) GetMergedParameters added in v0.8.0

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

GetInitParameters of this Gateway

func (*Gateway) GetObservation

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

GetObservation of this Gateway

func (*Gateway) GetParameters

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

GetParameters of this Gateway

func (*Gateway) GetProviderConfigReference

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

GetProviderConfigReference of this Gateway.

func (*Gateway) GetPublishConnectionDetailsTo

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

GetPublishConnectionDetailsTo of this Gateway.

func (*Gateway) GetTerraformResourceType

func (mg *Gateway) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this Gateway

func (*Gateway) GetTerraformSchemaVersion

func (tr *Gateway) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*Gateway) GetWriteConnectionSecretToReference

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

GetWriteConnectionSecretToReference of this Gateway.

func (*Gateway) Hub added in v0.8.0

func (tr *Gateway) Hub()

Hub marks this type as a conversion hub.

func (*Gateway) LateInitialize

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

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

func (*Gateway) ResolveReferences

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

ResolveReferences of this Gateway.

func (*Gateway) SetConditions

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

SetConditions of this Gateway.

func (*Gateway) SetDeletionPolicy

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

SetDeletionPolicy of this Gateway.

func (*Gateway) SetManagementPolicies added in v0.8.0

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

SetManagementPolicies of this Gateway.

func (*Gateway) SetObservation

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

SetObservation for this Gateway

func (*Gateway) SetParameters

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

SetParameters for this Gateway

func (*Gateway) SetProviderConfigReference

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

SetProviderConfigReference of this Gateway.

func (*Gateway) SetPublishConnectionDetailsTo

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

SetPublishConnectionDetailsTo of this Gateway.

func (*Gateway) SetWriteConnectionSecretToReference

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

SetWriteConnectionSecretToReference of this Gateway.

type GatewayInitParameters added in v0.8.0

type GatewayInitParameters struct {

	// UUID of Public or VRF IP Reservation to associate with the gateway, the reservation must be in the same metro as the VLAN, conflicts with private_ipv4_subnet_size.
	// UUID of the Public or VRF IP Reservation to associate
	// +crossplane:generate:reference:type=github.com/crossplane-contrib/provider-jet-equinix/apis/metal/v1alpha1.ReservedIPBlock
	IPReservationID *string `json:"ipReservationId,omitempty" tf:"ip_reservation_id,omitempty"`

	// Reference to a ReservedIPBlock in metal to populate ipReservationId.
	// +kubebuilder:validation:Optional
	IPReservationIDRef *v1.Reference `json:"ipReservationIdRef,omitempty" tf:"-"`

	// Selector for a ReservedIPBlock in metal to populate ipReservationId.
	// +kubebuilder:validation:Optional
	IPReservationIDSelector *v1.Selector `json:"ipReservationIdSelector,omitempty" tf:"-"`

	// Size of the private IPv4 subnet to create for this metal gateway, must be one of 8, 16, 32, 64, 128. Conflicts with ip_reservation_id.
	// Size of the private IPv4 subnet to create for this gateway
	PrivateIPv4SubnetSize *float64 `json:"privateIpv4SubnetSize,omitempty" tf:"private_ipv4_subnet_size,omitempty"`

	// UUID of the project where the gateway is scoped to.
	// UUID of the Project where the Gateway is scoped to
	// +crossplane:generate:reference:type=github.com/crossplane-contrib/provider-jet-equinix/apis/metal/v1alpha1.Project
	ProjectID *string `json:"projectId,omitempty" tf:"project_id,omitempty"`

	// Reference to a Project in metal to populate projectId.
	// +kubebuilder:validation:Optional
	ProjectIDRef *v1.Reference `json:"projectIdRef,omitempty" tf:"-"`

	// Selector for a Project in metal to populate projectId.
	// +kubebuilder:validation:Optional
	ProjectIDSelector *v1.Selector `json:"projectIdSelector,omitempty" tf:"-"`

	// UUID of the VLAN where the gateway is scoped to.
	// UUID of the VLAN to associate
	// +crossplane:generate:reference:type=github.com/crossplane-contrib/provider-jet-equinix/apis/metal/v1alpha1.Vlan
	VlanID *string `json:"vlanId,omitempty" tf:"vlan_id,omitempty"`

	// Reference to a Vlan in metal to populate vlanId.
	// +kubebuilder:validation:Optional
	VlanIDRef *v1.Reference `json:"vlanIdRef,omitempty" tf:"-"`

	// Selector for a Vlan in metal to populate vlanId.
	// +kubebuilder:validation:Optional
	VlanIDSelector *v1.Selector `json:"vlanIdSelector,omitempty" tf:"-"`
}

func (*GatewayInitParameters) DeepCopy added in v0.8.0

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

func (*GatewayInitParameters) DeepCopyInto added in v0.8.0

func (in *GatewayInitParameters) DeepCopyInto(out *GatewayInitParameters)

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

type GatewayList

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

GatewayList contains a list of Gateways

func (*GatewayList) DeepCopy

func (in *GatewayList) DeepCopy() *GatewayList

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

func (*GatewayList) DeepCopyInto

func (in *GatewayList) DeepCopyInto(out *GatewayList)

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

func (*GatewayList) DeepCopyObject

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

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

func (*GatewayList) GetItems

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

GetItems of this GatewayList.

type GatewayObservation

type GatewayObservation struct {
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// UUID of Public or VRF IP Reservation to associate with the gateway, the reservation must be in the same metro as the VLAN, conflicts with private_ipv4_subnet_size.
	// UUID of the Public or VRF IP Reservation to associate
	IPReservationID *string `json:"ipReservationId,omitempty" tf:"ip_reservation_id,omitempty"`

	// Size of the private IPv4 subnet to create for this metal gateway, must be one of 8, 16, 32, 64, 128. Conflicts with ip_reservation_id.
	// Size of the private IPv4 subnet to create for this gateway
	PrivateIPv4SubnetSize *float64 `json:"privateIpv4SubnetSize,omitempty" tf:"private_ipv4_subnet_size,omitempty"`

	// UUID of the project where the gateway is scoped to.
	// UUID of the Project where the Gateway is scoped to
	ProjectID *string `json:"projectId,omitempty" tf:"project_id,omitempty"`

	// Status of the gateway resource.
	// Status of the gateway resource
	State *string `json:"state,omitempty" tf:"state,omitempty"`

	// UUID of the VLAN where the gateway is scoped to.
	// UUID of the VLAN to associate
	VlanID *string `json:"vlanId,omitempty" tf:"vlan_id,omitempty"`

	// UUID of the VRF associated with the IP Reservation
	// UUID of the VRF associated with the IP Reservation
	VrfID *string `json:"vrfId,omitempty" tf:"vrf_id,omitempty"`
}

func (*GatewayObservation) DeepCopy

func (in *GatewayObservation) DeepCopy() *GatewayObservation

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

func (*GatewayObservation) DeepCopyInto

func (in *GatewayObservation) DeepCopyInto(out *GatewayObservation)

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

type GatewayParameters

type GatewayParameters struct {

	// UUID of Public or VRF IP Reservation to associate with the gateway, the reservation must be in the same metro as the VLAN, conflicts with private_ipv4_subnet_size.
	// UUID of the Public or VRF IP Reservation to associate
	// +crossplane:generate:reference:type=github.com/crossplane-contrib/provider-jet-equinix/apis/metal/v1alpha1.ReservedIPBlock
	// +kubebuilder:validation:Optional
	IPReservationID *string `json:"ipReservationId,omitempty" tf:"ip_reservation_id,omitempty"`

	// Reference to a ReservedIPBlock in metal to populate ipReservationId.
	// +kubebuilder:validation:Optional
	IPReservationIDRef *v1.Reference `json:"ipReservationIdRef,omitempty" tf:"-"`

	// Selector for a ReservedIPBlock in metal to populate ipReservationId.
	// +kubebuilder:validation:Optional
	IPReservationIDSelector *v1.Selector `json:"ipReservationIdSelector,omitempty" tf:"-"`

	// Size of the private IPv4 subnet to create for this metal gateway, must be one of 8, 16, 32, 64, 128. Conflicts with ip_reservation_id.
	// Size of the private IPv4 subnet to create for this gateway
	// +kubebuilder:validation:Optional
	PrivateIPv4SubnetSize *float64 `json:"privateIpv4SubnetSize,omitempty" tf:"private_ipv4_subnet_size,omitempty"`

	// UUID of the project where the gateway is scoped to.
	// UUID of the Project where the Gateway is scoped to
	// +crossplane:generate:reference:type=github.com/crossplane-contrib/provider-jet-equinix/apis/metal/v1alpha1.Project
	// +kubebuilder:validation:Optional
	ProjectID *string `json:"projectId,omitempty" tf:"project_id,omitempty"`

	// Reference to a Project in metal to populate projectId.
	// +kubebuilder:validation:Optional
	ProjectIDRef *v1.Reference `json:"projectIdRef,omitempty" tf:"-"`

	// Selector for a Project in metal to populate projectId.
	// +kubebuilder:validation:Optional
	ProjectIDSelector *v1.Selector `json:"projectIdSelector,omitempty" tf:"-"`

	// UUID of the VLAN where the gateway is scoped to.
	// UUID of the VLAN to associate
	// +crossplane:generate:reference:type=github.com/crossplane-contrib/provider-jet-equinix/apis/metal/v1alpha1.Vlan
	// +kubebuilder:validation:Optional
	VlanID *string `json:"vlanId,omitempty" tf:"vlan_id,omitempty"`

	// Reference to a Vlan in metal to populate vlanId.
	// +kubebuilder:validation:Optional
	VlanIDRef *v1.Reference `json:"vlanIdRef,omitempty" tf:"-"`

	// Selector for a Vlan in metal to populate vlanId.
	// +kubebuilder:validation:Optional
	VlanIDSelector *v1.Selector `json:"vlanIdSelector,omitempty" tf:"-"`
}

func (*GatewayParameters) DeepCopy

func (in *GatewayParameters) DeepCopy() *GatewayParameters

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

func (*GatewayParameters) DeepCopyInto

func (in *GatewayParameters) DeepCopyInto(out *GatewayParameters)

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

type GatewaySpec

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

GatewaySpec defines the desired state of Gateway

func (*GatewaySpec) DeepCopy

func (in *GatewaySpec) DeepCopy() *GatewaySpec

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

func (*GatewaySpec) DeepCopyInto

func (in *GatewaySpec) DeepCopyInto(out *GatewaySpec)

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

type GatewayStatus

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

GatewayStatus defines the observed state of Gateway.

func (*GatewayStatus) DeepCopy

func (in *GatewayStatus) DeepCopy() *GatewayStatus

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

func (*GatewayStatus) DeepCopyInto

func (in *GatewayStatus) DeepCopyInto(out *GatewayStatus)

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

type IPAddressInitParameters added in v0.8.0

type IPAddressInitParameters struct {

	// (Number) CIDR suffix for IP block assigned to this device
	// CIDR suffix for IP block assigned to this device
	Cidr *float64 `json:"cidr,omitempty" tf:"cidr,omitempty"`

	// (List of String) IDs of reservations to pick the blocks from
	// IDs of reservations to pick the blocks from
	ReservationIds []*string `json:"reservationIds,omitempty" tf:"reservation_ids,omitempty"`

	// (String) one of public_ipv4,private_ipv4,public_ipv6
	// one of public_ipv4,private_ipv4,public_ipv6
	Type *string `json:"type,omitempty" tf:"type,omitempty"`
}

func (*IPAddressInitParameters) DeepCopy added in v0.8.0

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

func (*IPAddressInitParameters) DeepCopyInto added in v0.8.0

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

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

type IPAddressObservation

type IPAddressObservation struct {

	// (Number) CIDR suffix for IP block assigned to this device
	// CIDR suffix for IP block assigned to this device
	Cidr *float64 `json:"cidr,omitempty" tf:"cidr,omitempty"`

	// (List of String) IDs of reservations to pick the blocks from
	// IDs of reservations to pick the blocks from
	ReservationIds []*string `json:"reservationIds,omitempty" tf:"reservation_ids,omitempty"`

	// (String) one of public_ipv4,private_ipv4,public_ipv6
	// one of public_ipv4,private_ipv4,public_ipv6
	Type *string `json:"type,omitempty" tf:"type,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 {

	// (Number) CIDR suffix for IP block assigned to this device
	// CIDR suffix for IP block assigned to this device
	// +kubebuilder:validation:Optional
	Cidr *float64 `json:"cidr,omitempty" tf:"cidr,omitempty"`

	// (List of String) IDs of reservations to pick the blocks from
	// IDs of reservations to pick the blocks from
	// +kubebuilder:validation:Optional
	ReservationIds []*string `json:"reservationIds,omitempty" tf:"reservation_ids,omitempty"`

	// (String) one of public_ipv4,private_ipv4,public_ipv6
	// one of public_ipv4,private_ipv4,public_ipv6
	// +kubebuilder:validation:Optional
	Type *string `json:"type" tf:"type,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 IPAttachment

type IPAttachment 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.cidrNotation) || (has(self.initProvider) && has(self.initProvider.cidrNotation))",message="spec.forProvider.cidrNotation is a required parameter"
	Spec   IPAttachmentSpec   `json:"spec"`
	Status IPAttachmentStatus `json:"status,omitempty"`
}

IPAttachment is the Schema for the IPAttachments API. +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,equinix}

func (*IPAttachment) DeepCopy

func (in *IPAttachment) DeepCopy() *IPAttachment

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

func (*IPAttachment) DeepCopyInto

func (in *IPAttachment) DeepCopyInto(out *IPAttachment)

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

func (*IPAttachment) DeepCopyObject

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

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

func (*IPAttachment) GetCondition

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

GetCondition of this IPAttachment.

func (*IPAttachment) GetConnectionDetailsMapping

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

GetConnectionDetailsMapping for this IPAttachment

func (*IPAttachment) GetDeletionPolicy

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

GetDeletionPolicy of this IPAttachment.

func (*IPAttachment) GetID

func (tr *IPAttachment) GetID() string

GetID returns ID of underlying Terraform resource of this IPAttachment

func (*IPAttachment) GetInitParameters added in v0.8.0

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

GetInitParameters of this IPAttachment

func (*IPAttachment) GetManagementPolicies added in v0.8.0

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

GetManagementPolicies of this IPAttachment.

func (*IPAttachment) GetMergedParameters added in v0.8.0

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

GetInitParameters of this IPAttachment

func (*IPAttachment) GetObservation

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

GetObservation of this IPAttachment

func (*IPAttachment) GetParameters

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

GetParameters of this IPAttachment

func (*IPAttachment) GetProviderConfigReference

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

GetProviderConfigReference of this IPAttachment.

func (*IPAttachment) GetPublishConnectionDetailsTo

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

GetPublishConnectionDetailsTo of this IPAttachment.

func (*IPAttachment) GetTerraformResourceType

func (mg *IPAttachment) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this IPAttachment

func (*IPAttachment) GetTerraformSchemaVersion

func (tr *IPAttachment) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*IPAttachment) GetWriteConnectionSecretToReference

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

GetWriteConnectionSecretToReference of this IPAttachment.

func (*IPAttachment) Hub added in v0.8.0

func (tr *IPAttachment) Hub()

Hub marks this type as a conversion hub.

func (*IPAttachment) LateInitialize

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

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

func (*IPAttachment) ResolveReferences

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

ResolveReferences of this IPAttachment.

func (*IPAttachment) SetConditions

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

SetConditions of this IPAttachment.

func (*IPAttachment) SetDeletionPolicy

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

SetDeletionPolicy of this IPAttachment.

func (*IPAttachment) SetManagementPolicies added in v0.8.0

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

SetManagementPolicies of this IPAttachment.

func (*IPAttachment) SetObservation

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

SetObservation for this IPAttachment

func (*IPAttachment) SetParameters

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

SetParameters for this IPAttachment

func (*IPAttachment) SetProviderConfigReference

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

SetProviderConfigReference of this IPAttachment.

func (*IPAttachment) SetPublishConnectionDetailsTo

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

SetPublishConnectionDetailsTo of this IPAttachment.

func (*IPAttachment) SetWriteConnectionSecretToReference

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

SetWriteConnectionSecretToReference of this IPAttachment.

type IPAttachmentInitParameters added in v0.8.0

type IPAttachmentInitParameters struct {

	// CIDR notation of subnet from block reserved in the same project and metro as the device.
	CidrNotation *string `json:"cidrNotation,omitempty" tf:"cidr_notation,omitempty"`

	// ID of device to which to assign the subnet.
	// +crossplane:generate:reference:type=github.com/crossplane-contrib/provider-jet-equinix/apis/metal/v1alpha1.Device
	DeviceID *string `json:"deviceId,omitempty" tf:"device_id,omitempty"`

	// Reference to a Device in metal to populate deviceId.
	// +kubebuilder:validation:Optional
	DeviceIDRef *v1.Reference `json:"deviceIdRef,omitempty" tf:"-"`

	// Selector for a Device in metal to populate deviceId.
	// +kubebuilder:validation:Optional
	DeviceIDSelector *v1.Selector `json:"deviceIdSelector,omitempty" tf:"-"`
}

func (*IPAttachmentInitParameters) DeepCopy added in v0.8.0

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

func (*IPAttachmentInitParameters) DeepCopyInto added in v0.8.0

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

type IPAttachmentList

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

IPAttachmentList contains a list of IPAttachments

func (*IPAttachmentList) DeepCopy

func (in *IPAttachmentList) DeepCopy() *IPAttachmentList

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

func (*IPAttachmentList) DeepCopyInto

func (in *IPAttachmentList) DeepCopyInto(out *IPAttachmentList)

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

func (*IPAttachmentList) DeepCopyObject

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

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

func (*IPAttachmentList) GetItems

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

GetItems of this IPAttachmentList.

type IPAttachmentObservation

type IPAttachmentObservation struct {
	Address *string `json:"address,omitempty" tf:"address,omitempty"`

	// Address family as integer. One of 4 or 6.
	// Address family as integer (4 or 6)
	AddressFamily *float64 `json:"addressFamily,omitempty" tf:"address_family,omitempty"`

	// Length of CIDR prefix of the subnet as integer.
	// Length of CIDR prefix of the block as integer
	Cidr *float64 `json:"cidr,omitempty" tf:"cidr,omitempty"`

	// CIDR notation of subnet from block reserved in the same project and metro as the device.
	CidrNotation *string `json:"cidrNotation,omitempty" tf:"cidr_notation,omitempty"`

	// ID of device to which to assign the subnet.
	DeviceID *string `json:"deviceId,omitempty" tf:"device_id,omitempty"`

	// IP address of gateway for the subnet.
	Gateway *string `json:"gateway,omitempty" tf:"gateway,omitempty"`

	// Flag indicating whether IP block is global, i.e. assignable in any location
	Global *bool `json:"global,omitempty" tf:"global,omitempty"`

	// The unique ID of the assignment.
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	Manageable *bool `json:"manageable,omitempty" tf:"manageable,omitempty"`

	Management *bool `json:"management,omitempty" tf:"management,omitempty"`

	// Subnet mask in decimal notation, e.g., 255.255.255.0.
	// Mask in decimal notation, e.g. 255.255.255.0
	Netmask *string `json:"netmask,omitempty" tf:"netmask,omitempty"`

	// Subnet network address.
	// Network IP address portion of the block specification
	Network *string `json:"network,omitempty" tf:"network,omitempty"`

	// Boolean flag whether subnet is reachable from the Internet.
	// Flag indicating whether IP block is addressable from the Internet
	Public *bool `json:"public,omitempty" tf:"public,omitempty"`

	// The unique ID of the assignment.
	VrfID *string `json:"vrfId,omitempty" tf:"vrf_id,omitempty"`
}

func (*IPAttachmentObservation) DeepCopy

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

func (*IPAttachmentObservation) DeepCopyInto

func (in *IPAttachmentObservation) DeepCopyInto(out *IPAttachmentObservation)

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

type IPAttachmentParameters

type IPAttachmentParameters struct {

	// CIDR notation of subnet from block reserved in the same project and metro as the device.
	// +kubebuilder:validation:Optional
	CidrNotation *string `json:"cidrNotation,omitempty" tf:"cidr_notation,omitempty"`

	// ID of device to which to assign the subnet.
	// +crossplane:generate:reference:type=github.com/crossplane-contrib/provider-jet-equinix/apis/metal/v1alpha1.Device
	// +kubebuilder:validation:Optional
	DeviceID *string `json:"deviceId,omitempty" tf:"device_id,omitempty"`

	// Reference to a Device in metal to populate deviceId.
	// +kubebuilder:validation:Optional
	DeviceIDRef *v1.Reference `json:"deviceIdRef,omitempty" tf:"-"`

	// Selector for a Device in metal to populate deviceId.
	// +kubebuilder:validation:Optional
	DeviceIDSelector *v1.Selector `json:"deviceIdSelector,omitempty" tf:"-"`
}

func (*IPAttachmentParameters) DeepCopy

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

func (*IPAttachmentParameters) DeepCopyInto

func (in *IPAttachmentParameters) DeepCopyInto(out *IPAttachmentParameters)

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

type IPAttachmentSpec

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

IPAttachmentSpec defines the desired state of IPAttachment

func (*IPAttachmentSpec) DeepCopy

func (in *IPAttachmentSpec) DeepCopy() *IPAttachmentSpec

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

func (*IPAttachmentSpec) DeepCopyInto

func (in *IPAttachmentSpec) DeepCopyInto(out *IPAttachmentSpec)

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

type IPAttachmentStatus

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

IPAttachmentStatus defines the observed state of IPAttachment.

func (*IPAttachmentStatus) DeepCopy

func (in *IPAttachmentStatus) DeepCopy() *IPAttachmentStatus

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

func (*IPAttachmentStatus) DeepCopyInto

func (in *IPAttachmentStatus) DeepCopyInto(out *IPAttachmentStatus)

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

type InstanceParametersInitParameters added in v0.8.0

type InstanceParametersInitParameters struct {
	AlwaysPxe *bool `json:"alwaysPxe,omitempty" tf:"always_pxe,omitempty"`

	BillingCycle *string `json:"billingCycle,omitempty" tf:"billing_cycle,omitempty"`

	Customdata *string `json:"customdata,omitempty" tf:"customdata,omitempty"`

	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	Features []*string `json:"features,omitempty" tf:"features,omitempty"`

	Hostname *string `json:"hostname,omitempty" tf:"hostname,omitempty"`

	IpxeScriptURL *string `json:"ipxeScriptUrl,omitempty" tf:"ipxe_script_url,omitempty"`

	// Blocks deletion of the SpotMarketRequest device until the lock is disabled.
	Locked *bool `json:"locked,omitempty" tf:"locked,omitempty"`

	OperatingSystem *string `json:"operatingSystem,omitempty" tf:"operating_system,omitempty"`

	Plan *string `json:"plan,omitempty" tf:"plan,omitempty"`

	ProjectSSHKeys []*string `json:"projectSshKeys,omitempty" tf:"project_ssh_keys,omitempty"`

	Tags []*string `json:"tags,omitempty" tf:"tags,omitempty"`

	UserSSHKeys []*string `json:"userSshKeys,omitempty" tf:"user_ssh_keys,omitempty"`

	Userdata *string `json:"userdata,omitempty" tf:"userdata,omitempty"`
}

func (*InstanceParametersInitParameters) DeepCopy added in v0.8.0

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

func (*InstanceParametersInitParameters) DeepCopyInto added in v0.8.0

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

type InstanceParametersObservation

type InstanceParametersObservation struct {
	AlwaysPxe *bool `json:"alwaysPxe,omitempty" tf:"always_pxe,omitempty"`

	BillingCycle *string `json:"billingCycle,omitempty" tf:"billing_cycle,omitempty"`

	Customdata *string `json:"customdata,omitempty" tf:"customdata,omitempty"`

	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	Features []*string `json:"features,omitempty" tf:"features,omitempty"`

	Hostname *string `json:"hostname,omitempty" tf:"hostname,omitempty"`

	IpxeScriptURL *string `json:"ipxeScriptUrl,omitempty" tf:"ipxe_script_url,omitempty"`

	// Blocks deletion of the SpotMarketRequest device until the lock is disabled.
	Locked *bool `json:"locked,omitempty" tf:"locked,omitempty"`

	OperatingSystem *string `json:"operatingSystem,omitempty" tf:"operating_system,omitempty"`

	Plan *string `json:"plan,omitempty" tf:"plan,omitempty"`

	ProjectSSHKeys []*string `json:"projectSshKeys,omitempty" tf:"project_ssh_keys,omitempty"`

	Tags []*string `json:"tags,omitempty" tf:"tags,omitempty"`

	TerminationTime *string `json:"terminationTime,omitempty" tf:"termination_time,omitempty"`

	TermintationTime *string `json:"termintationTime,omitempty" tf:"termintation_time,omitempty"`

	UserSSHKeys []*string `json:"userSshKeys,omitempty" tf:"user_ssh_keys,omitempty"`

	Userdata *string `json:"userdata,omitempty" tf:"userdata,omitempty"`
}

func (*InstanceParametersObservation) DeepCopy

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

func (*InstanceParametersObservation) DeepCopyInto

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

type InstanceParametersParameters

type InstanceParametersParameters struct {

	// +kubebuilder:validation:Optional
	AlwaysPxe *bool `json:"alwaysPxe,omitempty" tf:"always_pxe,omitempty"`

	// +kubebuilder:validation:Optional
	BillingCycle *string `json:"billingCycle" tf:"billing_cycle,omitempty"`

	// +kubebuilder:validation:Optional
	Customdata *string `json:"customdata,omitempty" tf:"customdata,omitempty"`

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

	// +kubebuilder:validation:Optional
	Features []*string `json:"features,omitempty" tf:"features,omitempty"`

	// +kubebuilder:validation:Optional
	Hostname *string `json:"hostname" tf:"hostname,omitempty"`

	// +kubebuilder:validation:Optional
	IpxeScriptURL *string `json:"ipxeScriptUrl,omitempty" tf:"ipxe_script_url,omitempty"`

	// Blocks deletion of the SpotMarketRequest device until the lock is disabled.
	// +kubebuilder:validation:Optional
	Locked *bool `json:"locked,omitempty" tf:"locked,omitempty"`

	// +kubebuilder:validation:Optional
	OperatingSystem *string `json:"operatingSystem" tf:"operating_system,omitempty"`

	// +kubebuilder:validation:Optional
	Plan *string `json:"plan" tf:"plan,omitempty"`

	// +kubebuilder:validation:Optional
	ProjectSSHKeys []*string `json:"projectSshKeys,omitempty" tf:"project_ssh_keys,omitempty"`

	// +kubebuilder:validation:Optional
	Tags []*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// +kubebuilder:validation:Optional
	UserSSHKeys []*string `json:"userSshKeys,omitempty" tf:"user_ssh_keys,omitempty"`

	// +kubebuilder:validation:Optional
	Userdata *string `json:"userdata,omitempty" tf:"userdata,omitempty"`
}

func (*InstanceParametersParameters) DeepCopy

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

func (*InstanceParametersParameters) DeepCopyInto

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

type NetworkInitParameters added in v0.8.0

type NetworkInitParameters struct {
}

func (*NetworkInitParameters) DeepCopy added in v0.8.0

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

func (*NetworkInitParameters) DeepCopyInto added in v0.8.0

func (in *NetworkInitParameters) DeepCopyInto(out *NetworkInitParameters)

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

type NetworkObservation

type NetworkObservation struct {

	// (String)
	Address *string `json:"address,omitempty" tf:"address,omitempty"`

	// (Number) CIDR suffix for IP block assigned to this device
	Cidr *float64 `json:"cidr,omitempty" tf:"cidr,omitempty"`

	// (Number)
	Family *float64 `json:"family,omitempty" tf:"family,omitempty"`

	// (String)
	Gateway *string `json:"gateway,omitempty" tf:"gateway,omitempty"`

	// (Boolean)
	Public *bool `json:"public,omitempty" tf:"public,omitempty"`
}

func (*NetworkObservation) DeepCopy

func (in *NetworkObservation) DeepCopy() *NetworkObservation

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

func (*NetworkObservation) DeepCopyInto

func (in *NetworkObservation) DeepCopyInto(out *NetworkObservation)

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

type NetworkParameters

type NetworkParameters struct {
}

func (*NetworkParameters) DeepCopy

func (in *NetworkParameters) DeepCopy() *NetworkParameters

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

func (*NetworkParameters) DeepCopyInto

func (in *NetworkParameters) DeepCopyInto(out *NetworkParameters)

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

type Organization

type Organization 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.name) || (has(self.initProvider) && has(self.initProvider.name))",message="spec.forProvider.name is a required parameter"
	Spec   OrganizationSpec   `json:"spec"`
	Status OrganizationStatus `json:"status,omitempty"`
}

Organization is the Schema for the Organizations API. +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,equinix}

func (*Organization) DeepCopy

func (in *Organization) DeepCopy() *Organization

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

func (*Organization) DeepCopyInto

func (in *Organization) DeepCopyInto(out *Organization)

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

func (*Organization) DeepCopyObject

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

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

func (*Organization) GetCondition

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

GetCondition of this Organization.

func (*Organization) GetConnectionDetailsMapping

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

GetConnectionDetailsMapping for this Organization

func (*Organization) GetDeletionPolicy

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

GetDeletionPolicy of this Organization.

func (*Organization) GetID

func (tr *Organization) GetID() string

GetID returns ID of underlying Terraform resource of this Organization

func (*Organization) GetInitParameters added in v0.8.0

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

GetInitParameters of this Organization

func (*Organization) GetManagementPolicies added in v0.8.0

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

GetManagementPolicies of this Organization.

func (*Organization) GetMergedParameters added in v0.8.0

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

GetInitParameters of this Organization

func (*Organization) GetObservation

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

GetObservation of this Organization

func (*Organization) GetParameters

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

GetParameters of this Organization

func (*Organization) GetProviderConfigReference

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

GetProviderConfigReference of this Organization.

func (*Organization) GetPublishConnectionDetailsTo

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

GetPublishConnectionDetailsTo of this Organization.

func (*Organization) GetTerraformResourceType

func (mg *Organization) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this Organization

func (*Organization) GetTerraformSchemaVersion

func (tr *Organization) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*Organization) GetWriteConnectionSecretToReference

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

GetWriteConnectionSecretToReference of this Organization.

func (*Organization) Hub added in v0.8.0

func (tr *Organization) Hub()

Hub marks this type as a conversion hub.

func (*Organization) LateInitialize

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

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

func (*Organization) SetConditions

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

SetConditions of this Organization.

func (*Organization) SetDeletionPolicy

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

SetDeletionPolicy of this Organization.

func (*Organization) SetManagementPolicies added in v0.8.0

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

SetManagementPolicies of this Organization.

func (*Organization) SetObservation

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

SetObservation for this Organization

func (*Organization) SetParameters

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

SetParameters for this Organization

func (*Organization) SetProviderConfigReference

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

SetProviderConfigReference of this Organization.

func (*Organization) SetPublishConnectionDetailsTo

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

SetPublishConnectionDetailsTo of this Organization.

func (*Organization) SetWriteConnectionSecretToReference

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

SetWriteConnectionSecretToReference of this Organization.

type OrganizationInitParameters added in v0.8.0

type OrganizationInitParameters struct {

	// An object that has the address information. See Address below for more details.
	// Address information block
	Address []AddressInitParameters `json:"address,omitempty" tf:"address,omitempty"`

	// Description string.
	// Description string
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// Logo URL
	Logo *string `json:"logo,omitempty" tf:"logo,omitempty"`

	// The name of the Organization.
	// The name of the Organization
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// Twitter handle.
	// Twitter handle
	Twitter *string `json:"twitter,omitempty" tf:"twitter,omitempty"`

	// Website link.
	// Website link
	Website *string `json:"website,omitempty" tf:"website,omitempty"`
}

func (*OrganizationInitParameters) DeepCopy added in v0.8.0

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

func (*OrganizationInitParameters) DeepCopyInto added in v0.8.0

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

type OrganizationList

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

OrganizationList contains a list of Organizations

func (*OrganizationList) DeepCopy

func (in *OrganizationList) DeepCopy() *OrganizationList

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

func (*OrganizationList) DeepCopyInto

func (in *OrganizationList) DeepCopyInto(out *OrganizationList)

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

func (*OrganizationList) DeepCopyObject

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

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

func (*OrganizationList) GetItems

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

GetItems of this OrganizationList.

type OrganizationMember

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

OrganizationMember is the Schema for the OrganizationMembers API. +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,equinix}

func (*OrganizationMember) DeepCopy

func (in *OrganizationMember) DeepCopy() *OrganizationMember

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

func (*OrganizationMember) DeepCopyInto

func (in *OrganizationMember) DeepCopyInto(out *OrganizationMember)

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

func (*OrganizationMember) DeepCopyObject

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

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

func (*OrganizationMember) GetCondition

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

GetCondition of this OrganizationMember.

func (*OrganizationMember) GetConnectionDetailsMapping

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

GetConnectionDetailsMapping for this OrganizationMember

func (*OrganizationMember) GetDeletionPolicy

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

GetDeletionPolicy of this OrganizationMember.

func (*OrganizationMember) GetID

func (tr *OrganizationMember) GetID() string

GetID returns ID of underlying Terraform resource of this OrganizationMember

func (*OrganizationMember) GetInitParameters added in v0.8.0

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

GetInitParameters of this OrganizationMember

func (*OrganizationMember) GetManagementPolicies added in v0.8.0

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

GetManagementPolicies of this OrganizationMember.

func (*OrganizationMember) GetMergedParameters added in v0.8.0

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

GetInitParameters of this OrganizationMember

func (*OrganizationMember) GetObservation

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

GetObservation of this OrganizationMember

func (*OrganizationMember) GetParameters

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

GetParameters of this OrganizationMember

func (*OrganizationMember) GetProviderConfigReference

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

GetProviderConfigReference of this OrganizationMember.

func (*OrganizationMember) GetPublishConnectionDetailsTo

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

GetPublishConnectionDetailsTo of this OrganizationMember.

func (*OrganizationMember) GetTerraformResourceType

func (mg *OrganizationMember) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this OrganizationMember

func (*OrganizationMember) GetTerraformSchemaVersion

func (tr *OrganizationMember) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*OrganizationMember) GetWriteConnectionSecretToReference

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

GetWriteConnectionSecretToReference of this OrganizationMember.

func (*OrganizationMember) Hub added in v0.8.0

func (tr *OrganizationMember) Hub()

Hub marks this type as a conversion hub.

func (*OrganizationMember) LateInitialize

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

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

func (*OrganizationMember) ResolveReferences

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

ResolveReferences of this OrganizationMember.

func (*OrganizationMember) SetConditions

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

SetConditions of this OrganizationMember.

func (*OrganizationMember) SetDeletionPolicy

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

SetDeletionPolicy of this OrganizationMember.

func (*OrganizationMember) SetManagementPolicies added in v0.8.0

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

SetManagementPolicies of this OrganizationMember.

func (*OrganizationMember) SetObservation

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

SetObservation for this OrganizationMember

func (*OrganizationMember) SetParameters

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

SetParameters for this OrganizationMember

func (*OrganizationMember) SetProviderConfigReference

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

SetProviderConfigReference of this OrganizationMember.

func (*OrganizationMember) SetPublishConnectionDetailsTo

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

SetPublishConnectionDetailsTo of this OrganizationMember.

func (*OrganizationMember) SetWriteConnectionSecretToReference

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

SetWriteConnectionSecretToReference of this OrganizationMember.

type OrganizationMemberInitParameters added in v0.8.0

type OrganizationMemberInitParameters struct {

	// The email address of the user to invite
	// The email address of the user to invite
	Invitee *string `json:"invitee,omitempty" tf:"invitee,omitempty"`

	// A message to include in the emailed invitation.
	// A message to the invitee (only used during the invitation stage)
	Message *string `json:"message,omitempty" tf:"message,omitempty"`

	// The organization to invite the user to
	// The organization to invite the user to
	// +crossplane:generate:reference:type=github.com/crossplane-contrib/provider-jet-equinix/apis/metal/v1alpha1.Organization
	OrganizationID *string `json:"organizationId,omitempty" tf:"organization_id,omitempty"`

	// Reference to a Organization in metal to populate organizationId.
	// +kubebuilder:validation:Optional
	OrganizationIDRef *v1.Reference `json:"organizationIdRef,omitempty" tf:"-"`

	// Selector for a Organization in metal to populate organizationId.
	// +kubebuilder:validation:Optional
	OrganizationIDSelector *v1.Selector `json:"organizationIdSelector,omitempty" tf:"-"`

	// Project IDs the member has access to within the organization. If the member is an 'admin', the projects list should be empty.
	// Project IDs the member has access to within the organization. If the member is an 'owner', the projects list should be empty.
	// +listType=set
	ProjectsIds []*string `json:"projectsIds,omitempty" tf:"projects_ids,omitempty"`

	// Organization roles (admin, collaborator, limited_collaborator, billing)
	// Organization roles (owner, collaborator, limited_collaborator, billing)
	// +listType=set
	Roles []*string `json:"roles,omitempty" tf:"roles,omitempty"`
}

func (*OrganizationMemberInitParameters) DeepCopy added in v0.8.0

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

func (*OrganizationMemberInitParameters) DeepCopyInto added in v0.8.0

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

type OrganizationMemberList

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

OrganizationMemberList contains a list of OrganizationMembers

func (*OrganizationMemberList) DeepCopy

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

func (*OrganizationMemberList) DeepCopyInto

func (in *OrganizationMemberList) DeepCopyInto(out *OrganizationMemberList)

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

func (*OrganizationMemberList) DeepCopyObject

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

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

func (*OrganizationMemberList) GetItems

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

GetItems of this OrganizationMemberList.

type OrganizationMemberObservation

type OrganizationMemberObservation struct {

	// When the invitation was created (only known in the invitation stage)
	// When the invitation was created (only known in the invitation stage)
	Created *string `json:"created,omitempty" tf:"created,omitempty"`

	// The unique ID of the membership.
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// The user_id of the user that sent the invitation (only known in the invitation stage)
	// The user id of the user that sent the invitation (only known in the invitation stage)
	InvitedBy *string `json:"invitedBy,omitempty" tf:"invited_by,omitempty"`

	// The email address of the user to invite
	// The email address of the user to invite
	Invitee *string `json:"invitee,omitempty" tf:"invitee,omitempty"`

	// A message to include in the emailed invitation.
	// A message to the invitee (only used during the invitation stage)
	Message *string `json:"message,omitempty" tf:"message,omitempty"`

	// The nonce for the invitation (only known in the invitation stage)
	// The nonce for the invitation (only known in the invitation stage)
	Nonce *string `json:"nonce,omitempty" tf:"nonce,omitempty"`

	// The organization to invite the user to
	// The organization to invite the user to
	OrganizationID *string `json:"organizationId,omitempty" tf:"organization_id,omitempty"`

	// Project IDs the member has access to within the organization. If the member is an 'admin', the projects list should be empty.
	// Project IDs the member has access to within the organization. If the member is an 'owner', the projects list should be empty.
	// +listType=set
	ProjectsIds []*string `json:"projectsIds,omitempty" tf:"projects_ids,omitempty"`

	// Organization roles (admin, collaborator, limited_collaborator, billing)
	// Organization roles (owner, collaborator, limited_collaborator, billing)
	// +listType=set
	Roles []*string `json:"roles,omitempty" tf:"roles,omitempty"`

	// The state of the membership ('invited' when an invitation is open, 'active' when the user is an organization member)
	// The state of the membership ('invited' when an invitation is open, 'active' when the user is an organization member)
	State *string `json:"state,omitempty" tf:"state,omitempty"`

	// When the invitation was updated (only known in the invitation stage)
	// When the invitation was updated (only known in the invitation stage)
	Updated *string `json:"updated,omitempty" tf:"updated,omitempty"`
}

func (*OrganizationMemberObservation) DeepCopy

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

func (*OrganizationMemberObservation) DeepCopyInto

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

type OrganizationMemberParameters

type OrganizationMemberParameters struct {

	// The email address of the user to invite
	// The email address of the user to invite
	// +kubebuilder:validation:Optional
	Invitee *string `json:"invitee,omitempty" tf:"invitee,omitempty"`

	// A message to include in the emailed invitation.
	// A message to the invitee (only used during the invitation stage)
	// +kubebuilder:validation:Optional
	Message *string `json:"message,omitempty" tf:"message,omitempty"`

	// The organization to invite the user to
	// The organization to invite the user to
	// +crossplane:generate:reference:type=github.com/crossplane-contrib/provider-jet-equinix/apis/metal/v1alpha1.Organization
	// +kubebuilder:validation:Optional
	OrganizationID *string `json:"organizationId,omitempty" tf:"organization_id,omitempty"`

	// Reference to a Organization in metal to populate organizationId.
	// +kubebuilder:validation:Optional
	OrganizationIDRef *v1.Reference `json:"organizationIdRef,omitempty" tf:"-"`

	// Selector for a Organization in metal to populate organizationId.
	// +kubebuilder:validation:Optional
	OrganizationIDSelector *v1.Selector `json:"organizationIdSelector,omitempty" tf:"-"`

	// Project IDs the member has access to within the organization. If the member is an 'admin', the projects list should be empty.
	// Project IDs the member has access to within the organization. If the member is an 'owner', the projects list should be empty.
	// +kubebuilder:validation:Optional
	// +listType=set
	ProjectsIds []*string `json:"projectsIds,omitempty" tf:"projects_ids,omitempty"`

	// Organization roles (admin, collaborator, limited_collaborator, billing)
	// Organization roles (owner, collaborator, limited_collaborator, billing)
	// +kubebuilder:validation:Optional
	// +listType=set
	Roles []*string `json:"roles,omitempty" tf:"roles,omitempty"`
}

func (*OrganizationMemberParameters) DeepCopy

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

func (*OrganizationMemberParameters) DeepCopyInto

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

type OrganizationMemberSpec

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

OrganizationMemberSpec defines the desired state of OrganizationMember

func (*OrganizationMemberSpec) DeepCopy

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

func (*OrganizationMemberSpec) DeepCopyInto

func (in *OrganizationMemberSpec) DeepCopyInto(out *OrganizationMemberSpec)

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

type OrganizationMemberStatus

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

OrganizationMemberStatus defines the observed state of OrganizationMember.

func (*OrganizationMemberStatus) DeepCopy

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

func (*OrganizationMemberStatus) DeepCopyInto

func (in *OrganizationMemberStatus) DeepCopyInto(out *OrganizationMemberStatus)

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

type OrganizationObservation

type OrganizationObservation struct {

	// An object that has the address information. See Address below for more details.
	// Address information block
	Address []AddressObservation `json:"address,omitempty" tf:"address,omitempty"`

	// The timestamp for when the organization was created.
	Created *string `json:"created,omitempty" tf:"created,omitempty"`

	// Description string.
	// Description string
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// The unique ID of the organization.
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// Logo URL
	Logo *string `json:"logo,omitempty" tf:"logo,omitempty"`

	// The name of the Organization.
	// The name of the Organization
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// Twitter handle.
	// Twitter handle
	Twitter *string `json:"twitter,omitempty" tf:"twitter,omitempty"`

	// The timestamp for the last time the organization was updated.
	Updated *string `json:"updated,omitempty" tf:"updated,omitempty"`

	// Website link.
	// Website link
	Website *string `json:"website,omitempty" tf:"website,omitempty"`
}

func (*OrganizationObservation) DeepCopy

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

func (*OrganizationObservation) DeepCopyInto

func (in *OrganizationObservation) DeepCopyInto(out *OrganizationObservation)

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

type OrganizationParameters

type OrganizationParameters struct {

	// An object that has the address information. See Address below for more details.
	// Address information block
	// +kubebuilder:validation:Optional
	Address []AddressParameters `json:"address,omitempty" tf:"address,omitempty"`

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

	// Logo URL
	// +kubebuilder:validation:Optional
	Logo *string `json:"logo,omitempty" tf:"logo,omitempty"`

	// The name of the Organization.
	// The name of the Organization
	// +kubebuilder:validation:Optional
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// Twitter handle.
	// Twitter handle
	// +kubebuilder:validation:Optional
	Twitter *string `json:"twitter,omitempty" tf:"twitter,omitempty"`

	// Website link.
	// Website link
	// +kubebuilder:validation:Optional
	Website *string `json:"website,omitempty" tf:"website,omitempty"`
}

func (*OrganizationParameters) DeepCopy

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

func (*OrganizationParameters) DeepCopyInto

func (in *OrganizationParameters) DeepCopyInto(out *OrganizationParameters)

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

type OrganizationSpec

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

OrganizationSpec defines the desired state of Organization

func (*OrganizationSpec) DeepCopy

func (in *OrganizationSpec) DeepCopy() *OrganizationSpec

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

func (*OrganizationSpec) DeepCopyInto

func (in *OrganizationSpec) DeepCopyInto(out *OrganizationSpec)

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

type OrganizationStatus

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

OrganizationStatus defines the observed state of Organization.

func (*OrganizationStatus) DeepCopy

func (in *OrganizationStatus) DeepCopy() *OrganizationStatus

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

func (*OrganizationStatus) DeepCopyInto

func (in *OrganizationStatus) DeepCopyInto(out *OrganizationStatus)

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

type Port

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

Port is the Schema for the Ports API. <no value> +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,equinix}

func (*Port) DeepCopy

func (in *Port) DeepCopy() *Port

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

func (*Port) DeepCopyInto

func (in *Port) DeepCopyInto(out *Port)

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

func (*Port) DeepCopyObject

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

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

func (*Port) GetCondition

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

GetCondition of this Port.

func (*Port) GetConnectionDetailsMapping

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

GetConnectionDetailsMapping for this Port

func (*Port) GetDeletionPolicy

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

GetDeletionPolicy of this Port.

func (*Port) GetID

func (tr *Port) GetID() string

GetID returns ID of underlying Terraform resource of this Port

func (*Port) GetInitParameters added in v0.8.0

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

GetInitParameters of this Port

func (*Port) GetManagementPolicies added in v0.8.0

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

GetManagementPolicies of this Port.

func (*Port) GetMergedParameters added in v0.8.0

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

GetInitParameters of this Port

func (*Port) GetObservation

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

GetObservation of this Port

func (*Port) GetParameters

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

GetParameters of this Port

func (*Port) GetProviderConfigReference

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

GetProviderConfigReference of this Port.

func (*Port) GetPublishConnectionDetailsTo

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

GetPublishConnectionDetailsTo of this Port.

func (*Port) GetTerraformResourceType

func (mg *Port) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this Port

func (*Port) GetTerraformSchemaVersion

func (tr *Port) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*Port) GetWriteConnectionSecretToReference

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

GetWriteConnectionSecretToReference of this Port.

func (*Port) Hub added in v0.8.0

func (tr *Port) Hub()

Hub marks this type as a conversion hub.

func (*Port) LateInitialize

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

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

func (*Port) ResolveReferences

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

ResolveReferences of this Port.

func (*Port) SetConditions

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

SetConditions of this Port.

func (*Port) SetDeletionPolicy

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

SetDeletionPolicy of this Port.

func (*Port) SetManagementPolicies added in v0.8.0

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

SetManagementPolicies of this Port.

func (*Port) SetObservation

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

SetObservation for this Port

func (*Port) SetParameters

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

SetParameters for this Port

func (*Port) SetProviderConfigReference

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

SetProviderConfigReference of this Port.

func (*Port) SetPublishConnectionDetailsTo

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

SetPublishConnectionDetailsTo of this Port.

func (*Port) SetWriteConnectionSecretToReference

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

SetWriteConnectionSecretToReference of this Port.

type PortInitParameters added in v0.8.0

type PortInitParameters struct {

	// Flag indicating whether the port should be bonded
	Bonded *bool `json:"bonded,omitempty" tf:"bonded,omitempty"`

	// Flag indicating whether the port is in layer2 (or layer3) mode. The `layer2` flag can be set only for bond ports.
	Layer2 *bool `json:"layer2,omitempty" tf:"layer2,omitempty"`

	// UUID of native VLAN of the port
	// +crossplane:generate:reference:type=github.com/crossplane-contrib/provider-jet-equinix/apis/metal/v1alpha1.Vlan
	NativeVlanID *string `json:"nativeVlanId,omitempty" tf:"native_vlan_id,omitempty"`

	// Reference to a Vlan in metal to populate nativeVlanId.
	// +kubebuilder:validation:Optional
	NativeVlanIDRef *v1.Reference `json:"nativeVlanIdRef,omitempty" tf:"-"`

	// Selector for a Vlan in metal to populate nativeVlanId.
	// +kubebuilder:validation:Optional
	NativeVlanIDSelector *v1.Selector `json:"nativeVlanIdSelector,omitempty" tf:"-"`

	// UUID of the port to lookup
	PortID *string `json:"portId,omitempty" tf:"port_id,omitempty"`

	// Behavioral setting to reset the port to default settings (layer3 bonded mode without any vlan attached) before delete/destroy
	ResetOnDelete *bool `json:"resetOnDelete,omitempty" tf:"reset_on_delete,omitempty"`

	// UUIDs VLANs to attach. To avoid jitter, use the UUID and not the VXLAN
	// +crossplane:generate:reference:type=github.com/crossplane-contrib/provider-jet-equinix/apis/metal/v1alpha1.Vlan
	// +listType=set
	VlanIds []*string `json:"vlanIds,omitempty" tf:"vlan_ids,omitempty"`

	// References to Vlan in metal to populate vlanIds.
	// +kubebuilder:validation:Optional
	VlanIdsRefs []v1.Reference `json:"vlanIdsRefs,omitempty" tf:"-"`

	// Selector for a list of Vlan in metal to populate vlanIds.
	// +kubebuilder:validation:Optional
	VlanIdsSelector *v1.Selector `json:"vlanIdsSelector,omitempty" tf:"-"`

	// VLAN VXLAN ids to attach (example: [1000])
	// +listType=set
	VxlanIds []*float64 `json:"vxlanIds,omitempty" tf:"vxlan_ids,omitempty"`
}

func (*PortInitParameters) DeepCopy added in v0.8.0

func (in *PortInitParameters) DeepCopy() *PortInitParameters

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

func (*PortInitParameters) DeepCopyInto added in v0.8.0

func (in *PortInitParameters) DeepCopyInto(out *PortInitParameters)

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

type PortList

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

PortList contains a list of Ports

func (*PortList) DeepCopy

func (in *PortList) DeepCopy() *PortList

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

func (*PortList) DeepCopyInto

func (in *PortList) DeepCopyInto(out *PortList)

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

func (*PortList) DeepCopyObject

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

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

func (*PortList) GetItems

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

GetItems of this PortList.

type PortObservation

type PortObservation struct {

	// UUID of the bond port
	BondID *string `json:"bondId,omitempty" tf:"bond_id,omitempty"`

	// Name of the bond port
	BondName *string `json:"bondName,omitempty" tf:"bond_name,omitempty"`

	// Flag indicating whether the port should be bonded
	Bonded *bool `json:"bonded,omitempty" tf:"bonded,omitempty"`

	// Flag indicating whether the port can be removed from a bond
	DisbondSupported *bool `json:"disbondSupported,omitempty" tf:"disbond_supported,omitempty"`

	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// Flag indicating whether the port is in layer2 (or layer3) mode. The `layer2` flag can be set only for bond ports.
	Layer2 *bool `json:"layer2,omitempty" tf:"layer2,omitempty"`

	// MAC address of the port
	Mac *string `json:"mac,omitempty" tf:"mac,omitempty"`

	// Name of the port to look up, e.g. bond0, eth1
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// UUID of native VLAN of the port
	NativeVlanID *string `json:"nativeVlanId,omitempty" tf:"native_vlan_id,omitempty"`

	// One of layer2-bonded, layer2-individual, layer3, hybrid and hybrid-bonded. This attribute is only set on bond ports.
	NetworkType *string `json:"networkType,omitempty" tf:"network_type,omitempty"`

	// UUID of the port to lookup
	PortID *string `json:"portId,omitempty" tf:"port_id,omitempty"`

	// Behavioral setting to reset the port to default settings (layer3 bonded mode without any vlan attached) before delete/destroy
	ResetOnDelete *bool `json:"resetOnDelete,omitempty" tf:"reset_on_delete,omitempty"`

	// Port type
	Type *string `json:"type,omitempty" tf:"type,omitempty"`

	// UUIDs VLANs to attach. To avoid jitter, use the UUID and not the VXLAN
	// +listType=set
	VlanIds []*string `json:"vlanIds,omitempty" tf:"vlan_ids,omitempty"`

	// VLAN VXLAN ids to attach (example: [1000])
	// +listType=set
	VxlanIds []*float64 `json:"vxlanIds,omitempty" tf:"vxlan_ids,omitempty"`
}

func (*PortObservation) DeepCopy

func (in *PortObservation) DeepCopy() *PortObservation

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

func (*PortObservation) DeepCopyInto

func (in *PortObservation) DeepCopyInto(out *PortObservation)

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

type PortParameters

type PortParameters struct {

	// Flag indicating whether the port should be bonded
	// +kubebuilder:validation:Optional
	Bonded *bool `json:"bonded,omitempty" tf:"bonded,omitempty"`

	// Flag indicating whether the port is in layer2 (or layer3) mode. The `layer2` flag can be set only for bond ports.
	// +kubebuilder:validation:Optional
	Layer2 *bool `json:"layer2,omitempty" tf:"layer2,omitempty"`

	// UUID of native VLAN of the port
	// +crossplane:generate:reference:type=github.com/crossplane-contrib/provider-jet-equinix/apis/metal/v1alpha1.Vlan
	// +kubebuilder:validation:Optional
	NativeVlanID *string `json:"nativeVlanId,omitempty" tf:"native_vlan_id,omitempty"`

	// Reference to a Vlan in metal to populate nativeVlanId.
	// +kubebuilder:validation:Optional
	NativeVlanIDRef *v1.Reference `json:"nativeVlanIdRef,omitempty" tf:"-"`

	// Selector for a Vlan in metal to populate nativeVlanId.
	// +kubebuilder:validation:Optional
	NativeVlanIDSelector *v1.Selector `json:"nativeVlanIdSelector,omitempty" tf:"-"`

	// UUID of the port to lookup
	// +kubebuilder:validation:Optional
	PortID *string `json:"portId,omitempty" tf:"port_id,omitempty"`

	// Behavioral setting to reset the port to default settings (layer3 bonded mode without any vlan attached) before delete/destroy
	// +kubebuilder:validation:Optional
	ResetOnDelete *bool `json:"resetOnDelete,omitempty" tf:"reset_on_delete,omitempty"`

	// UUIDs VLANs to attach. To avoid jitter, use the UUID and not the VXLAN
	// +crossplane:generate:reference:type=github.com/crossplane-contrib/provider-jet-equinix/apis/metal/v1alpha1.Vlan
	// +kubebuilder:validation:Optional
	// +listType=set
	VlanIds []*string `json:"vlanIds,omitempty" tf:"vlan_ids,omitempty"`

	// References to Vlan in metal to populate vlanIds.
	// +kubebuilder:validation:Optional
	VlanIdsRefs []v1.Reference `json:"vlanIdsRefs,omitempty" tf:"-"`

	// Selector for a list of Vlan in metal to populate vlanIds.
	// +kubebuilder:validation:Optional
	VlanIdsSelector *v1.Selector `json:"vlanIdsSelector,omitempty" tf:"-"`

	// VLAN VXLAN ids to attach (example: [1000])
	// +kubebuilder:validation:Optional
	// +listType=set
	VxlanIds []*float64 `json:"vxlanIds,omitempty" tf:"vxlan_ids,omitempty"`
}

func (*PortParameters) DeepCopy

func (in *PortParameters) DeepCopy() *PortParameters

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

func (*PortParameters) DeepCopyInto

func (in *PortParameters) DeepCopyInto(out *PortParameters)

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

type PortSpec

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

PortSpec defines the desired state of Port

func (*PortSpec) DeepCopy

func (in *PortSpec) DeepCopy() *PortSpec

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

func (*PortSpec) DeepCopyInto

func (in *PortSpec) DeepCopyInto(out *PortSpec)

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

type PortStatus

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

PortStatus defines the observed state of Port.

func (*PortStatus) DeepCopy

func (in *PortStatus) DeepCopy() *PortStatus

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

func (*PortStatus) DeepCopyInto

func (in *PortStatus) DeepCopyInto(out *PortStatus)

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

type PortVlanAttachment

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

PortVlanAttachment is the Schema for the PortVlanAttachments API. <no value> +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,equinix}

func (*PortVlanAttachment) DeepCopy

func (in *PortVlanAttachment) DeepCopy() *PortVlanAttachment

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

func (*PortVlanAttachment) DeepCopyInto

func (in *PortVlanAttachment) DeepCopyInto(out *PortVlanAttachment)

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

func (*PortVlanAttachment) DeepCopyObject

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

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

func (*PortVlanAttachment) GetCondition

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

GetCondition of this PortVlanAttachment.

func (*PortVlanAttachment) GetConnectionDetailsMapping

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

GetConnectionDetailsMapping for this PortVlanAttachment

func (*PortVlanAttachment) GetDeletionPolicy

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

GetDeletionPolicy of this PortVlanAttachment.

func (*PortVlanAttachment) GetID

func (tr *PortVlanAttachment) GetID() string

GetID returns ID of underlying Terraform resource of this PortVlanAttachment

func (*PortVlanAttachment) GetInitParameters added in v0.8.0

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

GetInitParameters of this PortVlanAttachment

func (*PortVlanAttachment) GetManagementPolicies added in v0.8.0

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

GetManagementPolicies of this PortVlanAttachment.

func (*PortVlanAttachment) GetMergedParameters added in v0.8.0

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

GetInitParameters of this PortVlanAttachment

func (*PortVlanAttachment) GetObservation

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

GetObservation of this PortVlanAttachment

func (*PortVlanAttachment) GetParameters

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

GetParameters of this PortVlanAttachment

func (*PortVlanAttachment) GetProviderConfigReference

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

GetProviderConfigReference of this PortVlanAttachment.

func (*PortVlanAttachment) GetPublishConnectionDetailsTo

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

GetPublishConnectionDetailsTo of this PortVlanAttachment.

func (*PortVlanAttachment) GetTerraformResourceType

func (mg *PortVlanAttachment) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this PortVlanAttachment

func (*PortVlanAttachment) GetTerraformSchemaVersion

func (tr *PortVlanAttachment) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*PortVlanAttachment) GetWriteConnectionSecretToReference

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

GetWriteConnectionSecretToReference of this PortVlanAttachment.

func (*PortVlanAttachment) Hub added in v0.8.0

func (tr *PortVlanAttachment) Hub()

Hub marks this type as a conversion hub.

func (*PortVlanAttachment) LateInitialize

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

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

func (*PortVlanAttachment) ResolveReferences

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

ResolveReferences of this PortVlanAttachment.

func (*PortVlanAttachment) SetConditions

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

SetConditions of this PortVlanAttachment.

func (*PortVlanAttachment) SetDeletionPolicy

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

SetDeletionPolicy of this PortVlanAttachment.

func (*PortVlanAttachment) SetManagementPolicies added in v0.8.0

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

SetManagementPolicies of this PortVlanAttachment.

func (*PortVlanAttachment) SetObservation

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

SetObservation for this PortVlanAttachment

func (*PortVlanAttachment) SetParameters

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

SetParameters for this PortVlanAttachment

func (*PortVlanAttachment) SetProviderConfigReference

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

SetProviderConfigReference of this PortVlanAttachment.

func (*PortVlanAttachment) SetPublishConnectionDetailsTo

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

SetPublishConnectionDetailsTo of this PortVlanAttachment.

func (*PortVlanAttachment) SetWriteConnectionSecretToReference

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

SetWriteConnectionSecretToReference of this PortVlanAttachment.

type PortVlanAttachmentInitParameters added in v0.8.0

type PortVlanAttachmentInitParameters struct {

	// ID of device to be assigned to the VLAN
	// +crossplane:generate:reference:type=github.com/crossplane-contrib/provider-jet-equinix/apis/metal/v1alpha1.Device
	DeviceID *string `json:"deviceId,omitempty" tf:"device_id,omitempty"`

	// Reference to a Device in metal to populate deviceId.
	// +kubebuilder:validation:Optional
	DeviceIDRef *v1.Reference `json:"deviceIdRef,omitempty" tf:"-"`

	// Selector for a Device in metal to populate deviceId.
	// +kubebuilder:validation:Optional
	DeviceIDSelector *v1.Selector `json:"deviceIdSelector,omitempty" tf:"-"`

	// Add port back to the bond when this resource is removed. Default is false
	ForceBond *bool `json:"forceBond,omitempty" tf:"force_bond,omitempty"`

	// Mark this VLAN a native VLAN on the port. This can be used only if this assignment assigns second or further VLAN to the port. To ensure that this attachment is not first on a port, you can use depends_on pointing to another equinix_metal_port_vlan_attachment, just like in the layer2-individual example above
	Native *bool `json:"native,omitempty" tf:"native,omitempty"`

	// Name of network port to be assigned to the VLAN
	PortName *string `json:"portName,omitempty" tf:"port_name,omitempty"`

	// VXLAN Network Identifier, integer
	VlanVnid *float64 `json:"vlanVnid,omitempty" tf:"vlan_vnid,omitempty"`
}

func (*PortVlanAttachmentInitParameters) DeepCopy added in v0.8.0

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

func (*PortVlanAttachmentInitParameters) DeepCopyInto added in v0.8.0

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

type PortVlanAttachmentList

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

PortVlanAttachmentList contains a list of PortVlanAttachments

func (*PortVlanAttachmentList) DeepCopy

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

func (*PortVlanAttachmentList) DeepCopyInto

func (in *PortVlanAttachmentList) DeepCopyInto(out *PortVlanAttachmentList)

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

func (*PortVlanAttachmentList) DeepCopyObject

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

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

func (*PortVlanAttachmentList) GetItems

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

GetItems of this PortVlanAttachmentList.

type PortVlanAttachmentObservation

type PortVlanAttachmentObservation struct {

	// ID of device to be assigned to the VLAN
	DeviceID *string `json:"deviceId,omitempty" tf:"device_id,omitempty"`

	// Add port back to the bond when this resource is removed. Default is false
	ForceBond *bool `json:"forceBond,omitempty" tf:"force_bond,omitempty"`

	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// Mark this VLAN a native VLAN on the port. This can be used only if this assignment assigns second or further VLAN to the port. To ensure that this attachment is not first on a port, you can use depends_on pointing to another equinix_metal_port_vlan_attachment, just like in the layer2-individual example above
	Native *bool `json:"native,omitempty" tf:"native,omitempty"`

	// UUID of device port
	PortID *string `json:"portId,omitempty" tf:"port_id,omitempty"`

	// Name of network port to be assigned to the VLAN
	PortName *string `json:"portName,omitempty" tf:"port_name,omitempty"`

	// UUID of VLAN API resource
	VlanID *string `json:"vlanId,omitempty" tf:"vlan_id,omitempty"`

	// VXLAN Network Identifier, integer
	VlanVnid *float64 `json:"vlanVnid,omitempty" tf:"vlan_vnid,omitempty"`
}

func (*PortVlanAttachmentObservation) DeepCopy

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

func (*PortVlanAttachmentObservation) DeepCopyInto

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

type PortVlanAttachmentParameters

type PortVlanAttachmentParameters struct {

	// ID of device to be assigned to the VLAN
	// +crossplane:generate:reference:type=github.com/crossplane-contrib/provider-jet-equinix/apis/metal/v1alpha1.Device
	// +kubebuilder:validation:Optional
	DeviceID *string `json:"deviceId,omitempty" tf:"device_id,omitempty"`

	// Reference to a Device in metal to populate deviceId.
	// +kubebuilder:validation:Optional
	DeviceIDRef *v1.Reference `json:"deviceIdRef,omitempty" tf:"-"`

	// Selector for a Device in metal to populate deviceId.
	// +kubebuilder:validation:Optional
	DeviceIDSelector *v1.Selector `json:"deviceIdSelector,omitempty" tf:"-"`

	// Add port back to the bond when this resource is removed. Default is false
	// +kubebuilder:validation:Optional
	ForceBond *bool `json:"forceBond,omitempty" tf:"force_bond,omitempty"`

	// Mark this VLAN a native VLAN on the port. This can be used only if this assignment assigns second or further VLAN to the port. To ensure that this attachment is not first on a port, you can use depends_on pointing to another equinix_metal_port_vlan_attachment, just like in the layer2-individual example above
	// +kubebuilder:validation:Optional
	Native *bool `json:"native,omitempty" tf:"native,omitempty"`

	// Name of network port to be assigned to the VLAN
	// +kubebuilder:validation:Optional
	PortName *string `json:"portName,omitempty" tf:"port_name,omitempty"`

	// VXLAN Network Identifier, integer
	// +kubebuilder:validation:Optional
	VlanVnid *float64 `json:"vlanVnid,omitempty" tf:"vlan_vnid,omitempty"`
}

func (*PortVlanAttachmentParameters) DeepCopy

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

func (*PortVlanAttachmentParameters) DeepCopyInto

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

type PortVlanAttachmentSpec

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

PortVlanAttachmentSpec defines the desired state of PortVlanAttachment

func (*PortVlanAttachmentSpec) DeepCopy

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

func (*PortVlanAttachmentSpec) DeepCopyInto

func (in *PortVlanAttachmentSpec) DeepCopyInto(out *PortVlanAttachmentSpec)

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

type PortVlanAttachmentStatus

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

PortVlanAttachmentStatus defines the observed state of PortVlanAttachment.

func (*PortVlanAttachmentStatus) DeepCopy

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

func (*PortVlanAttachmentStatus) DeepCopyInto

func (in *PortVlanAttachmentStatus) DeepCopyInto(out *PortVlanAttachmentStatus)

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

type PortsInitParameters added in v0.8.0

type PortsInitParameters struct {
}

func (*PortsInitParameters) DeepCopy added in v0.8.0

func (in *PortsInitParameters) DeepCopy() *PortsInitParameters

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

func (*PortsInitParameters) DeepCopyInto added in v0.8.0

func (in *PortsInitParameters) DeepCopyInto(out *PortsInitParameters)

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

type PortsObservation

type PortsObservation struct {
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// Status of the connection resource.
	LinkStatus *string `json:"linkStatus,omitempty" tf:"link_status,omitempty"`

	// Name of the connection resource
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	Role *string `json:"role,omitempty" tf:"role,omitempty"`

	// Connection speed - Values must be in the format 'Mbps' or 'Gpbs', for example '100Mbps' or '50Gbps'. Actual supported values will depend on the connection type and whether the connection uses VLANs or VRF.
	Speed *float64 `json:"speed,omitempty" tf:"speed,omitempty"`

	// Status of the connection resource.
	Status *string `json:"status,omitempty" tf:"status,omitempty"`

	VirtualCircuitIds []*string `json:"virtualCircuitIds,omitempty" tf:"virtual_circuit_ids,omitempty"`
}

func (*PortsObservation) DeepCopy

func (in *PortsObservation) DeepCopy() *PortsObservation

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

func (*PortsObservation) DeepCopyInto

func (in *PortsObservation) DeepCopyInto(out *PortsObservation)

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

type PortsParameters

type PortsParameters struct {
}

func (*PortsParameters) DeepCopy

func (in *PortsParameters) DeepCopy() *PortsParameters

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

func (*PortsParameters) DeepCopyInto

func (in *PortsParameters) DeepCopyInto(out *PortsParameters)

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

type Project

type Project 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.name) || (has(self.initProvider) && has(self.initProvider.name))",message="spec.forProvider.name is a required parameter"
	Spec   ProjectSpec   `json:"spec"`
	Status ProjectStatus `json:"status,omitempty"`
}

Project is the Schema for the Projects API. +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,equinix}

func (*Project) DeepCopy

func (in *Project) DeepCopy() *Project

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

func (*Project) DeepCopyInto

func (in *Project) DeepCopyInto(out *Project)

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

func (*Project) DeepCopyObject

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

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

func (*Project) GetCondition

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

GetCondition of this Project.

func (*Project) GetConnectionDetailsMapping

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

GetConnectionDetailsMapping for this Project

func (*Project) GetDeletionPolicy

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

GetDeletionPolicy of this Project.

func (*Project) GetID

func (tr *Project) GetID() string

GetID returns ID of underlying Terraform resource of this Project

func (*Project) GetInitParameters added in v0.8.0

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

GetInitParameters of this Project

func (*Project) GetManagementPolicies added in v0.8.0

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

GetManagementPolicies of this Project.

func (*Project) GetMergedParameters added in v0.8.0

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

GetInitParameters of this Project

func (*Project) GetObservation

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

GetObservation of this Project

func (*Project) GetParameters

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

GetParameters of this Project

func (*Project) GetProviderConfigReference

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

GetProviderConfigReference of this Project.

func (*Project) GetPublishConnectionDetailsTo

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

GetPublishConnectionDetailsTo of this Project.

func (*Project) GetTerraformResourceType

func (mg *Project) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this Project

func (*Project) GetTerraformSchemaVersion

func (tr *Project) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*Project) GetWriteConnectionSecretToReference

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

GetWriteConnectionSecretToReference of this Project.

func (*Project) Hub added in v0.8.0

func (tr *Project) Hub()

Hub marks this type as a conversion hub.

func (*Project) LateInitialize

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

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

func (*Project) ResolveReferences

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

ResolveReferences of this Project.

func (*Project) SetConditions

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

SetConditions of this Project.

func (*Project) SetDeletionPolicy

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

SetDeletionPolicy of this Project.

func (*Project) SetManagementPolicies added in v0.8.0

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

SetManagementPolicies of this Project.

func (*Project) SetObservation

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

SetObservation for this Project

func (*Project) SetParameters

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

SetParameters for this Project

func (*Project) SetProviderConfigReference

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

SetProviderConfigReference of this Project.

func (*Project) SetPublishConnectionDetailsTo

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

SetPublishConnectionDetailsTo of this Project.

func (*Project) SetWriteConnectionSecretToReference

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

SetWriteConnectionSecretToReference of this Project.

type ProjectAPIKey

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

ProjectAPIKey is the Schema for the ProjectAPIKeys API. +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,equinix}

func (*ProjectAPIKey) DeepCopy

func (in *ProjectAPIKey) DeepCopy() *ProjectAPIKey

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

func (*ProjectAPIKey) DeepCopyInto

func (in *ProjectAPIKey) DeepCopyInto(out *ProjectAPIKey)

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

func (*ProjectAPIKey) DeepCopyObject

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

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

func (*ProjectAPIKey) GetCondition

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

GetCondition of this ProjectAPIKey.

func (*ProjectAPIKey) GetConnectionDetailsMapping

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

GetConnectionDetailsMapping for this ProjectAPIKey

func (*ProjectAPIKey) GetDeletionPolicy

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

GetDeletionPolicy of this ProjectAPIKey.

func (*ProjectAPIKey) GetID

func (tr *ProjectAPIKey) GetID() string

GetID returns ID of underlying Terraform resource of this ProjectAPIKey

func (*ProjectAPIKey) GetInitParameters added in v0.8.0

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

GetInitParameters of this ProjectAPIKey

func (*ProjectAPIKey) GetManagementPolicies added in v0.8.0

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

GetManagementPolicies of this ProjectAPIKey.

func (*ProjectAPIKey) GetMergedParameters added in v0.8.0

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

GetInitParameters of this ProjectAPIKey

func (*ProjectAPIKey) GetObservation

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

GetObservation of this ProjectAPIKey

func (*ProjectAPIKey) GetParameters

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

GetParameters of this ProjectAPIKey

func (*ProjectAPIKey) GetProviderConfigReference

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

GetProviderConfigReference of this ProjectAPIKey.

func (*ProjectAPIKey) GetPublishConnectionDetailsTo

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

GetPublishConnectionDetailsTo of this ProjectAPIKey.

func (*ProjectAPIKey) GetTerraformResourceType

func (mg *ProjectAPIKey) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this ProjectAPIKey

func (*ProjectAPIKey) GetTerraformSchemaVersion

func (tr *ProjectAPIKey) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*ProjectAPIKey) GetWriteConnectionSecretToReference

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

GetWriteConnectionSecretToReference of this ProjectAPIKey.

func (*ProjectAPIKey) Hub added in v0.8.0

func (tr *ProjectAPIKey) Hub()

Hub marks this type as a conversion hub.

func (*ProjectAPIKey) LateInitialize

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

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

func (*ProjectAPIKey) ResolveReferences

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

ResolveReferences of this ProjectAPIKey.

func (*ProjectAPIKey) SetConditions

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

SetConditions of this ProjectAPIKey.

func (*ProjectAPIKey) SetDeletionPolicy

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

SetDeletionPolicy of this ProjectAPIKey.

func (*ProjectAPIKey) SetManagementPolicies added in v0.8.0

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

SetManagementPolicies of this ProjectAPIKey.

func (*ProjectAPIKey) SetObservation

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

SetObservation for this ProjectAPIKey

func (*ProjectAPIKey) SetParameters

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

SetParameters for this ProjectAPIKey

func (*ProjectAPIKey) SetProviderConfigReference

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

SetProviderConfigReference of this ProjectAPIKey.

func (*ProjectAPIKey) SetPublishConnectionDetailsTo

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

SetPublishConnectionDetailsTo of this ProjectAPIKey.

func (*ProjectAPIKey) SetWriteConnectionSecretToReference

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

SetWriteConnectionSecretToReference of this ProjectAPIKey.

type ProjectAPIKeyInitParameters added in v0.8.0

type ProjectAPIKeyInitParameters struct {

	// Description string for the Project API Key resource.
	// Description string for the API key
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// UUID of the project where the API key is scoped to.
	// UUID of project which the new API key is scoped to
	// +crossplane:generate:reference:type=github.com/crossplane-contrib/provider-jet-equinix/apis/metal/v1alpha1.Project
	ProjectID *string `json:"projectId,omitempty" tf:"project_id,omitempty"`

	// Reference to a Project in metal to populate projectId.
	// +kubebuilder:validation:Optional
	ProjectIDRef *v1.Reference `json:"projectIdRef,omitempty" tf:"-"`

	// Selector for a Project in metal to populate projectId.
	// +kubebuilder:validation:Optional
	ProjectIDSelector *v1.Selector `json:"projectIdSelector,omitempty" tf:"-"`

	// Flag indicating whether the API key shoud be read-only
	ReadOnly *bool `json:"readOnly,omitempty" tf:"read_only,omitempty"`
}

func (*ProjectAPIKeyInitParameters) DeepCopy added in v0.8.0

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

func (*ProjectAPIKeyInitParameters) DeepCopyInto added in v0.8.0

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

type ProjectAPIKeyList

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

ProjectAPIKeyList contains a list of ProjectAPIKeys

func (*ProjectAPIKeyList) DeepCopy

func (in *ProjectAPIKeyList) DeepCopy() *ProjectAPIKeyList

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

func (*ProjectAPIKeyList) DeepCopyInto

func (in *ProjectAPIKeyList) DeepCopyInto(out *ProjectAPIKeyList)

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

func (*ProjectAPIKeyList) DeepCopyObject

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

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

func (*ProjectAPIKeyList) GetItems

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

GetItems of this ProjectAPIKeyList.

type ProjectAPIKeyObservation

type ProjectAPIKeyObservation struct {

	// Description string for the Project API Key resource.
	// Description string for the API key
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// UUID of the project where the API key is scoped to.
	// UUID of project which the new API key is scoped to
	ProjectID *string `json:"projectId,omitempty" tf:"project_id,omitempty"`

	// Flag indicating whether the API key shoud be read-only
	ReadOnly *bool `json:"readOnly,omitempty" tf:"read_only,omitempty"`
}

func (*ProjectAPIKeyObservation) DeepCopy

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

func (*ProjectAPIKeyObservation) DeepCopyInto

func (in *ProjectAPIKeyObservation) DeepCopyInto(out *ProjectAPIKeyObservation)

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

type ProjectAPIKeyParameters

type ProjectAPIKeyParameters struct {

	// Description string for the Project API Key resource.
	// Description string for the API key
	// +kubebuilder:validation:Optional
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// UUID of the project where the API key is scoped to.
	// UUID of project which the new API key is scoped to
	// +crossplane:generate:reference:type=github.com/crossplane-contrib/provider-jet-equinix/apis/metal/v1alpha1.Project
	// +kubebuilder:validation:Optional
	ProjectID *string `json:"projectId,omitempty" tf:"project_id,omitempty"`

	// Reference to a Project in metal to populate projectId.
	// +kubebuilder:validation:Optional
	ProjectIDRef *v1.Reference `json:"projectIdRef,omitempty" tf:"-"`

	// Selector for a Project in metal to populate projectId.
	// +kubebuilder:validation:Optional
	ProjectIDSelector *v1.Selector `json:"projectIdSelector,omitempty" tf:"-"`

	// Flag indicating whether the API key shoud be read-only
	// +kubebuilder:validation:Optional
	ReadOnly *bool `json:"readOnly,omitempty" tf:"read_only,omitempty"`
}

func (*ProjectAPIKeyParameters) DeepCopy

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

func (*ProjectAPIKeyParameters) DeepCopyInto

func (in *ProjectAPIKeyParameters) DeepCopyInto(out *ProjectAPIKeyParameters)

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

type ProjectAPIKeySpec

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

ProjectAPIKeySpec defines the desired state of ProjectAPIKey

func (*ProjectAPIKeySpec) DeepCopy

func (in *ProjectAPIKeySpec) DeepCopy() *ProjectAPIKeySpec

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

func (*ProjectAPIKeySpec) DeepCopyInto

func (in *ProjectAPIKeySpec) DeepCopyInto(out *ProjectAPIKeySpec)

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

type ProjectAPIKeyStatus

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

ProjectAPIKeyStatus defines the observed state of ProjectAPIKey.

func (*ProjectAPIKeyStatus) DeepCopy

func (in *ProjectAPIKeyStatus) DeepCopy() *ProjectAPIKeyStatus

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

func (*ProjectAPIKeyStatus) DeepCopyInto

func (in *ProjectAPIKeyStatus) DeepCopyInto(out *ProjectAPIKeyStatus)

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

type ProjectInitParameters added in v0.8.0

type ProjectInitParameters struct {

	// Optional BGP settings. Refer to Equinix Metal guide for BGP.
	// Address information block
	BGPConfig []BGPConfigInitParameters `json:"bgpConfig,omitempty" tf:"bgp_config,omitempty"`

	// Enable or disable Backend Transfer, default is false.
	// Enable or disable [Backend Transfer](https://metal.equinix.com/developers/docs/networking/backend-transfer/), default is false
	BackendTransfer *bool `json:"backendTransfer,omitempty" tf:"backend_transfer,omitempty"`

	// The name of the project. The maximum length is 80 characters
	// The name of the project. The maximum length is 80 characters
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// The UUID of organization under which you want to create the project. If you leave it out, the project will be created under your the default organization of your account.
	// The UUID of organization under which the project is created
	// +crossplane:generate:reference:type=github.com/crossplane-contrib/provider-jet-equinix/apis/metal/v1alpha1.Organization
	OrganizationID *string `json:"organizationId,omitempty" tf:"organization_id,omitempty"`

	// Reference to a Organization in metal to populate organizationId.
	// +kubebuilder:validation:Optional
	OrganizationIDRef *v1.Reference `json:"organizationIdRef,omitempty" tf:"-"`

	// Selector for a Organization in metal to populate organizationId.
	// +kubebuilder:validation:Optional
	OrganizationIDSelector *v1.Selector `json:"organizationIdSelector,omitempty" tf:"-"`

	// The UUID of payment method for this project. The payment method and the project need to belong to the same organization (passed with organization_id, or default).
	// The UUID of payment method for this project. The payment method and the project need to belong to the same organization (passed with organization_id, or default)
	PaymentMethodID *string `json:"paymentMethodId,omitempty" tf:"payment_method_id,omitempty"`
}

func (*ProjectInitParameters) DeepCopy added in v0.8.0

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

func (*ProjectInitParameters) DeepCopyInto added in v0.8.0

func (in *ProjectInitParameters) DeepCopyInto(out *ProjectInitParameters)

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

type ProjectList

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

ProjectList contains a list of Projects

func (*ProjectList) DeepCopy

func (in *ProjectList) DeepCopy() *ProjectList

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

func (*ProjectList) DeepCopyInto

func (in *ProjectList) DeepCopyInto(out *ProjectList)

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

func (*ProjectList) DeepCopyObject

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

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

func (*ProjectList) GetItems

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

GetItems of this ProjectList.

type ProjectObservation

type ProjectObservation struct {

	// Optional BGP settings. Refer to Equinix Metal guide for BGP.
	// Address information block
	BGPConfig []BGPConfigObservation `json:"bgpConfig,omitempty" tf:"bgp_config,omitempty"`

	// Enable or disable Backend Transfer, default is false.
	// Enable or disable [Backend Transfer](https://metal.equinix.com/developers/docs/networking/backend-transfer/), default is false
	BackendTransfer *bool `json:"backendTransfer,omitempty" tf:"backend_transfer,omitempty"`

	// The timestamp for when the project was created.
	// The timestamp for when the project was created
	Created *string `json:"created,omitempty" tf:"created,omitempty"`

	// The unique ID of the project.
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// The name of the project. The maximum length is 80 characters
	// The name of the project. The maximum length is 80 characters
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// The UUID of organization under which you want to create the project. If you leave it out, the project will be created under your the default organization of your account.
	// The UUID of organization under which the project is created
	OrganizationID *string `json:"organizationId,omitempty" tf:"organization_id,omitempty"`

	// The UUID of payment method for this project. The payment method and the project need to belong to the same organization (passed with organization_id, or default).
	// The UUID of payment method for this project. The payment method and the project need to belong to the same organization (passed with organization_id, or default)
	PaymentMethodID *string `json:"paymentMethodId,omitempty" tf:"payment_method_id,omitempty"`

	// The timestamp for the last time the project was updated.
	// The timestamp for the last time the project was updated
	Updated *string `json:"updated,omitempty" tf:"updated,omitempty"`
}

func (*ProjectObservation) DeepCopy

func (in *ProjectObservation) DeepCopy() *ProjectObservation

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

func (*ProjectObservation) DeepCopyInto

func (in *ProjectObservation) DeepCopyInto(out *ProjectObservation)

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

type ProjectParameters

type ProjectParameters struct {

	// Optional BGP settings. Refer to Equinix Metal guide for BGP.
	// Address information block
	// +kubebuilder:validation:Optional
	BGPConfig []BGPConfigParameters `json:"bgpConfig,omitempty" tf:"bgp_config,omitempty"`

	// Enable or disable Backend Transfer, default is false.
	// Enable or disable [Backend Transfer](https://metal.equinix.com/developers/docs/networking/backend-transfer/), default is false
	// +kubebuilder:validation:Optional
	BackendTransfer *bool `json:"backendTransfer,omitempty" tf:"backend_transfer,omitempty"`

	// The name of the project. The maximum length is 80 characters
	// The name of the project. The maximum length is 80 characters
	// +kubebuilder:validation:Optional
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// The UUID of organization under which you want to create the project. If you leave it out, the project will be created under your the default organization of your account.
	// The UUID of organization under which the project is created
	// +crossplane:generate:reference:type=github.com/crossplane-contrib/provider-jet-equinix/apis/metal/v1alpha1.Organization
	// +kubebuilder:validation:Optional
	OrganizationID *string `json:"organizationId,omitempty" tf:"organization_id,omitempty"`

	// Reference to a Organization in metal to populate organizationId.
	// +kubebuilder:validation:Optional
	OrganizationIDRef *v1.Reference `json:"organizationIdRef,omitempty" tf:"-"`

	// Selector for a Organization in metal to populate organizationId.
	// +kubebuilder:validation:Optional
	OrganizationIDSelector *v1.Selector `json:"organizationIdSelector,omitempty" tf:"-"`

	// The UUID of payment method for this project. The payment method and the project need to belong to the same organization (passed with organization_id, or default).
	// The UUID of payment method for this project. The payment method and the project need to belong to the same organization (passed with organization_id, or default)
	// +kubebuilder:validation:Optional
	PaymentMethodID *string `json:"paymentMethodId,omitempty" tf:"payment_method_id,omitempty"`
}

func (*ProjectParameters) DeepCopy

func (in *ProjectParameters) DeepCopy() *ProjectParameters

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

func (*ProjectParameters) DeepCopyInto

func (in *ProjectParameters) DeepCopyInto(out *ProjectParameters)

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

type ProjectSSHKey

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

ProjectSSHKey is the Schema for the ProjectSSHKeys API. +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,equinix}

func (*ProjectSSHKey) DeepCopy

func (in *ProjectSSHKey) DeepCopy() *ProjectSSHKey

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

func (*ProjectSSHKey) DeepCopyInto

func (in *ProjectSSHKey) DeepCopyInto(out *ProjectSSHKey)

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

func (*ProjectSSHKey) DeepCopyObject

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

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

func (*ProjectSSHKey) GetCondition

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

GetCondition of this ProjectSSHKey.

func (*ProjectSSHKey) GetConnectionDetailsMapping

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

GetConnectionDetailsMapping for this ProjectSSHKey

func (*ProjectSSHKey) GetDeletionPolicy

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

GetDeletionPolicy of this ProjectSSHKey.

func (*ProjectSSHKey) GetID

func (tr *ProjectSSHKey) GetID() string

GetID returns ID of underlying Terraform resource of this ProjectSSHKey

func (*ProjectSSHKey) GetInitParameters added in v0.8.0

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

GetInitParameters of this ProjectSSHKey

func (*ProjectSSHKey) GetManagementPolicies added in v0.8.0

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

GetManagementPolicies of this ProjectSSHKey.

func (*ProjectSSHKey) GetMergedParameters added in v0.8.0

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

GetInitParameters of this ProjectSSHKey

func (*ProjectSSHKey) GetObservation

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

GetObservation of this ProjectSSHKey

func (*ProjectSSHKey) GetParameters

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

GetParameters of this ProjectSSHKey

func (*ProjectSSHKey) GetProviderConfigReference

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

GetProviderConfigReference of this ProjectSSHKey.

func (*ProjectSSHKey) GetPublishConnectionDetailsTo

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

GetPublishConnectionDetailsTo of this ProjectSSHKey.

func (*ProjectSSHKey) GetTerraformResourceType

func (mg *ProjectSSHKey) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this ProjectSSHKey

func (*ProjectSSHKey) GetTerraformSchemaVersion

func (tr *ProjectSSHKey) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*ProjectSSHKey) GetWriteConnectionSecretToReference

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

GetWriteConnectionSecretToReference of this ProjectSSHKey.

func (*ProjectSSHKey) Hub added in v0.8.0

func (tr *ProjectSSHKey) Hub()

Hub marks this type as a conversion hub.

func (*ProjectSSHKey) LateInitialize

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

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

func (*ProjectSSHKey) ResolveReferences

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

ResolveReferences of this ProjectSSHKey.

func (*ProjectSSHKey) SetConditions

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

SetConditions of this ProjectSSHKey.

func (*ProjectSSHKey) SetDeletionPolicy

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

SetDeletionPolicy of this ProjectSSHKey.

func (*ProjectSSHKey) SetManagementPolicies added in v0.8.0

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

SetManagementPolicies of this ProjectSSHKey.

func (*ProjectSSHKey) SetObservation

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

SetObservation for this ProjectSSHKey

func (*ProjectSSHKey) SetParameters

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

SetParameters for this ProjectSSHKey

func (*ProjectSSHKey) SetProviderConfigReference

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

SetProviderConfigReference of this ProjectSSHKey.

func (*ProjectSSHKey) SetPublishConnectionDetailsTo

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

SetPublishConnectionDetailsTo of this ProjectSSHKey.

func (*ProjectSSHKey) SetWriteConnectionSecretToReference

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

SetWriteConnectionSecretToReference of this ProjectSSHKey.

type ProjectSSHKeyInitParameters added in v0.8.0

type ProjectSSHKeyInitParameters struct {

	// The name of the SSH key for identification.
	// The name of the SSH key for identification
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// The ID of parent project.
	// The ID of parent project
	// +crossplane:generate:reference:type=github.com/crossplane-contrib/provider-jet-equinix/apis/metal/v1alpha1.Project
	ProjectID *string `json:"projectId,omitempty" tf:"project_id,omitempty"`

	// Reference to a Project in metal to populate projectId.
	// +kubebuilder:validation:Optional
	ProjectIDRef *v1.Reference `json:"projectIdRef,omitempty" tf:"-"`

	// Selector for a Project in metal to populate projectId.
	// +kubebuilder:validation:Optional
	ProjectIDSelector *v1.Selector `json:"projectIdSelector,omitempty" tf:"-"`

	// The public key. If this is a file, it can be read using the file interpolation function.
	// The public key
	PublicKey *string `json:"publicKey,omitempty" tf:"public_key,omitempty"`
}

func (*ProjectSSHKeyInitParameters) DeepCopy added in v0.8.0

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

func (*ProjectSSHKeyInitParameters) DeepCopyInto added in v0.8.0

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

type ProjectSSHKeyList

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

ProjectSSHKeyList contains a list of ProjectSSHKeys

func (*ProjectSSHKeyList) DeepCopy

func (in *ProjectSSHKeyList) DeepCopy() *ProjectSSHKeyList

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

func (*ProjectSSHKeyList) DeepCopyInto

func (in *ProjectSSHKeyList) DeepCopyInto(out *ProjectSSHKeyList)

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

func (*ProjectSSHKeyList) DeepCopyObject

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

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

func (*ProjectSSHKeyList) GetItems

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

GetItems of this ProjectSSHKeyList.

type ProjectSSHKeyObservation

type ProjectSSHKeyObservation struct {

	// The timestamp for when the SSH key was created.
	// The timestamp for when the SSH key was created
	Created *string `json:"created,omitempty" tf:"created,omitempty"`

	// The fingerprint of the SSH key.
	// The fingerprint of the SSH key
	Fingerprint *string `json:"fingerprint,omitempty" tf:"fingerprint,omitempty"`

	// The unique ID of the key.
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// The name of the SSH key for identification.
	// The name of the SSH key for identification
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// The ID of parent project (same as project_id).
	// The UUID of the Equinix Metal API User who owns this key
	OwnerID *string `json:"ownerId,omitempty" tf:"owner_id,omitempty"`

	// The ID of parent project.
	// The ID of parent project
	ProjectID *string `json:"projectId,omitempty" tf:"project_id,omitempty"`

	// The public key. If this is a file, it can be read using the file interpolation function.
	// The public key
	PublicKey *string `json:"publicKey,omitempty" tf:"public_key,omitempty"`

	// The timestamp for the last time the SSH key was updated.
	// The timestamp for the last time the SSH key was updated
	Updated *string `json:"updated,omitempty" tf:"updated,omitempty"`
}

func (*ProjectSSHKeyObservation) DeepCopy

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

func (*ProjectSSHKeyObservation) DeepCopyInto

func (in *ProjectSSHKeyObservation) DeepCopyInto(out *ProjectSSHKeyObservation)

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

type ProjectSSHKeyParameters

type ProjectSSHKeyParameters struct {

	// The name of the SSH key for identification.
	// The name of the SSH key for identification
	// +kubebuilder:validation:Optional
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// The ID of parent project.
	// The ID of parent project
	// +crossplane:generate:reference:type=github.com/crossplane-contrib/provider-jet-equinix/apis/metal/v1alpha1.Project
	// +kubebuilder:validation:Optional
	ProjectID *string `json:"projectId,omitempty" tf:"project_id,omitempty"`

	// Reference to a Project in metal to populate projectId.
	// +kubebuilder:validation:Optional
	ProjectIDRef *v1.Reference `json:"projectIdRef,omitempty" tf:"-"`

	// Selector for a Project in metal to populate projectId.
	// +kubebuilder:validation:Optional
	ProjectIDSelector *v1.Selector `json:"projectIdSelector,omitempty" tf:"-"`

	// The public key. If this is a file, it can be read using the file interpolation function.
	// The public key
	// +kubebuilder:validation:Optional
	PublicKey *string `json:"publicKey,omitempty" tf:"public_key,omitempty"`
}

func (*ProjectSSHKeyParameters) DeepCopy

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

func (*ProjectSSHKeyParameters) DeepCopyInto

func (in *ProjectSSHKeyParameters) DeepCopyInto(out *ProjectSSHKeyParameters)

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

type ProjectSSHKeySpec

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

ProjectSSHKeySpec defines the desired state of ProjectSSHKey

func (*ProjectSSHKeySpec) DeepCopy

func (in *ProjectSSHKeySpec) DeepCopy() *ProjectSSHKeySpec

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

func (*ProjectSSHKeySpec) DeepCopyInto

func (in *ProjectSSHKeySpec) DeepCopyInto(out *ProjectSSHKeySpec)

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

type ProjectSSHKeyStatus

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

ProjectSSHKeyStatus defines the observed state of ProjectSSHKey.

func (*ProjectSSHKeyStatus) DeepCopy

func (in *ProjectSSHKeyStatus) DeepCopy() *ProjectSSHKeyStatus

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

func (*ProjectSSHKeyStatus) DeepCopyInto

func (in *ProjectSSHKeyStatus) DeepCopyInto(out *ProjectSSHKeyStatus)

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

type ProjectSpec

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

ProjectSpec defines the desired state of Project

func (*ProjectSpec) DeepCopy

func (in *ProjectSpec) DeepCopy() *ProjectSpec

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

func (*ProjectSpec) DeepCopyInto

func (in *ProjectSpec) DeepCopyInto(out *ProjectSpec)

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

type ProjectStatus

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

ProjectStatus defines the observed state of Project.

func (*ProjectStatus) DeepCopy

func (in *ProjectStatus) DeepCopy() *ProjectStatus

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

func (*ProjectStatus) DeepCopyInto

func (in *ProjectStatus) DeepCopyInto(out *ProjectStatus)

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

type ReinstallInitParameters added in v0.8.0

type ReinstallInitParameters struct {

	// (Boolean) Whether the OS disk should be filled with 00h bytes before reinstall
	// Whether the OS disk should be filled with `00h` bytes before reinstall
	DeprovisionFast *bool `json:"deprovisionFast,omitempty" tf:"deprovision_fast,omitempty"`

	// (Boolean) Whether the device should be reinstalled instead of destroyed
	// Whether the device should be reinstalled instead of destroyed
	Enabled *bool `json:"enabled,omitempty" tf:"enabled,omitempty"`

	// OS disks should be kept or wiped during reinstall
	// Whether the non-OS disks should be kept or wiped during reinstall
	PreserveData *bool `json:"preserveData,omitempty" tf:"preserve_data,omitempty"`
}

func (*ReinstallInitParameters) DeepCopy added in v0.8.0

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

func (*ReinstallInitParameters) DeepCopyInto added in v0.8.0

func (in *ReinstallInitParameters) DeepCopyInto(out *ReinstallInitParameters)

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

type ReinstallObservation

type ReinstallObservation struct {

	// (Boolean) Whether the OS disk should be filled with 00h bytes before reinstall
	// Whether the OS disk should be filled with `00h` bytes before reinstall
	DeprovisionFast *bool `json:"deprovisionFast,omitempty" tf:"deprovision_fast,omitempty"`

	// (Boolean) Whether the device should be reinstalled instead of destroyed
	// Whether the device should be reinstalled instead of destroyed
	Enabled *bool `json:"enabled,omitempty" tf:"enabled,omitempty"`

	// OS disks should be kept or wiped during reinstall
	// Whether the non-OS disks should be kept or wiped during reinstall
	PreserveData *bool `json:"preserveData,omitempty" tf:"preserve_data,omitempty"`
}

func (*ReinstallObservation) DeepCopy

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

func (*ReinstallObservation) DeepCopyInto

func (in *ReinstallObservation) DeepCopyInto(out *ReinstallObservation)

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

type ReinstallParameters

type ReinstallParameters struct {

	// (Boolean) Whether the OS disk should be filled with 00h bytes before reinstall
	// Whether the OS disk should be filled with `00h` bytes before reinstall
	// +kubebuilder:validation:Optional
	DeprovisionFast *bool `json:"deprovisionFast,omitempty" tf:"deprovision_fast,omitempty"`

	// (Boolean) Whether the device should be reinstalled instead of destroyed
	// Whether the device should be reinstalled instead of destroyed
	// +kubebuilder:validation:Optional
	Enabled *bool `json:"enabled,omitempty" tf:"enabled,omitempty"`

	// OS disks should be kept or wiped during reinstall
	// Whether the non-OS disks should be kept or wiped during reinstall
	// +kubebuilder:validation:Optional
	PreserveData *bool `json:"preserveData,omitempty" tf:"preserve_data,omitempty"`
}

func (*ReinstallParameters) DeepCopy

func (in *ReinstallParameters) DeepCopy() *ReinstallParameters

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

func (*ReinstallParameters) DeepCopyInto

func (in *ReinstallParameters) DeepCopyInto(out *ReinstallParameters)

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

type ReservedIPBlock

type ReservedIPBlock struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              ReservedIPBlockSpec   `json:"spec"`
	Status            ReservedIPBlockStatus `json:"status,omitempty"`
}

ReservedIPBlock is the Schema for the ReservedIPBlocks API. +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,equinix}

func (*ReservedIPBlock) DeepCopy

func (in *ReservedIPBlock) DeepCopy() *ReservedIPBlock

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

func (*ReservedIPBlock) DeepCopyInto

func (in *ReservedIPBlock) DeepCopyInto(out *ReservedIPBlock)

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

func (*ReservedIPBlock) DeepCopyObject

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

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

func (*ReservedIPBlock) GetCondition

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

GetCondition of this ReservedIPBlock.

func (*ReservedIPBlock) GetConnectionDetailsMapping

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

GetConnectionDetailsMapping for this ReservedIPBlock

func (*ReservedIPBlock) GetDeletionPolicy

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

GetDeletionPolicy of this ReservedIPBlock.

func (*ReservedIPBlock) GetID

func (tr *ReservedIPBlock) GetID() string

GetID returns ID of underlying Terraform resource of this ReservedIPBlock

func (*ReservedIPBlock) GetInitParameters added in v0.8.0

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

GetInitParameters of this ReservedIPBlock

func (*ReservedIPBlock) GetManagementPolicies added in v0.8.0

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

GetManagementPolicies of this ReservedIPBlock.

func (*ReservedIPBlock) GetMergedParameters added in v0.8.0

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

GetInitParameters of this ReservedIPBlock

func (*ReservedIPBlock) GetObservation

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

GetObservation of this ReservedIPBlock

func (*ReservedIPBlock) GetParameters

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

GetParameters of this ReservedIPBlock

func (*ReservedIPBlock) GetProviderConfigReference

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

GetProviderConfigReference of this ReservedIPBlock.

func (*ReservedIPBlock) GetPublishConnectionDetailsTo

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

GetPublishConnectionDetailsTo of this ReservedIPBlock.

func (*ReservedIPBlock) GetTerraformResourceType

func (mg *ReservedIPBlock) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this ReservedIPBlock

func (*ReservedIPBlock) GetTerraformSchemaVersion

func (tr *ReservedIPBlock) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*ReservedIPBlock) GetWriteConnectionSecretToReference

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

GetWriteConnectionSecretToReference of this ReservedIPBlock.

func (*ReservedIPBlock) Hub added in v0.8.0

func (tr *ReservedIPBlock) Hub()

Hub marks this type as a conversion hub.

func (*ReservedIPBlock) LateInitialize

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

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

func (*ReservedIPBlock) ResolveReferences

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

ResolveReferences of this ReservedIPBlock.

func (*ReservedIPBlock) SetConditions

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

SetConditions of this ReservedIPBlock.

func (*ReservedIPBlock) SetDeletionPolicy

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

SetDeletionPolicy of this ReservedIPBlock.

func (*ReservedIPBlock) SetManagementPolicies added in v0.8.0

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

SetManagementPolicies of this ReservedIPBlock.

func (*ReservedIPBlock) SetObservation

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

SetObservation for this ReservedIPBlock

func (*ReservedIPBlock) SetParameters

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

SetParameters for this ReservedIPBlock

func (*ReservedIPBlock) SetProviderConfigReference

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

SetProviderConfigReference of this ReservedIPBlock.

func (*ReservedIPBlock) SetPublishConnectionDetailsTo

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

SetPublishConnectionDetailsTo of this ReservedIPBlock.

func (*ReservedIPBlock) SetWriteConnectionSecretToReference

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

SetWriteConnectionSecretToReference of this ReservedIPBlock.

type ReservedIPBlockInitParameters added in v0.8.0

type ReservedIPBlockInitParameters struct {

	// Only valid as an argument and required when type is vrf. The size of the network to reserve from an existing VRF ip_range. cidr can only be specified with vrf_id. Range is 22-31. Virtual Circuits require 30-31. Other VRF resources must use a CIDR in the 22-29 range.
	// the size of the network to reserve from an existing vrf ip_range. `cidr` can only be specified with `vrf_id`. Minimum range is 22-29, with 30-31 supported and necessary for virtual-circuits
	Cidr *float64 `json:"cidr,omitempty" tf:"cidr,omitempty"`

	// This may be helpful for self-managed IPAM. The object must be valid JSON. This may be helpful for self-managed IPAM. The object must be valid JSON.
	CustomData *string `json:"customData,omitempty" tf:"custom_data,omitempty"`

	// Arbitrary description.
	// Arbitrary description
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// (Deprecated) Facility where to allocate the public IP address block, makes sense only if type is public_ipv4 and must be empty if type is global_ipv4. Conflicts with metro. Use metro instead; read the facility to metro migration guide
	// Facility where to allocate the public IP address block, makes sense only for type==public_ipv4, must be empty for type==global_ipv4, conflicts with metro
	Facility *string `json:"facility,omitempty" tf:"facility,omitempty"`

	// Metro where to allocate the public IP address block, makes sense only if type is public_ipv4 and must be empty if type is global_ipv4. Conflicts with facility.
	// Metro where to allocate the public IP address block, makes sense only for type==public_ipv4, must be empty for type==global_ipv4, conflicts with facility
	Metro *string `json:"metro,omitempty" tf:"metro,omitempty"`

	// Only valid as an argument and required when type is vrf. An unreserved network address from an existing ip_range in the specified VRF.
	// an unreserved network address from an existing vrf ip_range. `network` can only be specified with vrf_id
	Network *string `json:"network,omitempty" tf:"network,omitempty"`

	// The metal project ID where to allocate the address block.
	// The metal project ID where to allocate the address block
	// +crossplane:generate:reference:type=github.com/crossplane-contrib/provider-jet-equinix/apis/metal/v1alpha1.Project
	ProjectID *string `json:"projectId,omitempty" tf:"project_id,omitempty"`

	// Reference to a Project in metal to populate projectId.
	// +kubebuilder:validation:Optional
	ProjectIDRef *v1.Reference `json:"projectIdRef,omitempty" tf:"-"`

	// Selector for a Project in metal to populate projectId.
	// +kubebuilder:validation:Optional
	ProjectIDSelector *v1.Selector `json:"projectIdSelector,omitempty" tf:"-"`

	// The number of allocated /32 addresses, a power of 2. Required when type is not vrf.
	// The number of allocated /32 addresses, a power of 2
	Quantity *float64 `json:"quantity,omitempty" tf:"quantity,omitempty"`

	// String list of tags.
	// Tags attached to the reserved block
	// +listType=set
	Tags []*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// One of global_ipv4, public_ipv4, or vrf. Defaults to public_ipv4 for backward compatibility.
	// Either global_ipv4, public_ipv4, or vrf. Defaults to public_ipv4.
	Type *string `json:"type,omitempty" tf:"type,omitempty"`

	// Only valid and required when type is vrf. VRF ID for type=vrf reservations.
	// VRF ID for type=vrf reservations
	// +crossplane:generate:reference:type=github.com/crossplane-contrib/provider-jet-equinix/apis/metal/v1alpha1.Vrf
	VrfID *string `json:"vrfId,omitempty" tf:"vrf_id,omitempty"`

	// Reference to a Vrf in metal to populate vrfId.
	// +kubebuilder:validation:Optional
	VrfIDRef *v1.Reference `json:"vrfIdRef,omitempty" tf:"-"`

	// Selector for a Vrf in metal to populate vrfId.
	// +kubebuilder:validation:Optional
	VrfIDSelector *v1.Selector `json:"vrfIdSelector,omitempty" tf:"-"`

	// Wait for the IP reservation block to reach a desired state on resource creation. One of: pending, created. The created state is default and recommended if the addresses are needed within the configuration. An error will be returned if a timeout or the denied state is encountered.
	// Wait for the IP reservation block to reach a desired state on resource creation. One of: `pending`, `created`. The `created` state is default and recommended if the addresses are needed within the configuration. An error will be returned if a timeout or the `denied` state is encountered.
	WaitForState *string `json:"waitForState,omitempty" tf:"wait_for_state,omitempty"`
}

func (*ReservedIPBlockInitParameters) DeepCopy added in v0.8.0

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

func (*ReservedIPBlockInitParameters) DeepCopyInto added in v0.8.0

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

type ReservedIPBlockList

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

ReservedIPBlockList contains a list of ReservedIPBlocks

func (*ReservedIPBlockList) DeepCopy

func (in *ReservedIPBlockList) DeepCopy() *ReservedIPBlockList

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

func (*ReservedIPBlockList) DeepCopyInto

func (in *ReservedIPBlockList) DeepCopyInto(out *ReservedIPBlockList)

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

func (*ReservedIPBlockList) DeepCopyObject

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

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

func (*ReservedIPBlockList) GetItems

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

GetItems of this ReservedIPBlockList.

type ReservedIPBlockObservation

type ReservedIPBlockObservation struct {
	Address *string `json:"address,omitempty" tf:"address,omitempty"`

	// Address family as integer. One of 4 or 6.
	// Address family as integer (4 or 6)
	AddressFamily *float64 `json:"addressFamily,omitempty" tf:"address_family,omitempty"`

	// Only valid as an argument and required when type is vrf. The size of the network to reserve from an existing VRF ip_range. cidr can only be specified with vrf_id. Range is 22-31. Virtual Circuits require 30-31. Other VRF resources must use a CIDR in the 22-29 range.
	// the size of the network to reserve from an existing vrf ip_range. `cidr` can only be specified with `vrf_id`. Minimum range is 22-29, with 30-31 supported and necessary for virtual-circuits
	Cidr *float64 `json:"cidr,omitempty" tf:"cidr,omitempty"`

	// Address and mask in CIDR notation, e.g. 147.229.15.30/31.
	CidrNotation *string `json:"cidrNotation,omitempty" tf:"cidr_notation,omitempty"`

	// This may be helpful for self-managed IPAM. The object must be valid JSON. This may be helpful for self-managed IPAM. The object must be valid JSON.
	CustomData *string `json:"customData,omitempty" tf:"custom_data,omitempty"`

	// Arbitrary description.
	// Arbitrary description
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// (Deprecated) Facility where to allocate the public IP address block, makes sense only if type is public_ipv4 and must be empty if type is global_ipv4. Conflicts with metro. Use metro instead; read the facility to metro migration guide
	// Facility where to allocate the public IP address block, makes sense only for type==public_ipv4, must be empty for type==global_ipv4, conflicts with metro
	Facility *string `json:"facility,omitempty" tf:"facility,omitempty"`

	Gateway *string `json:"gateway,omitempty" tf:"gateway,omitempty"`

	// Boolean flag whether addresses from a block are global (i.e. can be assigned in any metro).
	// Flag indicating whether IP block is global, i.e. assignable in any location
	Global *bool `json:"global,omitempty" tf:"global,omitempty"`

	// The unique ID of the block.
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	Manageable *bool `json:"manageable,omitempty" tf:"manageable,omitempty"`

	Management *bool `json:"management,omitempty" tf:"management,omitempty"`

	// Metro where to allocate the public IP address block, makes sense only if type is public_ipv4 and must be empty if type is global_ipv4. Conflicts with facility.
	// Metro where to allocate the public IP address block, makes sense only for type==public_ipv4, must be empty for type==global_ipv4, conflicts with facility
	Metro *string `json:"metro,omitempty" tf:"metro,omitempty"`

	// Mask in decimal notation, e.g. 255.255.255.0.
	// Mask in decimal notation, e.g. 255.255.255.0
	Netmask *string `json:"netmask,omitempty" tf:"netmask,omitempty"`

	// Only valid as an argument and required when type is vrf. An unreserved network address from an existing ip_range in the specified VRF.
	// an unreserved network address from an existing vrf ip_range. `network` can only be specified with vrf_id
	Network *string `json:"network,omitempty" tf:"network,omitempty"`

	// The metal project ID where to allocate the address block.
	// The metal project ID where to allocate the address block
	ProjectID *string `json:"projectId,omitempty" tf:"project_id,omitempty"`

	// Boolean flag whether addresses from a block are public.
	// Flag indicating whether IP block is addressable from the Internet
	Public *bool `json:"public,omitempty" tf:"public,omitempty"`

	// The number of allocated /32 addresses, a power of 2. Required when type is not vrf.
	// The number of allocated /32 addresses, a power of 2
	Quantity *float64 `json:"quantity,omitempty" tf:"quantity,omitempty"`

	// String list of tags.
	// Tags attached to the reserved block
	// +listType=set
	Tags []*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// One of global_ipv4, public_ipv4, or vrf. Defaults to public_ipv4 for backward compatibility.
	// Either global_ipv4, public_ipv4, or vrf. Defaults to public_ipv4.
	Type *string `json:"type,omitempty" tf:"type,omitempty"`

	// Only valid and required when type is vrf. VRF ID for type=vrf reservations.
	// VRF ID for type=vrf reservations
	VrfID *string `json:"vrfId,omitempty" tf:"vrf_id,omitempty"`

	// Wait for the IP reservation block to reach a desired state on resource creation. One of: pending, created. The created state is default and recommended if the addresses are needed within the configuration. An error will be returned if a timeout or the denied state is encountered.
	// Wait for the IP reservation block to reach a desired state on resource creation. One of: `pending`, `created`. The `created` state is default and recommended if the addresses are needed within the configuration. An error will be returned if a timeout or the `denied` state is encountered.
	WaitForState *string `json:"waitForState,omitempty" tf:"wait_for_state,omitempty"`
}

func (*ReservedIPBlockObservation) DeepCopy

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

func (*ReservedIPBlockObservation) DeepCopyInto

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

type ReservedIPBlockParameters

type ReservedIPBlockParameters struct {

	// Only valid as an argument and required when type is vrf. The size of the network to reserve from an existing VRF ip_range. cidr can only be specified with vrf_id. Range is 22-31. Virtual Circuits require 30-31. Other VRF resources must use a CIDR in the 22-29 range.
	// the size of the network to reserve from an existing vrf ip_range. `cidr` can only be specified with `vrf_id`. Minimum range is 22-29, with 30-31 supported and necessary for virtual-circuits
	// +kubebuilder:validation:Optional
	Cidr *float64 `json:"cidr,omitempty" tf:"cidr,omitempty"`

	// This may be helpful for self-managed IPAM. The object must be valid JSON. This may be helpful for self-managed IPAM. The object must be valid JSON.
	// +kubebuilder:validation:Optional
	CustomData *string `json:"customData,omitempty" tf:"custom_data,omitempty"`

	// Arbitrary description.
	// Arbitrary description
	// +kubebuilder:validation:Optional
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// (Deprecated) Facility where to allocate the public IP address block, makes sense only if type is public_ipv4 and must be empty if type is global_ipv4. Conflicts with metro. Use metro instead; read the facility to metro migration guide
	// Facility where to allocate the public IP address block, makes sense only for type==public_ipv4, must be empty for type==global_ipv4, conflicts with metro
	// +kubebuilder:validation:Optional
	Facility *string `json:"facility,omitempty" tf:"facility,omitempty"`

	// Metro where to allocate the public IP address block, makes sense only if type is public_ipv4 and must be empty if type is global_ipv4. Conflicts with facility.
	// Metro where to allocate the public IP address block, makes sense only for type==public_ipv4, must be empty for type==global_ipv4, conflicts with facility
	// +kubebuilder:validation:Optional
	Metro *string `json:"metro,omitempty" tf:"metro,omitempty"`

	// Only valid as an argument and required when type is vrf. An unreserved network address from an existing ip_range in the specified VRF.
	// an unreserved network address from an existing vrf ip_range. `network` can only be specified with vrf_id
	// +kubebuilder:validation:Optional
	Network *string `json:"network,omitempty" tf:"network,omitempty"`

	// The metal project ID where to allocate the address block.
	// The metal project ID where to allocate the address block
	// +crossplane:generate:reference:type=github.com/crossplane-contrib/provider-jet-equinix/apis/metal/v1alpha1.Project
	// +kubebuilder:validation:Optional
	ProjectID *string `json:"projectId,omitempty" tf:"project_id,omitempty"`

	// Reference to a Project in metal to populate projectId.
	// +kubebuilder:validation:Optional
	ProjectIDRef *v1.Reference `json:"projectIdRef,omitempty" tf:"-"`

	// Selector for a Project in metal to populate projectId.
	// +kubebuilder:validation:Optional
	ProjectIDSelector *v1.Selector `json:"projectIdSelector,omitempty" tf:"-"`

	// The number of allocated /32 addresses, a power of 2. Required when type is not vrf.
	// The number of allocated /32 addresses, a power of 2
	// +kubebuilder:validation:Optional
	Quantity *float64 `json:"quantity,omitempty" tf:"quantity,omitempty"`

	// String list of tags.
	// Tags attached to the reserved block
	// +kubebuilder:validation:Optional
	// +listType=set
	Tags []*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// One of global_ipv4, public_ipv4, or vrf. Defaults to public_ipv4 for backward compatibility.
	// Either global_ipv4, public_ipv4, or vrf. Defaults to public_ipv4.
	// +kubebuilder:validation:Optional
	Type *string `json:"type,omitempty" tf:"type,omitempty"`

	// Only valid and required when type is vrf. VRF ID for type=vrf reservations.
	// VRF ID for type=vrf reservations
	// +crossplane:generate:reference:type=github.com/crossplane-contrib/provider-jet-equinix/apis/metal/v1alpha1.Vrf
	// +kubebuilder:validation:Optional
	VrfID *string `json:"vrfId,omitempty" tf:"vrf_id,omitempty"`

	// Reference to a Vrf in metal to populate vrfId.
	// +kubebuilder:validation:Optional
	VrfIDRef *v1.Reference `json:"vrfIdRef,omitempty" tf:"-"`

	// Selector for a Vrf in metal to populate vrfId.
	// +kubebuilder:validation:Optional
	VrfIDSelector *v1.Selector `json:"vrfIdSelector,omitempty" tf:"-"`

	// Wait for the IP reservation block to reach a desired state on resource creation. One of: pending, created. The created state is default and recommended if the addresses are needed within the configuration. An error will be returned if a timeout or the denied state is encountered.
	// Wait for the IP reservation block to reach a desired state on resource creation. One of: `pending`, `created`. The `created` state is default and recommended if the addresses are needed within the configuration. An error will be returned if a timeout or the `denied` state is encountered.
	// +kubebuilder:validation:Optional
	WaitForState *string `json:"waitForState,omitempty" tf:"wait_for_state,omitempty"`
}

func (*ReservedIPBlockParameters) DeepCopy

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

func (*ReservedIPBlockParameters) DeepCopyInto

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

type ReservedIPBlockSpec

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

ReservedIPBlockSpec defines the desired state of ReservedIPBlock

func (*ReservedIPBlockSpec) DeepCopy

func (in *ReservedIPBlockSpec) DeepCopy() *ReservedIPBlockSpec

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

func (*ReservedIPBlockSpec) DeepCopyInto

func (in *ReservedIPBlockSpec) DeepCopyInto(out *ReservedIPBlockSpec)

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

type ReservedIPBlockStatus

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

ReservedIPBlockStatus defines the observed state of ReservedIPBlock.

func (*ReservedIPBlockStatus) DeepCopy

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

func (*ReservedIPBlockStatus) DeepCopyInto

func (in *ReservedIPBlockStatus) DeepCopyInto(out *ReservedIPBlockStatus)

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

type SSHKey

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

SSHKey is the Schema for the SSHKeys API. +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,equinix}

func (*SSHKey) DeepCopy

func (in *SSHKey) DeepCopy() *SSHKey

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

func (*SSHKey) DeepCopyInto

func (in *SSHKey) DeepCopyInto(out *SSHKey)

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

func (*SSHKey) DeepCopyObject

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

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

func (*SSHKey) GetCondition

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

GetCondition of this SSHKey.

func (*SSHKey) GetConnectionDetailsMapping

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

GetConnectionDetailsMapping for this SSHKey

func (*SSHKey) GetDeletionPolicy

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

GetDeletionPolicy of this SSHKey.

func (*SSHKey) GetID

func (tr *SSHKey) GetID() string

GetID returns ID of underlying Terraform resource of this SSHKey

func (*SSHKey) GetInitParameters added in v0.8.0

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

GetInitParameters of this SSHKey

func (*SSHKey) GetManagementPolicies added in v0.8.0

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

GetManagementPolicies of this SSHKey.

func (*SSHKey) GetMergedParameters added in v0.8.0

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

GetInitParameters of this SSHKey

func (*SSHKey) GetObservation

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

GetObservation of this SSHKey

func (*SSHKey) GetParameters

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

GetParameters of this SSHKey

func (*SSHKey) GetProviderConfigReference

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

GetProviderConfigReference of this SSHKey.

func (*SSHKey) GetPublishConnectionDetailsTo

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

GetPublishConnectionDetailsTo of this SSHKey.

func (*SSHKey) GetTerraformResourceType

func (mg *SSHKey) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this SSHKey

func (*SSHKey) GetTerraformSchemaVersion

func (tr *SSHKey) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*SSHKey) GetWriteConnectionSecretToReference

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

GetWriteConnectionSecretToReference of this SSHKey.

func (*SSHKey) Hub added in v0.8.0

func (tr *SSHKey) Hub()

Hub marks this type as a conversion hub.

func (*SSHKey) LateInitialize

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

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

func (*SSHKey) SetConditions

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

SetConditions of this SSHKey.

func (*SSHKey) SetDeletionPolicy

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

SetDeletionPolicy of this SSHKey.

func (*SSHKey) SetManagementPolicies added in v0.8.0

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

SetManagementPolicies of this SSHKey.

func (*SSHKey) SetObservation

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

SetObservation for this SSHKey

func (*SSHKey) SetParameters

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

SetParameters for this SSHKey

func (*SSHKey) SetProviderConfigReference

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

SetProviderConfigReference of this SSHKey.

func (*SSHKey) SetPublishConnectionDetailsTo

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

SetPublishConnectionDetailsTo of this SSHKey.

func (*SSHKey) SetWriteConnectionSecretToReference

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

SetWriteConnectionSecretToReference of this SSHKey.

type SSHKeyInitParameters added in v0.8.0

type SSHKeyInitParameters struct {

	// The name of the SSH key for identification
	// The name of the SSH key for identification
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// The public key. If this is a file, it can be read using the file interpolation function
	// The public key
	PublicKey *string `json:"publicKey,omitempty" tf:"public_key,omitempty"`
}

func (*SSHKeyInitParameters) DeepCopy added in v0.8.0

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

func (*SSHKeyInitParameters) DeepCopyInto added in v0.8.0

func (in *SSHKeyInitParameters) DeepCopyInto(out *SSHKeyInitParameters)

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

type SSHKeyList

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

SSHKeyList contains a list of SSHKeys

func (*SSHKeyList) DeepCopy

func (in *SSHKeyList) DeepCopy() *SSHKeyList

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

func (*SSHKeyList) DeepCopyInto

func (in *SSHKeyList) DeepCopyInto(out *SSHKeyList)

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

func (*SSHKeyList) DeepCopyObject

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

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

func (*SSHKeyList) GetItems

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

GetItems of this SSHKeyList.

type SSHKeyObservation

type SSHKeyObservation struct {

	// The timestamp for when the SSH key was created.
	// The timestamp for when the SSH key was created
	Created *string `json:"created,omitempty" tf:"created,omitempty"`

	// The fingerprint of the SSH key.
	// The fingerprint of the SSH key
	Fingerprint *string `json:"fingerprint,omitempty" tf:"fingerprint,omitempty"`

	// The unique ID of the key.
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// The name of the SSH key for identification
	// The name of the SSH key for identification
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// The UUID of the Equinix Metal API User who owns this key.
	// The UUID of the Equinix Metal API User who owns this key
	OwnerID *string `json:"ownerId,omitempty" tf:"owner_id,omitempty"`

	// The public key. If this is a file, it can be read using the file interpolation function
	// The public key
	PublicKey *string `json:"publicKey,omitempty" tf:"public_key,omitempty"`

	// The timestamp for the last time the SSH key was updated.
	// The timestamp for the last time the SSH key was updated
	Updated *string `json:"updated,omitempty" tf:"updated,omitempty"`
}

func (*SSHKeyObservation) DeepCopy

func (in *SSHKeyObservation) DeepCopy() *SSHKeyObservation

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

func (*SSHKeyObservation) DeepCopyInto

func (in *SSHKeyObservation) DeepCopyInto(out *SSHKeyObservation)

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

type SSHKeyParameters

type SSHKeyParameters struct {

	// The name of the SSH key for identification
	// The name of the SSH key for identification
	// +kubebuilder:validation:Optional
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// The public key. If this is a file, it can be read using the file interpolation function
	// The public key
	// +kubebuilder:validation:Optional
	PublicKey *string `json:"publicKey,omitempty" tf:"public_key,omitempty"`
}

func (*SSHKeyParameters) DeepCopy

func (in *SSHKeyParameters) DeepCopy() *SSHKeyParameters

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

func (*SSHKeyParameters) DeepCopyInto

func (in *SSHKeyParameters) DeepCopyInto(out *SSHKeyParameters)

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

type SSHKeySpec

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

SSHKeySpec defines the desired state of SSHKey

func (*SSHKeySpec) DeepCopy

func (in *SSHKeySpec) DeepCopy() *SSHKeySpec

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

func (*SSHKeySpec) DeepCopyInto

func (in *SSHKeySpec) DeepCopyInto(out *SSHKeySpec)

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

type SSHKeyStatus

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

SSHKeyStatus defines the observed state of SSHKey.

func (*SSHKeyStatus) DeepCopy

func (in *SSHKeyStatus) DeepCopy() *SSHKeyStatus

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

func (*SSHKeyStatus) DeepCopyInto

func (in *SSHKeyStatus) DeepCopyInto(out *SSHKeyStatus)

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

type ServiceTokensInitParameters added in v0.8.0

type ServiceTokensInitParameters struct {
}

func (*ServiceTokensInitParameters) DeepCopy added in v0.8.0

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

func (*ServiceTokensInitParameters) DeepCopyInto added in v0.8.0

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

type ServiceTokensObservation

type ServiceTokensObservation struct {
	ExpiresAt *string `json:"expiresAt,omitempty" tf:"expires_at,omitempty"`

	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// Connection speed - Values must be in the format 'Mbps' or 'Gpbs', for example '100Mbps' or '50Gbps'. Actual supported values will depend on the connection type and whether the connection uses VLANs or VRF.
	MaxAllowedSpeed *string `json:"maxAllowedSpeed,omitempty" tf:"max_allowed_speed,omitempty"`

	Role *string `json:"role,omitempty" tf:"role,omitempty"`

	State *string `json:"state,omitempty" tf:"state,omitempty"`

	// Connection type - dedicated or shared.
	Type *string `json:"type,omitempty" tf:"type,omitempty"`
}

func (*ServiceTokensObservation) DeepCopy

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

func (*ServiceTokensObservation) DeepCopyInto

func (in *ServiceTokensObservation) DeepCopyInto(out *ServiceTokensObservation)

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

type ServiceTokensParameters

type ServiceTokensParameters struct {
}

func (*ServiceTokensParameters) DeepCopy

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

func (*ServiceTokensParameters) DeepCopyInto

func (in *ServiceTokensParameters) DeepCopyInto(out *ServiceTokensParameters)

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

type SpotMarketRequest

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

SpotMarketRequest is the Schema for the SpotMarketRequests API. +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,equinix}

func (*SpotMarketRequest) DeepCopy

func (in *SpotMarketRequest) DeepCopy() *SpotMarketRequest

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

func (*SpotMarketRequest) DeepCopyInto

func (in *SpotMarketRequest) DeepCopyInto(out *SpotMarketRequest)

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

func (*SpotMarketRequest) DeepCopyObject

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

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

func (*SpotMarketRequest) GetCondition

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

GetCondition of this SpotMarketRequest.

func (*SpotMarketRequest) GetConnectionDetailsMapping

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

GetConnectionDetailsMapping for this SpotMarketRequest

func (*SpotMarketRequest) GetDeletionPolicy

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

GetDeletionPolicy of this SpotMarketRequest.

func (*SpotMarketRequest) GetID

func (tr *SpotMarketRequest) GetID() string

GetID returns ID of underlying Terraform resource of this SpotMarketRequest

func (*SpotMarketRequest) GetInitParameters added in v0.8.0

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

GetInitParameters of this SpotMarketRequest

func (*SpotMarketRequest) GetManagementPolicies added in v0.8.0

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

GetManagementPolicies of this SpotMarketRequest.

func (*SpotMarketRequest) GetMergedParameters added in v0.8.0

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

GetInitParameters of this SpotMarketRequest

func (*SpotMarketRequest) GetObservation

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

GetObservation of this SpotMarketRequest

func (*SpotMarketRequest) GetParameters

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

GetParameters of this SpotMarketRequest

func (*SpotMarketRequest) GetProviderConfigReference

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

GetProviderConfigReference of this SpotMarketRequest.

func (*SpotMarketRequest) GetPublishConnectionDetailsTo

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

GetPublishConnectionDetailsTo of this SpotMarketRequest.

func (*SpotMarketRequest) GetTerraformResourceType

func (mg *SpotMarketRequest) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this SpotMarketRequest

func (*SpotMarketRequest) GetTerraformSchemaVersion

func (tr *SpotMarketRequest) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*SpotMarketRequest) GetWriteConnectionSecretToReference

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

GetWriteConnectionSecretToReference of this SpotMarketRequest.

func (*SpotMarketRequest) Hub added in v0.8.0

func (tr *SpotMarketRequest) Hub()

Hub marks this type as a conversion hub.

func (*SpotMarketRequest) LateInitialize

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

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

func (*SpotMarketRequest) ResolveReferences

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

ResolveReferences of this SpotMarketRequest.

func (*SpotMarketRequest) SetConditions

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

SetConditions of this SpotMarketRequest.

func (*SpotMarketRequest) SetDeletionPolicy

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

SetDeletionPolicy of this SpotMarketRequest.

func (*SpotMarketRequest) SetManagementPolicies added in v0.8.0

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

SetManagementPolicies of this SpotMarketRequest.

func (*SpotMarketRequest) SetObservation

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

SetObservation for this SpotMarketRequest

func (*SpotMarketRequest) SetParameters

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

SetParameters for this SpotMarketRequest

func (*SpotMarketRequest) SetProviderConfigReference

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

SetProviderConfigReference of this SpotMarketRequest.

func (*SpotMarketRequest) SetPublishConnectionDetailsTo

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

SetPublishConnectionDetailsTo of this SpotMarketRequest.

func (*SpotMarketRequest) SetWriteConnectionSecretToReference

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

SetWriteConnectionSecretToReference of this SpotMarketRequest.

type SpotMarketRequestInitParameters added in v0.8.0

type SpotMarketRequestInitParameters struct {

	// Maximum number devices to be created.
	// Maximum number devices to be created
	DevicesMax *float64 `json:"devicesMax,omitempty" tf:"devices_max,omitempty"`

	// Miniumum number devices to be created.
	// Miniumum number devices to be created
	DevicesMin *float64 `json:"devicesMin,omitempty" tf:"devices_min,omitempty"`

	// (Deprecated) Facility IDs where devices should be created. Use metro instead; read the facility to metro migration guide
	// Facility IDs where devices should be created
	Facilities []*string `json:"facilities,omitempty" tf:"facilities,omitempty"`

	// Key/Value pairs of parameters for devices provisioned from this request. Valid keys are: billing_cycle, plan, operating_system, hostname, termination_time, always_pxe, description, features, locked, project_ssh_keys, user_ssh_keys, userdata, customdata, ipxe_script_url, tags. You can find each parameter description in equinix_metal_device docs.
	// Parameters for devices provisioned from this request. You can find the parameter description from the [equinix_metal_device doc](device.md)
	InstanceParameters *InstanceParametersInitParameters `json:"instanceParameters,omitempty" tf:"instance_parameters,omitempty"`

	// Maximum price user is willing to pay per hour per device.
	// Maximum price user is willing to pay per hour per device
	MaxBidPrice *float64 `json:"maxBidPrice,omitempty" tf:"max_bid_price,omitempty"`

	// Metro where devices should be created.
	// Metro where devices should be created
	Metro *string `json:"metro,omitempty" tf:"metro,omitempty"`

	// Project ID.
	// Project ID
	// +crossplane:generate:reference:type=github.com/crossplane-contrib/provider-jet-equinix/apis/metal/v1alpha1.Project
	ProjectID *string `json:"projectId,omitempty" tf:"project_id,omitempty"`

	// Reference to a Project in metal to populate projectId.
	// +kubebuilder:validation:Optional
	ProjectIDRef *v1.Reference `json:"projectIdRef,omitempty" tf:"-"`

	// Selector for a Project in metal to populate projectId.
	// +kubebuilder:validation:Optional
	ProjectIDSelector *v1.Selector `json:"projectIdSelector,omitempty" tf:"-"`

	// On resource creation wait until all desired devices are active. On resource destruction wait until devices are removed.
	// On resource creation - wait until all desired devices are active, on resource destruction - wait until devices are removed
	WaitForDevices *bool `json:"waitForDevices,omitempty" tf:"wait_for_devices,omitempty"`
}

func (*SpotMarketRequestInitParameters) DeepCopy added in v0.8.0

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

func (*SpotMarketRequestInitParameters) DeepCopyInto added in v0.8.0

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

type SpotMarketRequestList

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

SpotMarketRequestList contains a list of SpotMarketRequests

func (*SpotMarketRequestList) DeepCopy

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

func (*SpotMarketRequestList) DeepCopyInto

func (in *SpotMarketRequestList) DeepCopyInto(out *SpotMarketRequestList)

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

func (*SpotMarketRequestList) DeepCopyObject

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

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

func (*SpotMarketRequestList) GetItems

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

GetItems of this SpotMarketRequestList.

type SpotMarketRequestObservation

type SpotMarketRequestObservation struct {

	// Maximum number devices to be created.
	// Maximum number devices to be created
	DevicesMax *float64 `json:"devicesMax,omitempty" tf:"devices_max,omitempty"`

	// Miniumum number devices to be created.
	// Miniumum number devices to be created
	DevicesMin *float64 `json:"devicesMin,omitempty" tf:"devices_min,omitempty"`

	// (Deprecated) Facility IDs where devices should be created. Use metro instead; read the facility to metro migration guide
	// Facility IDs where devices should be created
	Facilities []*string `json:"facilities,omitempty" tf:"facilities,omitempty"`

	// The ID of the Spot Market Request.
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// Key/Value pairs of parameters for devices provisioned from this request. Valid keys are: billing_cycle, plan, operating_system, hostname, termination_time, always_pxe, description, features, locked, project_ssh_keys, user_ssh_keys, userdata, customdata, ipxe_script_url, tags. You can find each parameter description in equinix_metal_device docs.
	// Parameters for devices provisioned from this request. You can find the parameter description from the [equinix_metal_device doc](device.md)
	InstanceParameters *InstanceParametersObservation `json:"instanceParameters,omitempty" tf:"instance_parameters,omitempty"`

	// Maximum price user is willing to pay per hour per device.
	// Maximum price user is willing to pay per hour per device
	MaxBidPrice *float64 `json:"maxBidPrice,omitempty" tf:"max_bid_price,omitempty"`

	// Metro where devices should be created.
	// Metro where devices should be created
	Metro *string `json:"metro,omitempty" tf:"metro,omitempty"`

	// Project ID.
	// Project ID
	ProjectID *string `json:"projectId,omitempty" tf:"project_id,omitempty"`

	// On resource creation wait until all desired devices are active. On resource destruction wait until devices are removed.
	// On resource creation - wait until all desired devices are active, on resource destruction - wait until devices are removed
	WaitForDevices *bool `json:"waitForDevices,omitempty" tf:"wait_for_devices,omitempty"`
}

func (*SpotMarketRequestObservation) DeepCopy

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

func (*SpotMarketRequestObservation) DeepCopyInto

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

type SpotMarketRequestParameters

type SpotMarketRequestParameters struct {

	// Maximum number devices to be created.
	// Maximum number devices to be created
	// +kubebuilder:validation:Optional
	DevicesMax *float64 `json:"devicesMax,omitempty" tf:"devices_max,omitempty"`

	// Miniumum number devices to be created.
	// Miniumum number devices to be created
	// +kubebuilder:validation:Optional
	DevicesMin *float64 `json:"devicesMin,omitempty" tf:"devices_min,omitempty"`

	// (Deprecated) Facility IDs where devices should be created. Use metro instead; read the facility to metro migration guide
	// Facility IDs where devices should be created
	// +kubebuilder:validation:Optional
	Facilities []*string `json:"facilities,omitempty" tf:"facilities,omitempty"`

	// Key/Value pairs of parameters for devices provisioned from this request. Valid keys are: billing_cycle, plan, operating_system, hostname, termination_time, always_pxe, description, features, locked, project_ssh_keys, user_ssh_keys, userdata, customdata, ipxe_script_url, tags. You can find each parameter description in equinix_metal_device docs.
	// Parameters for devices provisioned from this request. You can find the parameter description from the [equinix_metal_device doc](device.md)
	// +kubebuilder:validation:Optional
	InstanceParameters *InstanceParametersParameters `json:"instanceParameters,omitempty" tf:"instance_parameters,omitempty"`

	// Maximum price user is willing to pay per hour per device.
	// Maximum price user is willing to pay per hour per device
	// +kubebuilder:validation:Optional
	MaxBidPrice *float64 `json:"maxBidPrice,omitempty" tf:"max_bid_price,omitempty"`

	// Metro where devices should be created.
	// Metro where devices should be created
	// +kubebuilder:validation:Optional
	Metro *string `json:"metro,omitempty" tf:"metro,omitempty"`

	// Project ID.
	// Project ID
	// +crossplane:generate:reference:type=github.com/crossplane-contrib/provider-jet-equinix/apis/metal/v1alpha1.Project
	// +kubebuilder:validation:Optional
	ProjectID *string `json:"projectId,omitempty" tf:"project_id,omitempty"`

	// Reference to a Project in metal to populate projectId.
	// +kubebuilder:validation:Optional
	ProjectIDRef *v1.Reference `json:"projectIdRef,omitempty" tf:"-"`

	// Selector for a Project in metal to populate projectId.
	// +kubebuilder:validation:Optional
	ProjectIDSelector *v1.Selector `json:"projectIdSelector,omitempty" tf:"-"`

	// On resource creation wait until all desired devices are active. On resource destruction wait until devices are removed.
	// On resource creation - wait until all desired devices are active, on resource destruction - wait until devices are removed
	// +kubebuilder:validation:Optional
	WaitForDevices *bool `json:"waitForDevices,omitempty" tf:"wait_for_devices,omitempty"`
}

func (*SpotMarketRequestParameters) DeepCopy

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

func (*SpotMarketRequestParameters) DeepCopyInto

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

type SpotMarketRequestSpec

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

SpotMarketRequestSpec defines the desired state of SpotMarketRequest

func (*SpotMarketRequestSpec) DeepCopy

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

func (*SpotMarketRequestSpec) DeepCopyInto

func (in *SpotMarketRequestSpec) DeepCopyInto(out *SpotMarketRequestSpec)

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

type SpotMarketRequestStatus

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

SpotMarketRequestStatus defines the observed state of SpotMarketRequest.

func (*SpotMarketRequestStatus) DeepCopy

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

func (*SpotMarketRequestStatus) DeepCopyInto

func (in *SpotMarketRequestStatus) DeepCopyInto(out *SpotMarketRequestStatus)

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

type UserAPIKey

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

UserAPIKey is the Schema for the UserAPIKeys API. +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,equinix}

func (*UserAPIKey) DeepCopy

func (in *UserAPIKey) DeepCopy() *UserAPIKey

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

func (*UserAPIKey) DeepCopyInto

func (in *UserAPIKey) DeepCopyInto(out *UserAPIKey)

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

func (*UserAPIKey) DeepCopyObject

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

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

func (*UserAPIKey) GetCondition

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

GetCondition of this UserAPIKey.

func (*UserAPIKey) GetConnectionDetailsMapping

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

GetConnectionDetailsMapping for this UserAPIKey

func (*UserAPIKey) GetDeletionPolicy

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

GetDeletionPolicy of this UserAPIKey.

func (*UserAPIKey) GetID

func (tr *UserAPIKey) GetID() string

GetID returns ID of underlying Terraform resource of this UserAPIKey

func (*UserAPIKey) GetInitParameters added in v0.8.0

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

GetInitParameters of this UserAPIKey

func (*UserAPIKey) GetManagementPolicies added in v0.8.0

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

GetManagementPolicies of this UserAPIKey.

func (*UserAPIKey) GetMergedParameters added in v0.8.0

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

GetInitParameters of this UserAPIKey

func (*UserAPIKey) GetObservation

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

GetObservation of this UserAPIKey

func (*UserAPIKey) GetParameters

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

GetParameters of this UserAPIKey

func (*UserAPIKey) GetProviderConfigReference

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

GetProviderConfigReference of this UserAPIKey.

func (*UserAPIKey) GetPublishConnectionDetailsTo

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

GetPublishConnectionDetailsTo of this UserAPIKey.

func (*UserAPIKey) GetTerraformResourceType

func (mg *UserAPIKey) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this UserAPIKey

func (*UserAPIKey) GetTerraformSchemaVersion

func (tr *UserAPIKey) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*UserAPIKey) GetWriteConnectionSecretToReference

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

GetWriteConnectionSecretToReference of this UserAPIKey.

func (*UserAPIKey) Hub added in v0.8.0

func (tr *UserAPIKey) Hub()

Hub marks this type as a conversion hub.

func (*UserAPIKey) LateInitialize

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

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

func (*UserAPIKey) SetConditions

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

SetConditions of this UserAPIKey.

func (*UserAPIKey) SetDeletionPolicy

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

SetDeletionPolicy of this UserAPIKey.

func (*UserAPIKey) SetManagementPolicies added in v0.8.0

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

SetManagementPolicies of this UserAPIKey.

func (*UserAPIKey) SetObservation

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

SetObservation for this UserAPIKey

func (*UserAPIKey) SetParameters

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

SetParameters for this UserAPIKey

func (*UserAPIKey) SetProviderConfigReference

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

SetProviderConfigReference of this UserAPIKey.

func (*UserAPIKey) SetPublishConnectionDetailsTo

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

SetPublishConnectionDetailsTo of this UserAPIKey.

func (*UserAPIKey) SetWriteConnectionSecretToReference

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

SetWriteConnectionSecretToReference of this UserAPIKey.

type UserAPIKeyInitParameters added in v0.8.0

type UserAPIKeyInitParameters struct {

	// Description string for the User API Key resource.
	// Description string for the API key
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// Flag indicating whether the API key shoud be read-only
	ReadOnly *bool `json:"readOnly,omitempty" tf:"read_only,omitempty"`
}

func (*UserAPIKeyInitParameters) DeepCopy added in v0.8.0

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

func (*UserAPIKeyInitParameters) DeepCopyInto added in v0.8.0

func (in *UserAPIKeyInitParameters) DeepCopyInto(out *UserAPIKeyInitParameters)

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

type UserAPIKeyList

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

UserAPIKeyList contains a list of UserAPIKeys

func (*UserAPIKeyList) DeepCopy

func (in *UserAPIKeyList) DeepCopy() *UserAPIKeyList

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

func (*UserAPIKeyList) DeepCopyInto

func (in *UserAPIKeyList) DeepCopyInto(out *UserAPIKeyList)

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

func (*UserAPIKeyList) DeepCopyObject

func (in *UserAPIKeyList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*UserAPIKeyList) GetItems

func (l *UserAPIKeyList) GetItems() []resource.Managed

GetItems of this UserAPIKeyList.

type UserAPIKeyObservation

type UserAPIKeyObservation struct {

	// Description string for the User API Key resource.
	// Description string for the API key
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// Flag indicating whether the API key shoud be read-only
	ReadOnly *bool `json:"readOnly,omitempty" tf:"read_only,omitempty"`

	// UUID of the owner of the API key.
	// UUID of user owning this key
	UserID *string `json:"userId,omitempty" tf:"user_id,omitempty"`
}

func (*UserAPIKeyObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UserAPIKeyObservation.

func (*UserAPIKeyObservation) DeepCopyInto

func (in *UserAPIKeyObservation) DeepCopyInto(out *UserAPIKeyObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type UserAPIKeyParameters

type UserAPIKeyParameters struct {

	// Description string for the User API Key resource.
	// Description string for the API key
	// +kubebuilder:validation:Optional
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// Flag indicating whether the API key shoud be read-only
	// +kubebuilder:validation:Optional
	ReadOnly *bool `json:"readOnly,omitempty" tf:"read_only,omitempty"`
}

func (*UserAPIKeyParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UserAPIKeyParameters.

func (*UserAPIKeyParameters) DeepCopyInto

func (in *UserAPIKeyParameters) DeepCopyInto(out *UserAPIKeyParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type UserAPIKeySpec

type UserAPIKeySpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     UserAPIKeyParameters `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 UserAPIKeyInitParameters `json:"initProvider,omitempty"`
}

UserAPIKeySpec defines the desired state of UserAPIKey

func (*UserAPIKeySpec) DeepCopy

func (in *UserAPIKeySpec) DeepCopy() *UserAPIKeySpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UserAPIKeySpec.

func (*UserAPIKeySpec) DeepCopyInto

func (in *UserAPIKeySpec) DeepCopyInto(out *UserAPIKeySpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type UserAPIKeyStatus

type UserAPIKeyStatus struct {
	v1.ResourceStatus `json:",inline"`
	AtProvider        UserAPIKeyObservation `json:"atProvider,omitempty"`
}

UserAPIKeyStatus defines the observed state of UserAPIKey.

func (*UserAPIKeyStatus) DeepCopy

func (in *UserAPIKeyStatus) DeepCopy() *UserAPIKeyStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UserAPIKeyStatus.

func (*UserAPIKeyStatus) DeepCopyInto

func (in *UserAPIKeyStatus) DeepCopyInto(out *UserAPIKeyStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VirtualCircuit

type VirtualCircuit 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.portId) || (has(self.initProvider) && has(self.initProvider.portId))",message="spec.forProvider.portId is a required parameter"
	Spec   VirtualCircuitSpec   `json:"spec"`
	Status VirtualCircuitStatus `json:"status,omitempty"`
}

VirtualCircuit is the Schema for the VirtualCircuits API. +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,equinix}

func (*VirtualCircuit) DeepCopy

func (in *VirtualCircuit) DeepCopy() *VirtualCircuit

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualCircuit.

func (*VirtualCircuit) DeepCopyInto

func (in *VirtualCircuit) DeepCopyInto(out *VirtualCircuit)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*VirtualCircuit) DeepCopyObject

func (in *VirtualCircuit) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*VirtualCircuit) GetCondition

func (mg *VirtualCircuit) GetCondition(ct xpv1.ConditionType) xpv1.Condition

GetCondition of this VirtualCircuit.

func (*VirtualCircuit) GetConnectionDetailsMapping

func (tr *VirtualCircuit) GetConnectionDetailsMapping() map[string]string

GetConnectionDetailsMapping for this VirtualCircuit

func (*VirtualCircuit) GetDeletionPolicy

func (mg *VirtualCircuit) GetDeletionPolicy() xpv1.DeletionPolicy

GetDeletionPolicy of this VirtualCircuit.

func (*VirtualCircuit) GetID

func (tr *VirtualCircuit) GetID() string

GetID returns ID of underlying Terraform resource of this VirtualCircuit

func (*VirtualCircuit) GetInitParameters added in v0.8.0

func (tr *VirtualCircuit) GetInitParameters() (map[string]any, error)

GetInitParameters of this VirtualCircuit

func (*VirtualCircuit) GetManagementPolicies added in v0.8.0

func (mg *VirtualCircuit) GetManagementPolicies() xpv1.ManagementPolicies

GetManagementPolicies of this VirtualCircuit.

func (*VirtualCircuit) GetMergedParameters added in v0.8.0

func (tr *VirtualCircuit) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error)

GetInitParameters of this VirtualCircuit

func (*VirtualCircuit) GetObservation

func (tr *VirtualCircuit) GetObservation() (map[string]any, error)

GetObservation of this VirtualCircuit

func (*VirtualCircuit) GetParameters

func (tr *VirtualCircuit) GetParameters() (map[string]any, error)

GetParameters of this VirtualCircuit

func (*VirtualCircuit) GetProviderConfigReference

func (mg *VirtualCircuit) GetProviderConfigReference() *xpv1.Reference

GetProviderConfigReference of this VirtualCircuit.

func (*VirtualCircuit) GetPublishConnectionDetailsTo

func (mg *VirtualCircuit) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo

GetPublishConnectionDetailsTo of this VirtualCircuit.

func (*VirtualCircuit) GetTerraformResourceType

func (mg *VirtualCircuit) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this VirtualCircuit

func (*VirtualCircuit) GetTerraformSchemaVersion

func (tr *VirtualCircuit) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*VirtualCircuit) GetWriteConnectionSecretToReference

func (mg *VirtualCircuit) GetWriteConnectionSecretToReference() *xpv1.SecretReference

GetWriteConnectionSecretToReference of this VirtualCircuit.

func (*VirtualCircuit) Hub added in v0.8.0

func (tr *VirtualCircuit) Hub()

Hub marks this type as a conversion hub.

func (*VirtualCircuit) LateInitialize

func (tr *VirtualCircuit) LateInitialize(attrs []byte) (bool, error)

LateInitialize this VirtualCircuit using its observed tfState. returns True if there are any spec changes for the resource.

func (*VirtualCircuit) ResolveReferences

func (mg *VirtualCircuit) ResolveReferences(ctx context.Context, c client.Reader) error

ResolveReferences of this VirtualCircuit.

func (*VirtualCircuit) SetConditions

func (mg *VirtualCircuit) SetConditions(c ...xpv1.Condition)

SetConditions of this VirtualCircuit.

func (*VirtualCircuit) SetDeletionPolicy

func (mg *VirtualCircuit) SetDeletionPolicy(r xpv1.DeletionPolicy)

SetDeletionPolicy of this VirtualCircuit.

func (*VirtualCircuit) SetManagementPolicies added in v0.8.0

func (mg *VirtualCircuit) SetManagementPolicies(r xpv1.ManagementPolicies)

SetManagementPolicies of this VirtualCircuit.

func (*VirtualCircuit) SetObservation

func (tr *VirtualCircuit) SetObservation(obs map[string]any) error

SetObservation for this VirtualCircuit

func (*VirtualCircuit) SetParameters

func (tr *VirtualCircuit) SetParameters(params map[string]any) error

SetParameters for this VirtualCircuit

func (*VirtualCircuit) SetProviderConfigReference

func (mg *VirtualCircuit) SetProviderConfigReference(r *xpv1.Reference)

SetProviderConfigReference of this VirtualCircuit.

func (*VirtualCircuit) SetPublishConnectionDetailsTo

func (mg *VirtualCircuit) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)

SetPublishConnectionDetailsTo of this VirtualCircuit.

func (*VirtualCircuit) SetWriteConnectionSecretToReference

func (mg *VirtualCircuit) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)

SetWriteConnectionSecretToReference of this VirtualCircuit.

type VirtualCircuitInitParameters added in v0.8.0

type VirtualCircuitInitParameters struct {

	// (String) UUID of Connection where the VC is scoped to.  Only used for dedicated connections
	// UUID of Connection where the VC is scoped to.  Only used for dedicated connections
	// +crossplane:generate:reference:type=github.com/crossplane-contrib/provider-jet-equinix/apis/metal/v1alpha1.Connection
	ConnectionID *string `json:"connectionId,omitempty" tf:"connection_id,omitempty"`

	// Reference to a Connection in metal to populate connectionId.
	// +kubebuilder:validation:Optional
	ConnectionIDRef *v1.Reference `json:"connectionIdRef,omitempty" tf:"-"`

	// Selector for a Connection in metal to populate connectionId.
	// +kubebuilder:validation:Optional
	ConnectionIDSelector *v1.Selector `json:"connectionIdSelector,omitempty" tf:"-"`

	// (String) The Customer IP address which the CSR switch will peer with. Will default to the other usable IP in the subnet.
	// The Customer IP address which the CSR switch will peer with. Will default to the other usable IP in the subnet.
	CustomerIP *string `json:"customerIp,omitempty" tf:"customer_ip,omitempty"`

	// (String) The Customer IPv6 address which the CSR switch will peer with. Will default to the other usable IP in the IPv6 subnet.
	// The Customer IPv6 address which the CSR switch will peer with. Will default to the other usable IP in the IPv6 subnet.
	CustomerIPv6 *string `json:"customerIpv6,omitempty" tf:"customer_ipv6,omitempty"`

	// (String) Description of the Virtual Circuit resource
	// Description of the Virtual Circuit resource
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// (String, Sensitive) The password that can be set for the VRF BGP peer
	// The password that can be set for the VRF BGP peer
	Md5SecretRef *v1.SecretKeySelector `json:"md5SecretRef,omitempty" tf:"-"`

	// (String) The Metal IP address for the SVI (Switch Virtual Interface) of the VirtualCircuit. Will default to the first usable IP in the subnet.
	// The Metal IP address for the SVI (Switch Virtual Interface) of the VirtualCircuit. Will default to the first usable IP in the subnet.
	MetalIP *string `json:"metalIp,omitempty" tf:"metal_ip,omitempty"`

	// (String) The Metal IPv6 address for the SVI (Switch Virtual Interface) of the VirtualCircuit. Will default to the first usable IP in the IPv6 subnet.
	// The Metal IPv6 address for the SVI (Switch Virtual Interface) of the VirtualCircuit. Will default to the first usable IP in the IPv6 subnet.
	MetalIPv6 *string `json:"metalIpv6,omitempty" tf:"metal_ipv6,omitempty"`

	// (String) Name of the Virtual Circuit resource
	// Name of the Virtual Circuit resource
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// to-network VLAN ID
	// Equinix Metal network-to-network VLAN ID (optional when the connection has mode=tunnel)
	NniVlan *float64 `json:"nniVlan,omitempty" tf:"nni_vlan,omitempty"`

	// (Number) The BGP ASN of the peer. The same ASN may be the used across several VCs, but it cannot be the same as the local_asn of the VRF.
	// The BGP ASN of the peer. The same ASN may be the used across several VCs, but it cannot be the same as the local_asn of the VRF.
	PeerAsn *float64 `json:"peerAsn,omitempty" tf:"peer_asn,omitempty"`

	// (String) UUID of the Connection Port where the VC is scoped to
	// UUID of the Connection Port where the VC is scoped to
	PortID *string `json:"portId,omitempty" tf:"port_id,omitempty"`

	// (String) UUID of the Project where the VC is scoped to
	// UUID of the Project where the VC is scoped to
	// +crossplane:generate:reference:type=github.com/crossplane-contrib/provider-jet-equinix/apis/metal/v1alpha1.Project
	ProjectID *string `json:"projectId,omitempty" tf:"project_id,omitempty"`

	// Reference to a Project in metal to populate projectId.
	// +kubebuilder:validation:Optional
	ProjectIDRef *v1.Reference `json:"projectIdRef,omitempty" tf:"-"`

	// Selector for a Project in metal to populate projectId.
	// +kubebuilder:validation:Optional
	ProjectIDSelector *v1.Selector `json:"projectIdSelector,omitempty" tf:"-"`

	// (String) Description of the Virtual Circuit speed. This is for information purposes and is computed when the connection type is shared.
	// Description of the Virtual Circuit speed. This is for information purposes and is computed when the connection type is shared.
	Speed *string `json:"speed,omitempty" tf:"speed,omitempty"`

	// (String) A subnet from one of the IP blocks associated with the VRF that we will help create an IP reservation for. Can only be either a /30 or /31.
	// * For a /31 block, it will only have two IP addresses, which will be used for the metal_ip and customer_ip.
	// * For a /30 block, it will have four IP addresses, but the first and last IP addresses are not usable. We will default to the first usable IP address for the metal_ip.
	// A subnet from one of the IP blocks associated with the VRF that we will help create an IP reservation for. Can only be either a /30 or /31.
	// * For a /31 block, it will only have two IP addresses, which will be used for the metal_ip and customer_ip.
	// * For a /30 block, it will have four IP addresses, but the first and last IP addresses are not usable. We will default to the first usable IP address for the metal_ip.
	Subnet *string `json:"subnet,omitempty" tf:"subnet,omitempty"`

	// (String) A subnet from one of the IPv6 blocks associated with the VRF that we will help create an IP reservation for. Can only be either a /126 or /127.
	// * For a /127 block, it will only have two IP addresses, which will be used for the metal_ip and customer_ip.
	// * For a /126 block, it will have four IP addresses, but the first and last IP addresses are not usable. We will default to the first usable IP address for the metal_ip.
	// A subnet from one of the IPv6 blocks associated with the VRF that we will help create an IP reservation for. Can only be either a /126 or /127.
	// * For a /127 block, it will only have two IP addresses, which will be used for the metal_ip and customer_ip.
	// * For a /126 block, it will have four IP addresses, but the first and last IP addresses are not usable. We will default to the first usable IP address for the metal_ip.
	SubnetIPv6 *string `json:"subnetIpv6,omitempty" tf:"subnet_ipv6,omitempty"`

	// (List of String) Tags attached to the virtual circuit
	// Tags attached to the virtual circuit
	Tags []*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// (String) UUID of an existing VC to configure. Used in the case of shared interconnections where the VC has already been created.
	// UUID of an existing VC to configure. Used in the case of shared interconnections where the VC has already been created.
	// +crossplane:generate:reference:type=github.com/crossplane-contrib/provider-jet-equinix/apis/metal/v1alpha1.VirtualCircuit
	VirtualCircuitID *string `json:"virtualCircuitId,omitempty" tf:"virtual_circuit_id,omitempty"`

	// Reference to a VirtualCircuit in metal to populate virtualCircuitId.
	// +kubebuilder:validation:Optional
	VirtualCircuitIDRef *v1.Reference `json:"virtualCircuitIdRef,omitempty" tf:"-"`

	// Selector for a VirtualCircuit in metal to populate virtualCircuitId.
	// +kubebuilder:validation:Optional
	VirtualCircuitIDSelector *v1.Selector `json:"virtualCircuitIdSelector,omitempty" tf:"-"`

	// (String) UUID of the VLAN to associate
	// UUID of the VLAN to associate
	// +crossplane:generate:reference:type=github.com/crossplane-contrib/provider-jet-equinix/apis/metal/v1alpha1.Vlan
	VlanID *string `json:"vlanId,omitempty" tf:"vlan_id,omitempty"`

	// Reference to a Vlan in metal to populate vlanId.
	// +kubebuilder:validation:Optional
	VlanIDRef *v1.Reference `json:"vlanIdRef,omitempty" tf:"-"`

	// Selector for a Vlan in metal to populate vlanId.
	// +kubebuilder:validation:Optional
	VlanIDSelector *v1.Selector `json:"vlanIdSelector,omitempty" tf:"-"`

	// (String) UUID of the VRF to associate
	// UUID of the VRF to associate
	// +crossplane:generate:reference:type=github.com/crossplane-contrib/provider-jet-equinix/apis/metal/v1alpha1.Vrf
	VrfID *string `json:"vrfId,omitempty" tf:"vrf_id,omitempty"`

	// Reference to a Vrf in metal to populate vrfId.
	// +kubebuilder:validation:Optional
	VrfIDRef *v1.Reference `json:"vrfIdRef,omitempty" tf:"-"`

	// Selector for a Vrf in metal to populate vrfId.
	// +kubebuilder:validation:Optional
	VrfIDSelector *v1.Selector `json:"vrfIdSelector,omitempty" tf:"-"`
}

func (*VirtualCircuitInitParameters) DeepCopy added in v0.8.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualCircuitInitParameters.

func (*VirtualCircuitInitParameters) DeepCopyInto added in v0.8.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VirtualCircuitList

type VirtualCircuitList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []VirtualCircuit `json:"items"`
}

VirtualCircuitList contains a list of VirtualCircuits

func (*VirtualCircuitList) DeepCopy

func (in *VirtualCircuitList) DeepCopy() *VirtualCircuitList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualCircuitList.

func (*VirtualCircuitList) DeepCopyInto

func (in *VirtualCircuitList) DeepCopyInto(out *VirtualCircuitList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*VirtualCircuitList) DeepCopyObject

func (in *VirtualCircuitList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*VirtualCircuitList) GetItems

func (l *VirtualCircuitList) GetItems() []resource.Managed

GetItems of this VirtualCircuitList.

type VirtualCircuitObservation

type VirtualCircuitObservation struct {

	// (String) UUID of Connection where the VC is scoped to.  Only used for dedicated connections
	// UUID of Connection where the VC is scoped to.  Only used for dedicated connections
	ConnectionID *string `json:"connectionId,omitempty" tf:"connection_id,omitempty"`

	// (String) The Customer IP address which the CSR switch will peer with. Will default to the other usable IP in the subnet.
	// The Customer IP address which the CSR switch will peer with. Will default to the other usable IP in the subnet.
	CustomerIP *string `json:"customerIp,omitempty" tf:"customer_ip,omitempty"`

	// (String) The Customer IPv6 address which the CSR switch will peer with. Will default to the other usable IP in the IPv6 subnet.
	// The Customer IPv6 address which the CSR switch will peer with. Will default to the other usable IP in the IPv6 subnet.
	CustomerIPv6 *string `json:"customerIpv6,omitempty" tf:"customer_ipv6,omitempty"`

	// (String) Description of the Virtual Circuit resource
	// Description of the Virtual Circuit resource
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// (String) The ID of this resource.
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// (String) The Metal IP address for the SVI (Switch Virtual Interface) of the VirtualCircuit. Will default to the first usable IP in the subnet.
	// The Metal IP address for the SVI (Switch Virtual Interface) of the VirtualCircuit. Will default to the first usable IP in the subnet.
	MetalIP *string `json:"metalIp,omitempty" tf:"metal_ip,omitempty"`

	// (String) The Metal IPv6 address for the SVI (Switch Virtual Interface) of the VirtualCircuit. Will default to the first usable IP in the IPv6 subnet.
	// The Metal IPv6 address for the SVI (Switch Virtual Interface) of the VirtualCircuit. Will default to the first usable IP in the IPv6 subnet.
	MetalIPv6 *string `json:"metalIpv6,omitempty" tf:"metal_ipv6,omitempty"`

	// (String) Name of the Virtual Circuit resource
	// Name of the Virtual Circuit resource
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// to-network VLAN ID
	// Equinix Metal network-to-network VLAN ID (optional when the connection has mode=tunnel)
	NniVlan *float64 `json:"nniVlan,omitempty" tf:"nni_vlan,omitempty"`

	// (Number) Nni VLAN ID parameter, see https://deploy.equinix.com/developers/docs/metal/interconnections/introduction/
	// Nni VLAN ID parameter, see https://deploy.equinix.com/developers/docs/metal/interconnections/introduction/
	NniVnid *float64 `json:"nniVnid,omitempty" tf:"nni_vnid,omitempty"`

	// (Number) The BGP ASN of the peer. The same ASN may be the used across several VCs, but it cannot be the same as the local_asn of the VRF.
	// The BGP ASN of the peer. The same ASN may be the used across several VCs, but it cannot be the same as the local_asn of the VRF.
	PeerAsn *float64 `json:"peerAsn,omitempty" tf:"peer_asn,omitempty"`

	// (String) UUID of the Connection Port where the VC is scoped to
	// UUID of the Connection Port where the VC is scoped to
	PortID *string `json:"portId,omitempty" tf:"port_id,omitempty"`

	// (String) UUID of the Project where the VC is scoped to
	// UUID of the Project where the VC is scoped to
	ProjectID *string `json:"projectId,omitempty" tf:"project_id,omitempty"`

	// (String) Description of the Virtual Circuit speed. This is for information purposes and is computed when the connection type is shared.
	// Description of the Virtual Circuit speed. This is for information purposes and is computed when the connection type is shared.
	Speed *string `json:"speed,omitempty" tf:"speed,omitempty"`

	// (String) Status of the virtual circuit resource
	// Status of the virtual circuit resource
	Status *string `json:"status,omitempty" tf:"status,omitempty"`

	// (String) A subnet from one of the IP blocks associated with the VRF that we will help create an IP reservation for. Can only be either a /30 or /31.
	// * For a /31 block, it will only have two IP addresses, which will be used for the metal_ip and customer_ip.
	// * For a /30 block, it will have four IP addresses, but the first and last IP addresses are not usable. We will default to the first usable IP address for the metal_ip.
	// A subnet from one of the IP blocks associated with the VRF that we will help create an IP reservation for. Can only be either a /30 or /31.
	// * For a /31 block, it will only have two IP addresses, which will be used for the metal_ip and customer_ip.
	// * For a /30 block, it will have four IP addresses, but the first and last IP addresses are not usable. We will default to the first usable IP address for the metal_ip.
	Subnet *string `json:"subnet,omitempty" tf:"subnet,omitempty"`

	// (String) A subnet from one of the IPv6 blocks associated with the VRF that we will help create an IP reservation for. Can only be either a /126 or /127.
	// * For a /127 block, it will only have two IP addresses, which will be used for the metal_ip and customer_ip.
	// * For a /126 block, it will have four IP addresses, but the first and last IP addresses are not usable. We will default to the first usable IP address for the metal_ip.
	// A subnet from one of the IPv6 blocks associated with the VRF that we will help create an IP reservation for. Can only be either a /126 or /127.
	// * For a /127 block, it will only have two IP addresses, which will be used for the metal_ip and customer_ip.
	// * For a /126 block, it will have four IP addresses, but the first and last IP addresses are not usable. We will default to the first usable IP address for the metal_ip.
	SubnetIPv6 *string `json:"subnetIpv6,omitempty" tf:"subnet_ipv6,omitempty"`

	// (List of String) Tags attached to the virtual circuit
	// Tags attached to the virtual circuit
	Tags []*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// (String) UUID of an existing VC to configure. Used in the case of shared interconnections where the VC has already been created.
	// UUID of an existing VC to configure. Used in the case of shared interconnections where the VC has already been created.
	VirtualCircuitID *string `json:"virtualCircuitId,omitempty" tf:"virtual_circuit_id,omitempty"`

	// (String) UUID of the VLAN to associate
	// UUID of the VLAN to associate
	VlanID *string `json:"vlanId,omitempty" tf:"vlan_id,omitempty"`

	// (Number) VNID VLAN parameter, see https://deploy.equinix.com/developers/docs/metal/interconnections/introduction/
	// VNID VLAN parameter, see https://deploy.equinix.com/developers/docs/metal/interconnections/introduction/
	Vnid *float64 `json:"vnid,omitempty" tf:"vnid,omitempty"`

	// (String) UUID of the VRF to associate
	// UUID of the VRF to associate
	VrfID *string `json:"vrfId,omitempty" tf:"vrf_id,omitempty"`
}

func (*VirtualCircuitObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualCircuitObservation.

func (*VirtualCircuitObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VirtualCircuitParameters

type VirtualCircuitParameters struct {

	// (String) UUID of Connection where the VC is scoped to.  Only used for dedicated connections
	// UUID of Connection where the VC is scoped to.  Only used for dedicated connections
	// +crossplane:generate:reference:type=github.com/crossplane-contrib/provider-jet-equinix/apis/metal/v1alpha1.Connection
	// +kubebuilder:validation:Optional
	ConnectionID *string `json:"connectionId,omitempty" tf:"connection_id,omitempty"`

	// Reference to a Connection in metal to populate connectionId.
	// +kubebuilder:validation:Optional
	ConnectionIDRef *v1.Reference `json:"connectionIdRef,omitempty" tf:"-"`

	// Selector for a Connection in metal to populate connectionId.
	// +kubebuilder:validation:Optional
	ConnectionIDSelector *v1.Selector `json:"connectionIdSelector,omitempty" tf:"-"`

	// (String) The Customer IP address which the CSR switch will peer with. Will default to the other usable IP in the subnet.
	// The Customer IP address which the CSR switch will peer with. Will default to the other usable IP in the subnet.
	// +kubebuilder:validation:Optional
	CustomerIP *string `json:"customerIp,omitempty" tf:"customer_ip,omitempty"`

	// (String) The Customer IPv6 address which the CSR switch will peer with. Will default to the other usable IP in the IPv6 subnet.
	// The Customer IPv6 address which the CSR switch will peer with. Will default to the other usable IP in the IPv6 subnet.
	// +kubebuilder:validation:Optional
	CustomerIPv6 *string `json:"customerIpv6,omitempty" tf:"customer_ipv6,omitempty"`

	// (String) Description of the Virtual Circuit resource
	// Description of the Virtual Circuit resource
	// +kubebuilder:validation:Optional
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// (String, Sensitive) The password that can be set for the VRF BGP peer
	// The password that can be set for the VRF BGP peer
	// +kubebuilder:validation:Optional
	Md5SecretRef *v1.SecretKeySelector `json:"md5SecretRef,omitempty" tf:"-"`

	// (String) The Metal IP address for the SVI (Switch Virtual Interface) of the VirtualCircuit. Will default to the first usable IP in the subnet.
	// The Metal IP address for the SVI (Switch Virtual Interface) of the VirtualCircuit. Will default to the first usable IP in the subnet.
	// +kubebuilder:validation:Optional
	MetalIP *string `json:"metalIp,omitempty" tf:"metal_ip,omitempty"`

	// (String) The Metal IPv6 address for the SVI (Switch Virtual Interface) of the VirtualCircuit. Will default to the first usable IP in the IPv6 subnet.
	// The Metal IPv6 address for the SVI (Switch Virtual Interface) of the VirtualCircuit. Will default to the first usable IP in the IPv6 subnet.
	// +kubebuilder:validation:Optional
	MetalIPv6 *string `json:"metalIpv6,omitempty" tf:"metal_ipv6,omitempty"`

	// (String) Name of the Virtual Circuit resource
	// Name of the Virtual Circuit resource
	// +kubebuilder:validation:Optional
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// to-network VLAN ID
	// Equinix Metal network-to-network VLAN ID (optional when the connection has mode=tunnel)
	// +kubebuilder:validation:Optional
	NniVlan *float64 `json:"nniVlan,omitempty" tf:"nni_vlan,omitempty"`

	// (Number) The BGP ASN of the peer. The same ASN may be the used across several VCs, but it cannot be the same as the local_asn of the VRF.
	// The BGP ASN of the peer. The same ASN may be the used across several VCs, but it cannot be the same as the local_asn of the VRF.
	// +kubebuilder:validation:Optional
	PeerAsn *float64 `json:"peerAsn,omitempty" tf:"peer_asn,omitempty"`

	// (String) UUID of the Connection Port where the VC is scoped to
	// UUID of the Connection Port where the VC is scoped to
	// +kubebuilder:validation:Optional
	PortID *string `json:"portId,omitempty" tf:"port_id,omitempty"`

	// (String) UUID of the Project where the VC is scoped to
	// UUID of the Project where the VC is scoped to
	// +crossplane:generate:reference:type=github.com/crossplane-contrib/provider-jet-equinix/apis/metal/v1alpha1.Project
	// +kubebuilder:validation:Optional
	ProjectID *string `json:"projectId,omitempty" tf:"project_id,omitempty"`

	// Reference to a Project in metal to populate projectId.
	// +kubebuilder:validation:Optional
	ProjectIDRef *v1.Reference `json:"projectIdRef,omitempty" tf:"-"`

	// Selector for a Project in metal to populate projectId.
	// +kubebuilder:validation:Optional
	ProjectIDSelector *v1.Selector `json:"projectIdSelector,omitempty" tf:"-"`

	// (String) Description of the Virtual Circuit speed. This is for information purposes and is computed when the connection type is shared.
	// Description of the Virtual Circuit speed. This is for information purposes and is computed when the connection type is shared.
	// +kubebuilder:validation:Optional
	Speed *string `json:"speed,omitempty" tf:"speed,omitempty"`

	// (String) A subnet from one of the IP blocks associated with the VRF that we will help create an IP reservation for. Can only be either a /30 or /31.
	// * For a /31 block, it will only have two IP addresses, which will be used for the metal_ip and customer_ip.
	// * For a /30 block, it will have four IP addresses, but the first and last IP addresses are not usable. We will default to the first usable IP address for the metal_ip.
	// A subnet from one of the IP blocks associated with the VRF that we will help create an IP reservation for. Can only be either a /30 or /31.
	// * For a /31 block, it will only have two IP addresses, which will be used for the metal_ip and customer_ip.
	// * For a /30 block, it will have four IP addresses, but the first and last IP addresses are not usable. We will default to the first usable IP address for the metal_ip.
	// +kubebuilder:validation:Optional
	Subnet *string `json:"subnet,omitempty" tf:"subnet,omitempty"`

	// (String) A subnet from one of the IPv6 blocks associated with the VRF that we will help create an IP reservation for. Can only be either a /126 or /127.
	// * For a /127 block, it will only have two IP addresses, which will be used for the metal_ip and customer_ip.
	// * For a /126 block, it will have four IP addresses, but the first and last IP addresses are not usable. We will default to the first usable IP address for the metal_ip.
	// A subnet from one of the IPv6 blocks associated with the VRF that we will help create an IP reservation for. Can only be either a /126 or /127.
	// * For a /127 block, it will only have two IP addresses, which will be used for the metal_ip and customer_ip.
	// * For a /126 block, it will have four IP addresses, but the first and last IP addresses are not usable. We will default to the first usable IP address for the metal_ip.
	// +kubebuilder:validation:Optional
	SubnetIPv6 *string `json:"subnetIpv6,omitempty" tf:"subnet_ipv6,omitempty"`

	// (List of String) Tags attached to the virtual circuit
	// Tags attached to the virtual circuit
	// +kubebuilder:validation:Optional
	Tags []*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// (String) UUID of an existing VC to configure. Used in the case of shared interconnections where the VC has already been created.
	// UUID of an existing VC to configure. Used in the case of shared interconnections where the VC has already been created.
	// +crossplane:generate:reference:type=github.com/crossplane-contrib/provider-jet-equinix/apis/metal/v1alpha1.VirtualCircuit
	// +kubebuilder:validation:Optional
	VirtualCircuitID *string `json:"virtualCircuitId,omitempty" tf:"virtual_circuit_id,omitempty"`

	// Reference to a VirtualCircuit in metal to populate virtualCircuitId.
	// +kubebuilder:validation:Optional
	VirtualCircuitIDRef *v1.Reference `json:"virtualCircuitIdRef,omitempty" tf:"-"`

	// Selector for a VirtualCircuit in metal to populate virtualCircuitId.
	// +kubebuilder:validation:Optional
	VirtualCircuitIDSelector *v1.Selector `json:"virtualCircuitIdSelector,omitempty" tf:"-"`

	// (String) UUID of the VLAN to associate
	// UUID of the VLAN to associate
	// +crossplane:generate:reference:type=github.com/crossplane-contrib/provider-jet-equinix/apis/metal/v1alpha1.Vlan
	// +kubebuilder:validation:Optional
	VlanID *string `json:"vlanId,omitempty" tf:"vlan_id,omitempty"`

	// Reference to a Vlan in metal to populate vlanId.
	// +kubebuilder:validation:Optional
	VlanIDRef *v1.Reference `json:"vlanIdRef,omitempty" tf:"-"`

	// Selector for a Vlan in metal to populate vlanId.
	// +kubebuilder:validation:Optional
	VlanIDSelector *v1.Selector `json:"vlanIdSelector,omitempty" tf:"-"`

	// (String) UUID of the VRF to associate
	// UUID of the VRF to associate
	// +crossplane:generate:reference:type=github.com/crossplane-contrib/provider-jet-equinix/apis/metal/v1alpha1.Vrf
	// +kubebuilder:validation:Optional
	VrfID *string `json:"vrfId,omitempty" tf:"vrf_id,omitempty"`

	// Reference to a Vrf in metal to populate vrfId.
	// +kubebuilder:validation:Optional
	VrfIDRef *v1.Reference `json:"vrfIdRef,omitempty" tf:"-"`

	// Selector for a Vrf in metal to populate vrfId.
	// +kubebuilder:validation:Optional
	VrfIDSelector *v1.Selector `json:"vrfIdSelector,omitempty" tf:"-"`
}

func (*VirtualCircuitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualCircuitParameters.

func (*VirtualCircuitParameters) DeepCopyInto

func (in *VirtualCircuitParameters) DeepCopyInto(out *VirtualCircuitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VirtualCircuitSpec

type VirtualCircuitSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     VirtualCircuitParameters `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 VirtualCircuitInitParameters `json:"initProvider,omitempty"`
}

VirtualCircuitSpec defines the desired state of VirtualCircuit

func (*VirtualCircuitSpec) DeepCopy

func (in *VirtualCircuitSpec) DeepCopy() *VirtualCircuitSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualCircuitSpec.

func (*VirtualCircuitSpec) DeepCopyInto

func (in *VirtualCircuitSpec) DeepCopyInto(out *VirtualCircuitSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VirtualCircuitStatus

type VirtualCircuitStatus struct {
	v1.ResourceStatus `json:",inline"`
	AtProvider        VirtualCircuitObservation `json:"atProvider,omitempty"`
}

VirtualCircuitStatus defines the observed state of VirtualCircuit.

func (*VirtualCircuitStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualCircuitStatus.

func (*VirtualCircuitStatus) DeepCopyInto

func (in *VirtualCircuitStatus) DeepCopyInto(out *VirtualCircuitStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Vlan

type Vlan struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              VlanSpec   `json:"spec"`
	Status            VlanStatus `json:"status,omitempty"`
}

Vlan is the Schema for the Vlans API. +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,equinix}

func (*Vlan) DeepCopy

func (in *Vlan) DeepCopy() *Vlan

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Vlan.

func (*Vlan) DeepCopyInto

func (in *Vlan) DeepCopyInto(out *Vlan)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Vlan) DeepCopyObject

func (in *Vlan) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*Vlan) GetCondition

func (mg *Vlan) GetCondition(ct xpv1.ConditionType) xpv1.Condition

GetCondition of this Vlan.

func (*Vlan) GetConnectionDetailsMapping

func (tr *Vlan) GetConnectionDetailsMapping() map[string]string

GetConnectionDetailsMapping for this Vlan

func (*Vlan) GetDeletionPolicy

func (mg *Vlan) GetDeletionPolicy() xpv1.DeletionPolicy

GetDeletionPolicy of this Vlan.

func (*Vlan) GetID

func (tr *Vlan) GetID() string

GetID returns ID of underlying Terraform resource of this Vlan

func (*Vlan) GetInitParameters added in v0.8.0

func (tr *Vlan) GetInitParameters() (map[string]any, error)

GetInitParameters of this Vlan

func (*Vlan) GetManagementPolicies added in v0.8.0

func (mg *Vlan) GetManagementPolicies() xpv1.ManagementPolicies

GetManagementPolicies of this Vlan.

func (*Vlan) GetMergedParameters added in v0.8.0

func (tr *Vlan) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error)

GetInitParameters of this Vlan

func (*Vlan) GetObservation

func (tr *Vlan) GetObservation() (map[string]any, error)

GetObservation of this Vlan

func (*Vlan) GetParameters

func (tr *Vlan) GetParameters() (map[string]any, error)

GetParameters of this Vlan

func (*Vlan) GetProviderConfigReference

func (mg *Vlan) GetProviderConfigReference() *xpv1.Reference

GetProviderConfigReference of this Vlan.

func (*Vlan) GetPublishConnectionDetailsTo

func (mg *Vlan) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo

GetPublishConnectionDetailsTo of this Vlan.

func (*Vlan) GetTerraformResourceType

func (mg *Vlan) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this Vlan

func (*Vlan) GetTerraformSchemaVersion

func (tr *Vlan) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*Vlan) GetWriteConnectionSecretToReference

func (mg *Vlan) GetWriteConnectionSecretToReference() *xpv1.SecretReference

GetWriteConnectionSecretToReference of this Vlan.

func (*Vlan) Hub added in v0.8.0

func (tr *Vlan) Hub()

Hub marks this type as a conversion hub.

func (*Vlan) LateInitialize

func (tr *Vlan) LateInitialize(attrs []byte) (bool, error)

LateInitialize this Vlan using its observed tfState. returns True if there are any spec changes for the resource.

func (*Vlan) ResolveReferences

func (mg *Vlan) ResolveReferences(ctx context.Context, c client.Reader) error

ResolveReferences of this Vlan.

func (*Vlan) SetConditions

func (mg *Vlan) SetConditions(c ...xpv1.Condition)

SetConditions of this Vlan.

func (*Vlan) SetDeletionPolicy

func (mg *Vlan) SetDeletionPolicy(r xpv1.DeletionPolicy)

SetDeletionPolicy of this Vlan.

func (*Vlan) SetManagementPolicies added in v0.8.0

func (mg *Vlan) SetManagementPolicies(r xpv1.ManagementPolicies)

SetManagementPolicies of this Vlan.

func (*Vlan) SetObservation

func (tr *Vlan) SetObservation(obs map[string]any) error

SetObservation for this Vlan

func (*Vlan) SetParameters

func (tr *Vlan) SetParameters(params map[string]any) error

SetParameters for this Vlan

func (*Vlan) SetProviderConfigReference

func (mg *Vlan) SetProviderConfigReference(r *xpv1.Reference)

SetProviderConfigReference of this Vlan.

func (*Vlan) SetPublishConnectionDetailsTo

func (mg *Vlan) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)

SetPublishConnectionDetailsTo of this Vlan.

func (*Vlan) SetWriteConnectionSecretToReference

func (mg *Vlan) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)

SetWriteConnectionSecretToReference of this Vlan.

type VlanInitParameters added in v0.8.0

type VlanInitParameters struct {

	// Description string.
	// Description string
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// (Deprecated) Facility where to create the VLAN. Use metro instead; read the facility to metro migration guide
	// Facility where to create the VLAN
	Facility *string `json:"facility,omitempty" tf:"facility,omitempty"`

	// Metro in which to create the VLAN
	// Metro in which to create the VLAN
	Metro *string `json:"metro,omitempty" tf:"metro,omitempty"`

	// ID of parent project.
	// ID of parent project
	// +crossplane:generate:reference:type=github.com/crossplane-contrib/provider-jet-equinix/apis/metal/v1alpha1.Project
	ProjectID *string `json:"projectId,omitempty" tf:"project_id,omitempty"`

	// Reference to a Project in metal to populate projectId.
	// +kubebuilder:validation:Optional
	ProjectIDRef *v1.Reference `json:"projectIdRef,omitempty" tf:"-"`

	// Selector for a Project in metal to populate projectId.
	// +kubebuilder:validation:Optional
	ProjectIDSelector *v1.Selector `json:"projectIdSelector,omitempty" tf:"-"`

	// VLAN ID, must be unique in metro.
	// VLAN ID, must be unique in metro
	Vxlan *float64 `json:"vxlan,omitempty" tf:"vxlan,omitempty"`
}

func (*VlanInitParameters) DeepCopy added in v0.8.0

func (in *VlanInitParameters) DeepCopy() *VlanInitParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VlanInitParameters.

func (*VlanInitParameters) DeepCopyInto added in v0.8.0

func (in *VlanInitParameters) DeepCopyInto(out *VlanInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VlanList

type VlanList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Vlan `json:"items"`
}

VlanList contains a list of Vlans

func (*VlanList) DeepCopy

func (in *VlanList) DeepCopy() *VlanList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VlanList.

func (*VlanList) DeepCopyInto

func (in *VlanList) DeepCopyInto(out *VlanList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*VlanList) DeepCopyObject

func (in *VlanList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*VlanList) GetItems

func (l *VlanList) GetItems() []resource.Managed

GetItems of this VlanList.

type VlanObservation

type VlanObservation struct {

	// Description string.
	// Description string
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// (Deprecated) Facility where to create the VLAN. Use metro instead; read the facility to metro migration guide
	// Facility where to create the VLAN
	Facility *string `json:"facility,omitempty" tf:"facility,omitempty"`

	// ID of the virtual network.
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// Metro in which to create the VLAN
	// Metro in which to create the VLAN
	Metro *string `json:"metro,omitempty" tf:"metro,omitempty"`

	// ID of parent project.
	// ID of parent project
	ProjectID *string `json:"projectId,omitempty" tf:"project_id,omitempty"`

	// VLAN ID, must be unique in metro.
	// VLAN ID, must be unique in metro
	Vxlan *float64 `json:"vxlan,omitempty" tf:"vxlan,omitempty"`
}

func (*VlanObservation) DeepCopy

func (in *VlanObservation) DeepCopy() *VlanObservation

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VlanObservation.

func (*VlanObservation) DeepCopyInto

func (in *VlanObservation) DeepCopyInto(out *VlanObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VlanParameters

type VlanParameters struct {

	// Description string.
	// Description string
	// +kubebuilder:validation:Optional
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// (Deprecated) Facility where to create the VLAN. Use metro instead; read the facility to metro migration guide
	// Facility where to create the VLAN
	// +kubebuilder:validation:Optional
	Facility *string `json:"facility,omitempty" tf:"facility,omitempty"`

	// Metro in which to create the VLAN
	// Metro in which to create the VLAN
	// +kubebuilder:validation:Optional
	Metro *string `json:"metro,omitempty" tf:"metro,omitempty"`

	// ID of parent project.
	// ID of parent project
	// +crossplane:generate:reference:type=github.com/crossplane-contrib/provider-jet-equinix/apis/metal/v1alpha1.Project
	// +kubebuilder:validation:Optional
	ProjectID *string `json:"projectId,omitempty" tf:"project_id,omitempty"`

	// Reference to a Project in metal to populate projectId.
	// +kubebuilder:validation:Optional
	ProjectIDRef *v1.Reference `json:"projectIdRef,omitempty" tf:"-"`

	// Selector for a Project in metal to populate projectId.
	// +kubebuilder:validation:Optional
	ProjectIDSelector *v1.Selector `json:"projectIdSelector,omitempty" tf:"-"`

	// VLAN ID, must be unique in metro.
	// VLAN ID, must be unique in metro
	// +kubebuilder:validation:Optional
	Vxlan *float64 `json:"vxlan,omitempty" tf:"vxlan,omitempty"`
}

func (*VlanParameters) DeepCopy

func (in *VlanParameters) DeepCopy() *VlanParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VlanParameters.

func (*VlanParameters) DeepCopyInto

func (in *VlanParameters) DeepCopyInto(out *VlanParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VlanSpec

type VlanSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     VlanParameters `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 VlanInitParameters `json:"initProvider,omitempty"`
}

VlanSpec defines the desired state of Vlan

func (*VlanSpec) DeepCopy

func (in *VlanSpec) DeepCopy() *VlanSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VlanSpec.

func (*VlanSpec) DeepCopyInto

func (in *VlanSpec) DeepCopyInto(out *VlanSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VlanStatus

type VlanStatus struct {
	v1.ResourceStatus `json:",inline"`
	AtProvider        VlanObservation `json:"atProvider,omitempty"`
}

VlanStatus defines the observed state of Vlan.

func (*VlanStatus) DeepCopy

func (in *VlanStatus) DeepCopy() *VlanStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VlanStatus.

func (*VlanStatus) DeepCopyInto

func (in *VlanStatus) DeepCopyInto(out *VlanStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Vrf

type Vrf 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.metro) || (has(self.initProvider) && has(self.initProvider.metro))",message="spec.forProvider.metro 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   VrfSpec   `json:"spec"`
	Status VrfStatus `json:"status,omitempty"`
}

Vrf is the Schema for the Vrfs API. +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,equinix}

func (*Vrf) DeepCopy

func (in *Vrf) DeepCopy() *Vrf

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Vrf.

func (*Vrf) DeepCopyInto

func (in *Vrf) DeepCopyInto(out *Vrf)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Vrf) DeepCopyObject

func (in *Vrf) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*Vrf) GetCondition

func (mg *Vrf) GetCondition(ct xpv1.ConditionType) xpv1.Condition

GetCondition of this Vrf.

func (*Vrf) GetConnectionDetailsMapping

func (tr *Vrf) GetConnectionDetailsMapping() map[string]string

GetConnectionDetailsMapping for this Vrf

func (*Vrf) GetDeletionPolicy

func (mg *Vrf) GetDeletionPolicy() xpv1.DeletionPolicy

GetDeletionPolicy of this Vrf.

func (*Vrf) GetID

func (tr *Vrf) GetID() string

GetID returns ID of underlying Terraform resource of this Vrf

func (*Vrf) GetInitParameters added in v0.8.0

func (tr *Vrf) GetInitParameters() (map[string]any, error)

GetInitParameters of this Vrf

func (*Vrf) GetManagementPolicies added in v0.8.0

func (mg *Vrf) GetManagementPolicies() xpv1.ManagementPolicies

GetManagementPolicies of this Vrf.

func (*Vrf) GetMergedParameters added in v0.8.0

func (tr *Vrf) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error)

GetInitParameters of this Vrf

func (*Vrf) GetObservation

func (tr *Vrf) GetObservation() (map[string]any, error)

GetObservation of this Vrf

func (*Vrf) GetParameters

func (tr *Vrf) GetParameters() (map[string]any, error)

GetParameters of this Vrf

func (*Vrf) GetProviderConfigReference

func (mg *Vrf) GetProviderConfigReference() *xpv1.Reference

GetProviderConfigReference of this Vrf.

func (*Vrf) GetPublishConnectionDetailsTo

func (mg *Vrf) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo

GetPublishConnectionDetailsTo of this Vrf.

func (*Vrf) GetTerraformResourceType

func (mg *Vrf) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this Vrf

func (*Vrf) GetTerraformSchemaVersion

func (tr *Vrf) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*Vrf) GetWriteConnectionSecretToReference

func (mg *Vrf) GetWriteConnectionSecretToReference() *xpv1.SecretReference

GetWriteConnectionSecretToReference of this Vrf.

func (*Vrf) Hub added in v0.8.0

func (tr *Vrf) Hub()

Hub marks this type as a conversion hub.

func (*Vrf) LateInitialize

func (tr *Vrf) LateInitialize(attrs []byte) (bool, error)

LateInitialize this Vrf using its observed tfState. returns True if there are any spec changes for the resource.

func (*Vrf) ResolveReferences

func (mg *Vrf) ResolveReferences(ctx context.Context, c client.Reader) error

ResolveReferences of this Vrf.

func (*Vrf) SetConditions

func (mg *Vrf) SetConditions(c ...xpv1.Condition)

SetConditions of this Vrf.

func (*Vrf) SetDeletionPolicy

func (mg *Vrf) SetDeletionPolicy(r xpv1.DeletionPolicy)

SetDeletionPolicy of this Vrf.

func (*Vrf) SetManagementPolicies added in v0.8.0

func (mg *Vrf) SetManagementPolicies(r xpv1.ManagementPolicies)

SetManagementPolicies of this Vrf.

func (*Vrf) SetObservation

func (tr *Vrf) SetObservation(obs map[string]any) error

SetObservation for this Vrf

func (*Vrf) SetParameters

func (tr *Vrf) SetParameters(params map[string]any) error

SetParameters for this Vrf

func (*Vrf) SetProviderConfigReference

func (mg *Vrf) SetProviderConfigReference(r *xpv1.Reference)

SetProviderConfigReference of this Vrf.

func (*Vrf) SetPublishConnectionDetailsTo

func (mg *Vrf) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)

SetPublishConnectionDetailsTo of this Vrf.

func (*Vrf) SetWriteConnectionSecretToReference

func (mg *Vrf) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)

SetWriteConnectionSecretToReference of this Vrf.

type VrfInitParameters added in v0.8.0

type VrfInitParameters struct {

	// Description of the VRF.
	// Description of the VRF
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// All IPv4 and IPv6 Ranges that will be available to BGP Peers. IPv4 addresses must be /8 or smaller with a minimum size of /29. IPv6 must be /56 or smaller with a minimum size of /64. Ranges must not overlap other ranges within the VRF.
	// All IPv4 and IPv6 Ranges that will be available to BGP Peers. IPv4 addresses must be /8 or smaller with a minimum size of /29. IPv6 must be /56 or smaller with a minimum size of /64. Ranges must not overlap other ranges within the VRF.
	// +listType=set
	IPRanges []*string `json:"ipRanges,omitempty" tf:"ip_ranges,omitempty"`

	// The 4-byte ASN set on the VRF.
	// The 4-byte ASN set on the VRF.
	LocalAsn *float64 `json:"localAsn,omitempty" tf:"local_asn,omitempty"`

	// Metro ID or Code where the VRF will be deployed.
	// Metro Code
	Metro *string `json:"metro,omitempty" tf:"metro,omitempty"`

	// User-supplied name of the VRF, unique to the project
	// User-supplied name of the VRF, unique to the project
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// Project ID where the VRF will be deployed.
	// Project ID
	// +crossplane:generate:reference:type=github.com/crossplane-contrib/provider-jet-equinix/apis/metal/v1alpha1.Project
	ProjectID *string `json:"projectId,omitempty" tf:"project_id,omitempty"`

	// Reference to a Project in metal to populate projectId.
	// +kubebuilder:validation:Optional
	ProjectIDRef *v1.Reference `json:"projectIdRef,omitempty" tf:"-"`

	// Selector for a Project in metal to populate projectId.
	// +kubebuilder:validation:Optional
	ProjectIDSelector *v1.Selector `json:"projectIdSelector,omitempty" tf:"-"`
}

func (*VrfInitParameters) DeepCopy added in v0.8.0

func (in *VrfInitParameters) DeepCopy() *VrfInitParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VrfInitParameters.

func (*VrfInitParameters) DeepCopyInto added in v0.8.0

func (in *VrfInitParameters) DeepCopyInto(out *VrfInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VrfList

type VrfList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Vrf `json:"items"`
}

VrfList contains a list of Vrfs

func (*VrfList) DeepCopy

func (in *VrfList) DeepCopy() *VrfList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VrfList.

func (*VrfList) DeepCopyInto

func (in *VrfList) DeepCopyInto(out *VrfList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*VrfList) DeepCopyObject

func (in *VrfList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*VrfList) GetItems

func (l *VrfList) GetItems() []resource.Managed

GetItems of this VrfList.

type VrfObservation

type VrfObservation struct {

	// Description of the VRF.
	// Description of the VRF
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// All IPv4 and IPv6 Ranges that will be available to BGP Peers. IPv4 addresses must be /8 or smaller with a minimum size of /29. IPv6 must be /56 or smaller with a minimum size of /64. Ranges must not overlap other ranges within the VRF.
	// All IPv4 and IPv6 Ranges that will be available to BGP Peers. IPv4 addresses must be /8 or smaller with a minimum size of /29. IPv6 must be /56 or smaller with a minimum size of /64. Ranges must not overlap other ranges within the VRF.
	// +listType=set
	IPRanges []*string `json:"ipRanges,omitempty" tf:"ip_ranges,omitempty"`

	// The 4-byte ASN set on the VRF.
	// The 4-byte ASN set on the VRF.
	LocalAsn *float64 `json:"localAsn,omitempty" tf:"local_asn,omitempty"`

	// Metro ID or Code where the VRF will be deployed.
	// Metro Code
	Metro *string `json:"metro,omitempty" tf:"metro,omitempty"`

	// User-supplied name of the VRF, unique to the project
	// User-supplied name of the VRF, unique to the project
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// Project ID where the VRF will be deployed.
	// Project ID
	ProjectID *string `json:"projectId,omitempty" tf:"project_id,omitempty"`
}

func (*VrfObservation) DeepCopy

func (in *VrfObservation) DeepCopy() *VrfObservation

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VrfObservation.

func (*VrfObservation) DeepCopyInto

func (in *VrfObservation) DeepCopyInto(out *VrfObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VrfParameters

type VrfParameters struct {

	// Description of the VRF.
	// Description of the VRF
	// +kubebuilder:validation:Optional
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// All IPv4 and IPv6 Ranges that will be available to BGP Peers. IPv4 addresses must be /8 or smaller with a minimum size of /29. IPv6 must be /56 or smaller with a minimum size of /64. Ranges must not overlap other ranges within the VRF.
	// All IPv4 and IPv6 Ranges that will be available to BGP Peers. IPv4 addresses must be /8 or smaller with a minimum size of /29. IPv6 must be /56 or smaller with a minimum size of /64. Ranges must not overlap other ranges within the VRF.
	// +kubebuilder:validation:Optional
	// +listType=set
	IPRanges []*string `json:"ipRanges,omitempty" tf:"ip_ranges,omitempty"`

	// The 4-byte ASN set on the VRF.
	// The 4-byte ASN set on the VRF.
	// +kubebuilder:validation:Optional
	LocalAsn *float64 `json:"localAsn,omitempty" tf:"local_asn,omitempty"`

	// Metro ID or Code where the VRF will be deployed.
	// Metro Code
	// +kubebuilder:validation:Optional
	Metro *string `json:"metro,omitempty" tf:"metro,omitempty"`

	// User-supplied name of the VRF, unique to the project
	// User-supplied name of the VRF, unique to the project
	// +kubebuilder:validation:Optional
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// Project ID where the VRF will be deployed.
	// Project ID
	// +crossplane:generate:reference:type=github.com/crossplane-contrib/provider-jet-equinix/apis/metal/v1alpha1.Project
	// +kubebuilder:validation:Optional
	ProjectID *string `json:"projectId,omitempty" tf:"project_id,omitempty"`

	// Reference to a Project in metal to populate projectId.
	// +kubebuilder:validation:Optional
	ProjectIDRef *v1.Reference `json:"projectIdRef,omitempty" tf:"-"`

	// Selector for a Project in metal to populate projectId.
	// +kubebuilder:validation:Optional
	ProjectIDSelector *v1.Selector `json:"projectIdSelector,omitempty" tf:"-"`
}

func (*VrfParameters) DeepCopy

func (in *VrfParameters) DeepCopy() *VrfParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VrfParameters.

func (*VrfParameters) DeepCopyInto

func (in *VrfParameters) DeepCopyInto(out *VrfParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VrfSpec

type VrfSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     VrfParameters `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 VrfInitParameters `json:"initProvider,omitempty"`
}

VrfSpec defines the desired state of Vrf

func (*VrfSpec) DeepCopy

func (in *VrfSpec) DeepCopy() *VrfSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VrfSpec.

func (*VrfSpec) DeepCopyInto

func (in *VrfSpec) DeepCopyInto(out *VrfSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VrfStatus

type VrfStatus struct {
	v1.ResourceStatus `json:",inline"`
	AtProvider        VrfObservation `json:"atProvider,omitempty"`
}

VrfStatus defines the observed state of Vrf.

func (*VrfStatus) DeepCopy

func (in *VrfStatus) DeepCopy() *VrfStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VrfStatus.

func (*VrfStatus) DeepCopyInto

func (in *VrfStatus) DeepCopyInto(out *VrfStatus)

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