Help us shape the future of Go! Take the 2026 Go Developer Survey

v1alpha6

package
v0.6.9 Latest Latest
Warning

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

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

Documentation

Overview

package v1alpha6 contains API Schema definitions for the infrastructure v1alpha6 API group +kubebuilder:object:generate=true +groupName=infrastructure.cluster.x-k8s.io

Index

Constants

View Source
const (
	// InstanceReadyCondition reports on current status of the OpenStack instance. Ready indicates the instance is in a Running state.
	InstanceReadyCondition clusterv1.ConditionType = "InstanceReady"

	// WaitingForClusterInfrastructureReason used when machine is waiting for cluster infrastructure to be ready before proceeding.
	WaitingForClusterInfrastructureReason = "WaitingForClusterInfrastructure"
	// WaitingForBootstrapDataReason used when machine is waiting for bootstrap data to be ready before proceeding.
	WaitingForBootstrapDataReason = "WaitingForBootstrapData"
	// InvalidMachineSpecReason used when the machine spec is invalid.
	InvalidMachineSpecReason = "InvalidMachineSpec"
	// InstanceCreateFailedReason used when creating the instance failed.
	InstanceCreateFailedReason = "InstanceCreateFailed"
	// InstanceNotFoundReason used when the instance couldn't be retrieved.
	InstanceNotFoundReason = "InstanceNotFound"
	// InstanceStateErrorReason used when the instance is in error state.
	InstanceStateErrorReason = "InstanceStateError"
	// InstanceDeletedReason used when the instance is in a deleted state.
	InstanceDeletedReason = "InstanceDeleted"
	// InstanceNotReadyReason used when the instance is in a pending state.
	InstanceNotReadyReason = "InstanceNotReady"
	// InstanceDeleteFailedReason used when deleting the instance failed.
	InstanceDeleteFailedReason = "InstanceDeleteFailed"
)
View Source
const (
	// APIServerIngressReadyCondition reports on the current status of the network ingress (Loadbalancer, Floating IP) for Control Plane machines. Ready indicates that the instance can receive requests.
	APIServerIngressReadyCondition clusterv1.ConditionType = "APIServerIngressReadyCondition"

	// LoadBalancerMemberErrorReason used when the instance could not be added as a loadbalancer member.
	LoadBalancerMemberErrorReason = "LoadBalancerMemberError"
	// FloatingIPErrorReason used when the floating ip could not be created or attached.
	FloatingIPErrorReason = "FloatingIPError"
)
View Source
const (
	// ClusterFinalizer allows ReconcileOpenStackCluster to clean up OpenStack resources associated with OpenStackCluster before
	// removing it from the apiserver.
	ClusterFinalizer = "openstackcluster.infrastructure.cluster.x-k8s.io"
)
View Source
const (
	// MachineFinalizer allows ReconcileOpenStackMachine to clean up OpenStack resources associated with OpenStackMachine before
	// removing it from the apiserver.
	MachineFinalizer = "openstackmachine.infrastructure.cluster.x-k8s.io"
)
View Source
const OpenStackMachineTemplateImmutableMsg = "" /* 177-byte string literal not displayed */

OpenStackMachineTemplateImmutableMsg ...

Variables

View Source
var (
	// GroupVersion is group version used to register these objects.
	GroupVersion = schema.GroupVersion{Group: "infrastructure.cluster.x-k8s.io", Version: "v1alpha6"}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme.
	SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion}

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)
View Source
var (
	// InstanceStateBuilding is the string representing an instance in a building state.
	InstanceStateBuilding = InstanceState("BUILDING")

	// InstanceStateActive is the string representing an instance in an active state.
	InstanceStateActive = InstanceState("ACTIVE")

	// InstanceStateError is the string representing an instance in an error state.
	InstanceStateError = InstanceState("ERROR")

	// InstanceStateStopped is the string representing an instance in a stopped state.
	InstanceStateStopped = InstanceState("STOPPED")

	// InstanceStateShutoff is the string representing an instance in a shutoff state.
	InstanceStateShutoff = InstanceState("SHUTOFF")

	// InstanceStateDeleted is the string representing an instance in a deleted state.
	InstanceStateDeleted = InstanceState("DELETED")
)

Functions

This section is empty.

Types

type APIServerLoadBalancer

type APIServerLoadBalancer struct {
	// Enabled defines whether a load balancer should be created.
	Enabled bool `json:"enabled,omitempty"`
	// AdditionalPorts adds additional tcp ports to the load balancer.
	AdditionalPorts []int `json:"additionalPorts,omitempty"`
	// AllowedCIDRs restrict access to all API-Server listeners to the given address CIDRs.
	AllowedCIDRs []string `json:"allowedCidrs,omitempty"`
}

func (*APIServerLoadBalancer) DeepCopy

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

func (*APIServerLoadBalancer) DeepCopyInto

func (in *APIServerLoadBalancer) DeepCopyInto(out *APIServerLoadBalancer)

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

type AddressPair

type AddressPair struct {
	IPAddress  string `json:"ipAddress,omitempty"`
	MACAddress string `json:"macAddress,omitempty"`
}

func (*AddressPair) DeepCopy

func (in *AddressPair) DeepCopy() *AddressPair

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

func (*AddressPair) DeepCopyInto

func (in *AddressPair) DeepCopyInto(out *AddressPair)

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

type Bastion

type Bastion struct {
	//+optional
	Enabled bool `json:"enabled"`

	// Instance for the bastion itself
	Instance OpenStackMachineSpec `json:"instance,omitempty"`

	// UserData for the bastion itself
	UserData string `json:"userData,omitempty"`

	//+optional
	AvailabilityZone string `json:"availabilityZone,omitempty"`
}

Bastion represents basic information about the bastion node.

func (*Bastion) DeepCopy

func (in *Bastion) DeepCopy() *Bastion

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

func (*Bastion) DeepCopyInto

func (in *Bastion) DeepCopyInto(out *Bastion)

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

type ExternalRouterIPParam

type ExternalRouterIPParam struct {
	// The FixedIP in the corresponding subnet
	FixedIP string `json:"fixedIP,omitempty"`
	// The subnet in which the FixedIP is used for the Gateway of this router
	Subnet SubnetParam `json:"subnet"`
}

func (*ExternalRouterIPParam) DeepCopy

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

func (*ExternalRouterIPParam) DeepCopyInto

func (in *ExternalRouterIPParam) DeepCopyInto(out *ExternalRouterIPParam)

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

type FixedIP

type FixedIP struct {
	// Subnet is an openstack subnet query that will return the id of a subnet to create
	// the fixed IP of a port in. This query must not return more than one subnet.
	Subnet    *SubnetFilter `json:"subnet"`
	IPAddress string        `json:"ipAddress,omitempty"`
}

func (*FixedIP) DeepCopy

func (in *FixedIP) DeepCopy() *FixedIP

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

func (*FixedIP) DeepCopyInto

func (in *FixedIP) DeepCopyInto(out *FixedIP)

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

type Instance

type Instance struct {
	ID             string            `json:"id,omitempty"`
	Name           string            `json:"name,omitempty"`
	Trunk          bool              `json:"trunk,omitempty"`
	FailureDomain  string            `json:"failureDomain,omitempty"`
	SecurityGroups *[]string         `json:"securigyGroups,omitempty"`
	Networks       *[]Network        `json:"networks,omitempty"`
	Subnet         string            `json:"subnet,omitempty"`
	Tags           []string          `json:"tags,omitempty"`
	Image          string            `json:"image,omitempty"`
	ImageUUID      string            `json:"imageUUID,omitempty"`
	Flavor         string            `json:"flavor,omitempty"`
	SSHKeyName     string            `json:"sshKeyName,omitempty"`
	UserData       string            `json:"userData,omitempty"`
	Metadata       map[string]string `json:"metadata,omitempty"`
	ConfigDrive    *bool             `json:"configDrive,omitempty"`
	RootVolume     *RootVolume       `json:"rootVolume,omitempty"`
	ServerGroupID  string            `json:"serverGroupID,omitempty"`
	State          InstanceState     `json:"state,omitempty"`
	IP             string            `json:"ip,omitempty"`
	FloatingIP     string            `json:"floatingIP,omitempty"`
}

func (*Instance) DeepCopy

func (in *Instance) DeepCopy() *Instance

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

func (*Instance) DeepCopyInto

func (in *Instance) DeepCopyInto(out *Instance)

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

type InstanceState

type InstanceState string

InstanceState describes the state of an OpenStack instance.

type LoadBalancer

type LoadBalancer struct {
	Name       string `json:"name"`
	ID         string `json:"id"`
	IP         string `json:"ip"`
	InternalIP string `json:"internalIP"`
	//+optional
	AllowedCIDRs []string `json:"allowedCIDRs,omitempty"`
}

LoadBalancer represents basic information about the associated OpenStack LoadBalancer.

func (*LoadBalancer) DeepCopy

func (in *LoadBalancer) DeepCopy() *LoadBalancer

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

func (*LoadBalancer) DeepCopyInto

func (in *LoadBalancer) DeepCopyInto(out *LoadBalancer)

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

type Network

type Network struct {
	Name string `json:"name"`
	ID   string `json:"id"`

	//+optional
	Tags []string `json:"tags,omitempty"`

	Subnet   *Subnet   `json:"subnet,omitempty"`
	PortOpts *PortOpts `json:"port,omitempty"`
	Router   *Router   `json:"router,omitempty"`

	// Be careful when using APIServerLoadBalancer, because this field is optional and therefore not
	// set in all cases
	APIServerLoadBalancer *LoadBalancer `json:"apiServerLoadBalancer,omitempty"`
}

Network represents basic information about an OpenStack Neutron Network associated with an instance's port.

func (*Network) DeepCopy

func (in *Network) DeepCopy() *Network

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

func (*Network) DeepCopyInto

func (in *Network) DeepCopyInto(out *Network)

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

type NetworkFilter

type NetworkFilter struct {
	Name        string `json:"name,omitempty"`
	Description string `json:"description,omitempty"`
	ProjectID   string `json:"projectId,omitempty"`
	ID          string `json:"id,omitempty"`
	Tags        string `json:"tags,omitempty"`
	TagsAny     string `json:"tagsAny,omitempty"`
	NotTags     string `json:"notTags,omitempty"`
	NotTagsAny  string `json:"notTagsAny,omitempty"`
}

func (*NetworkFilter) DeepCopy

func (in *NetworkFilter) DeepCopy() *NetworkFilter

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

func (*NetworkFilter) DeepCopyInto

func (in *NetworkFilter) DeepCopyInto(out *NetworkFilter)

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

func (NetworkFilter) ToListOpt

func (networkFilter NetworkFilter) ToListOpt() networks.ListOpts

type NetworkParam

type NetworkParam struct {
	// Optional UUID of the network.
	// If specified this will not be validated prior to server creation.
	// Required if `Subnets` specifies a subnet by UUID.
	UUID string `json:"uuid,omitempty"`
	// A fixed IPv4 address for the NIC.
	FixedIP string `json:"fixedIP,omitempty"`
	// Filters for optional network query
	Filter NetworkFilter `json:"filter,omitempty"`
	// Subnet within a network to use
	Subnets []SubnetParam `json:"subnets,omitempty"`
}

func (*NetworkParam) DeepCopy

func (in *NetworkParam) DeepCopy() *NetworkParam

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

func (*NetworkParam) DeepCopyInto

func (in *NetworkParam) DeepCopyInto(out *NetworkParam)

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

type OpenStackCluster

type OpenStackCluster struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   OpenStackClusterSpec   `json:"spec,omitempty"`
	Status OpenStackClusterStatus `json:"status,omitempty"`
}

OpenStackCluster is the Schema for the openstackclusters API.

func (*OpenStackCluster) DeepCopy

func (in *OpenStackCluster) DeepCopy() *OpenStackCluster

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

func (*OpenStackCluster) DeepCopyInto

func (in *OpenStackCluster) DeepCopyInto(out *OpenStackCluster)

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

func (*OpenStackCluster) DeepCopyObject

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

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

func (*OpenStackCluster) Default

func (r *OpenStackCluster) Default()

Default satisfies the defaulting webhook interface.

func (*OpenStackCluster) Hub

func (*OpenStackCluster) Hub()

Hub marks OpenStackCluster as a conversion hub.

func (*OpenStackCluster) SetupWebhookWithManager

func (r *OpenStackCluster) SetupWebhookWithManager(mgr manager.Manager) error

func (*OpenStackCluster) ValidateCreate

func (r *OpenStackCluster) ValidateCreate() error

ValidateCreate implements webhook.Validator so a webhook will be registered for the type.

func (*OpenStackCluster) ValidateDelete

func (r *OpenStackCluster) ValidateDelete() error

ValidateDelete implements webhook.Validator so a webhook will be registered for the type.

func (*OpenStackCluster) ValidateUpdate

func (r *OpenStackCluster) ValidateUpdate(oldRaw runtime.Object) error

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type.

type OpenStackClusterList

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

OpenStackClusterList contains a list of OpenStackCluster.

func (*OpenStackClusterList) DeepCopy

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

func (*OpenStackClusterList) DeepCopyInto

func (in *OpenStackClusterList) DeepCopyInto(out *OpenStackClusterList)

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

func (*OpenStackClusterList) DeepCopyObject

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

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

func (*OpenStackClusterList) Hub

func (*OpenStackClusterList) Hub()

Hub marks OpenStackClusterList as a conversion hub.

func (*OpenStackClusterList) SetupWebhookWithManager

func (r *OpenStackClusterList) SetupWebhookWithManager(mgr manager.Manager) error

type OpenStackClusterSpec

type OpenStackClusterSpec struct {
	// The name of the cloud to use from the clouds secret
	// +optional
	CloudName string `json:"cloudName"`

	// NodeCIDR is the OpenStack Subnet to be created. Cluster actuator will create a
	// network, a subnet with NodeCIDR, and a router connected to this subnet.
	// If you leave this empty, no network will be created.
	NodeCIDR string `json:"nodeCidr,omitempty"`

	// If NodeCIDR cannot be set this can be used to detect an existing network.
	Network NetworkFilter `json:"network,omitempty"`

	// If NodeCIDR cannot be set this can be used to detect an existing subnet.
	Subnet SubnetFilter `json:"subnet,omitempty"`

	// DNSNameservers is the list of nameservers for OpenStack Subnet being created.
	// Set this value when you need create a new network/subnet while the access
	// through DNS is required.
	// +listType=set
	DNSNameservers []string `json:"dnsNameservers,omitempty"`
	// ExternalRouterIPs is an array of externalIPs on the respective subnets.
	// This is necessary if the router needs a fixed ip in a specific subnet.
	ExternalRouterIPs []ExternalRouterIPParam `json:"externalRouterIPs,omitempty"`
	// ExternalNetworkID is the ID of an external OpenStack Network. This is necessary
	// to get public internet to the VMs.
	// +optional
	ExternalNetworkID string `json:"externalNetworkId,omitempty"`

	// APIServerLoadBalancer configures the optional LoadBalancer for the APIServer.
	// It must be activated by setting `enabled: true`.
	// +optional
	APIServerLoadBalancer APIServerLoadBalancer `json:"apiServerLoadBalancer,omitempty"`

	// DisableFloatingIP determines whether or not to attempt to attach a floating
	// IP to the Instance.
	DisableFloatingIP bool `json:"disableFloatingIP"`

	// DisableAPIServerFloatingIP determines whether or not to attempt to attach a floating
	// IP to the API server. This allows for the creation of clusters when attaching a floating
	// IP to the API server (and hence, in many cases, exposing the API server to the internet)
	// is not possible or desirable, e.g. if using a shared VLAN for communication between
	// management and workload clusters or when the management cluster is inside the
	// project network.
	// This option requires that the API server use a VIP on the cluster network so that the
	// underlying machines can change without changing ControlPlaneEndpoint.Host.
	// When using a managed load balancer, this VIP will be managed automatically.
	// If not using a managed load balancer, cluster configuration will fail without additional
	// configuration to manage the VIP on the control plane machines, which falls outside of
	// the scope of this controller.
	// +optional
	DisableAPIServerFloatingIP bool `json:"disableAPIServerFloatingIP"`

	// APIServerFloatingIP is the floatingIP which will be associated with the API server.
	// The floatingIP will be created if it does not already exist.
	// If not specified, a new floatingIP is allocated.
	// This field is not used if DisableAPIServerFloatingIP is set to true.
	APIServerFloatingIP string `json:"apiServerFloatingIP,omitempty"`

	// APIServerFixedIP is the fixed IP which will be associated with the API server.
	// In the case where the API server has a floating IP but not a managed load balancer,
	// this field is not used.
	// If a managed load balancer is used and this field is not specified, a fixed IP will
	// be dynamically allocated for the load balancer.
	// If a managed load balancer is not used AND the API server floating IP is disabled,
	// this field MUST be specified and should correspond to a pre-allocated port that
	// holds the fixed IP to be used as a VIP.
	APIServerFixedIP string `json:"apiServerFixedIP,omitempty"`

	// APIServerPort is the port on which the listener on the APIServer
	// will be created
	APIServerPort int `json:"apiServerPort,omitempty"`

	// ManagedSecurityGroups determines whether OpenStack security groups for the cluster
	// will be managed by the OpenStack provider or whether pre-existing security groups will
	// be specified as part of the configuration.
	// By default, the managed security groups have rules that allow the Kubelet, etcd, the
	// Kubernetes API server and the Calico CNI plugin to function correctly.
	// +optional
	ManagedSecurityGroups bool `json:"managedSecurityGroups"`

	// AllowAllInClusterTraffic is only used when managed security groups are in use.
	// If set to true, the rules for the managed security groups are configured so that all
	// ingress and egress between cluster nodes is permitted, allowing CNIs other than
	// Calico to be used.
	// +optional
	AllowAllInClusterTraffic bool `json:"allowAllInClusterTraffic"`

	// DisablePortSecurity disables the port security of the network created for the
	// Kubernetes cluster, which also disables SecurityGroups
	DisablePortSecurity bool `json:"disablePortSecurity,omitempty"`

	// Tags for all resources in cluster
	// +listType=set
	Tags []string `json:"tags,omitempty"`

	// ControlPlaneEndpoint represents the endpoint used to communicate with the control plane.
	// +optional
	ControlPlaneEndpoint clusterv1.APIEndpoint `json:"controlPlaneEndpoint"`

	// ControlPlaneAvailabilityZones is the az to deploy control plane to
	// +listType=set
	ControlPlaneAvailabilityZones []string `json:"controlPlaneAvailabilityZones,omitempty"`

	// Indicates whether to omit the az for control plane nodes, allowing the Nova scheduler
	// to make a decision on which az to use based on other scheduling constraints
	ControlPlaneOmitAvailabilityZone bool `json:"controlPlaneOmitAvailabilityZone,omitempty"`

	// Bastion is the OpenStack instance to login the nodes
	//
	// As a rolling update is not ideal during a bastion host session, we
	// prevent changes to a running bastion configuration. Set `enabled: false` to
	// make changes.
	//+optional
	Bastion *Bastion `json:"bastion,omitempty"`

	// IdentityRef is a reference to a identity to be used when reconciling this cluster
	// +optional
	IdentityRef *OpenStackIdentityReference `json:"identityRef,omitempty"`
}

OpenStackClusterSpec defines the desired state of OpenStackCluster.

func (*OpenStackClusterSpec) DeepCopy

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

func (*OpenStackClusterSpec) DeepCopyInto

func (in *OpenStackClusterSpec) DeepCopyInto(out *OpenStackClusterSpec)

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

type OpenStackClusterStatus

type OpenStackClusterStatus struct {
	Ready bool `json:"ready"`

	// Network contains all information about the created OpenStack Network.
	// It includes Subnets and Router.
	Network *Network `json:"network,omitempty"`

	// External Network contains information about the created OpenStack external network.
	ExternalNetwork *Network `json:"externalNetwork,omitempty"`

	// FailureDomains represent OpenStack availability zones
	FailureDomains clusterv1.FailureDomains `json:"failureDomains,omitempty"`

	// ControlPlaneSecurityGroups contains all the information about the OpenStack
	// Security Group that needs to be applied to control plane nodes.
	// TODO: Maybe instead of two properties, we add a property to the group?
	ControlPlaneSecurityGroup *SecurityGroup `json:"controlPlaneSecurityGroup,omitempty"`

	// WorkerSecurityGroup contains all the information about the OpenStack Security
	// Group that needs to be applied to worker nodes.
	WorkerSecurityGroup *SecurityGroup `json:"workerSecurityGroup,omitempty"`

	BastionSecurityGroup *SecurityGroup `json:"bastionSecurityGroup,omitempty"`

	Bastion *Instance `json:"bastion,omitempty"`

	// FailureReason will be set in the event that there is a terminal problem
	// reconciling the OpenStackCluster and will contain a succinct value suitable
	// for machine interpretation.
	//
	// This field should not be set for transitive errors that a controller
	// faces that are expected to be fixed automatically over
	// time (like service outages), but instead indicate that something is
	// fundamentally wrong with the OpenStackCluster's spec or the configuration of
	// the controller, and that manual intervention is required. Examples
	// of terminal errors would be invalid combinations of settings in the
	// spec, values that are unsupported by the controller, or the
	// responsible controller itself being critically misconfigured.
	//
	// Any transient errors that occur during the reconciliation of
	// OpenStackClusters can be added as events to the OpenStackCluster object
	// and/or logged in the controller's output.
	// +optional
	FailureReason *capierrors.ClusterStatusError `json:"failureReason,omitempty"`

	// FailureMessage will be set in the event that there is a terminal problem
	// reconciling the OpenStackCluster and will contain a more verbose string suitable
	// for logging and human consumption.
	//
	// This field should not be set for transitive errors that a controller
	// faces that are expected to be fixed automatically over
	// time (like service outages), but instead indicate that something is
	// fundamentally wrong with the OpenStackCluster's spec or the configuration of
	// the controller, and that manual intervention is required. Examples
	// of terminal errors would be invalid combinations of settings in the
	// spec, values that are unsupported by the controller, or the
	// responsible controller itself being critically misconfigured.
	//
	// Any transient errors that occur during the reconciliation of
	// OpenStackClusters can be added as events to the OpenStackCluster object
	// and/or logged in the controller's output.
	// +optional
	FailureMessage *string `json:"failureMessage,omitempty"`
}

OpenStackClusterStatus defines the observed state of OpenStackCluster.

func (*OpenStackClusterStatus) DeepCopy

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

func (*OpenStackClusterStatus) DeepCopyInto

func (in *OpenStackClusterStatus) DeepCopyInto(out *OpenStackClusterStatus)

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

type OpenStackClusterTemplate

type OpenStackClusterTemplate struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec OpenStackClusterTemplateSpec `json:"spec,omitempty"`
}

OpenStackClusterTemplate is the Schema for the openstackclustertemplates API.

func (*OpenStackClusterTemplate) DeepCopy

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

func (*OpenStackClusterTemplate) DeepCopyInto

func (in *OpenStackClusterTemplate) DeepCopyInto(out *OpenStackClusterTemplate)

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

func (*OpenStackClusterTemplate) DeepCopyObject

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

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

func (*OpenStackClusterTemplate) Default

func (r *OpenStackClusterTemplate) Default()

Default implements webhook.Defaulter so a webhook will be registered for the type.

func (*OpenStackClusterTemplate) Hub

func (*OpenStackClusterTemplate) Hub()

Hub marks OpenStackClusterTemplate as a conversion hub.

func (*OpenStackClusterTemplate) SetupWebhookWithManager

func (r *OpenStackClusterTemplate) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*OpenStackClusterTemplate) ValidateCreate

func (r *OpenStackClusterTemplate) ValidateCreate() error

ValidateCreate implements webhook.Validator so a webhook will be registered for the type.

func (*OpenStackClusterTemplate) ValidateDelete

func (r *OpenStackClusterTemplate) ValidateDelete() error

ValidateDelete implements webhook.Validator so a webhook will be registered for the type.

func (*OpenStackClusterTemplate) ValidateUpdate

func (r *OpenStackClusterTemplate) ValidateUpdate(oldRaw runtime.Object) error

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type.

type OpenStackClusterTemplateList

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

OpenStackClusterTemplateList contains a list of OpenStackClusterTemplate.

func (*OpenStackClusterTemplateList) DeepCopy

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

func (*OpenStackClusterTemplateList) DeepCopyInto

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

func (*OpenStackClusterTemplateList) DeepCopyObject

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

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

func (*OpenStackClusterTemplateList) Hub

Hub marks OpenStackClusterTemplateList as a conversion hub.

type OpenStackClusterTemplateResource

type OpenStackClusterTemplateResource struct {
	Spec OpenStackClusterSpec `json:"spec"`
}

OpenStackClusterTemplateResource describes the data needed to create a OpenStackCluster from a template.

func (*OpenStackClusterTemplateResource) DeepCopy

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

func (*OpenStackClusterTemplateResource) DeepCopyInto

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

type OpenStackClusterTemplateSpec

type OpenStackClusterTemplateSpec struct {
	Template OpenStackClusterTemplateResource `json:"template"`
}

OpenStackClusterTemplateSpec defines the desired state of OpenStackClusterTemplate.

func (*OpenStackClusterTemplateSpec) DeepCopy

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

func (*OpenStackClusterTemplateSpec) DeepCopyInto

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

type OpenStackIdentityReference

type OpenStackIdentityReference struct {
	// Kind of the identity. Must be supported by the infrastructure
	// provider and may be either cluster or namespace-scoped.
	// +kubebuilder:validation:MinLength=1
	Kind string `json:"kind"`

	// Name of the infrastructure identity to be used.
	// Must be either a cluster-scoped resource, or namespaced-scoped
	// resource the same namespace as the resource(s) being provisioned.
	Name string `json:"name"`
}

OpenStackIdentityReference is a reference to an infrastructure provider identity to be used to provision cluster resources.

func (*OpenStackIdentityReference) DeepCopy

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

func (*OpenStackIdentityReference) DeepCopyInto

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

type OpenStackMachine

type OpenStackMachine struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   OpenStackMachineSpec   `json:"spec,omitempty"`
	Status OpenStackMachineStatus `json:"status,omitempty"`
}

OpenStackMachine is the Schema for the openstackmachines API.

func (*OpenStackMachine) DeepCopy

func (in *OpenStackMachine) DeepCopy() *OpenStackMachine

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

func (*OpenStackMachine) DeepCopyInto

func (in *OpenStackMachine) DeepCopyInto(out *OpenStackMachine)

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

func (*OpenStackMachine) DeepCopyObject

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

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

func (*OpenStackMachine) Default

func (r *OpenStackMachine) Default()

Default satisfies the defaulting webhook interface.

func (*OpenStackMachine) GetConditions

func (r *OpenStackMachine) GetConditions() clusterv1.Conditions

GetConditions returns the observations of the operational state of the OpenStackMachine resource.

func (*OpenStackMachine) Hub

func (*OpenStackMachine) Hub()

Hub marks OpenStackMachine as a conversion hub.

func (*OpenStackMachine) SetConditions

func (r *OpenStackMachine) SetConditions(conditions clusterv1.Conditions)

SetConditions sets the underlying service state of the OpenStackMachine to the predescribed clusterv1.Conditions.

func (*OpenStackMachine) SetFailure

func (r *OpenStackMachine) SetFailure(failureReason errors.MachineStatusError, failureMessage error)

SetFailure sets the OpenStackMachine status failure reason and failure message.

func (*OpenStackMachine) SetupWebhookWithManager

func (r *OpenStackMachine) SetupWebhookWithManager(mgr manager.Manager) error

func (*OpenStackMachine) ValidateCreate

func (r *OpenStackMachine) ValidateCreate() error

ValidateCreate implements webhook.Validator so a webhook will be registered for the type.

func (*OpenStackMachine) ValidateDelete

func (r *OpenStackMachine) ValidateDelete() error

ValidateDelete implements webhook.Validator so a webhook will be registered for the type.

func (*OpenStackMachine) ValidateUpdate

func (r *OpenStackMachine) ValidateUpdate(old runtime.Object) error

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type.

type OpenStackMachineList

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

OpenStackMachineList contains a list of OpenStackMachine.

func (*OpenStackMachineList) DeepCopy

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

func (*OpenStackMachineList) DeepCopyInto

func (in *OpenStackMachineList) DeepCopyInto(out *OpenStackMachineList)

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

func (*OpenStackMachineList) DeepCopyObject

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

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

func (*OpenStackMachineList) Hub

func (*OpenStackMachineList) Hub()

Hub marks OpenStackMachineList as a conversion hub.

func (*OpenStackMachineList) SetupWebhookWithManager

func (r *OpenStackMachineList) SetupWebhookWithManager(mgr manager.Manager) error

type OpenStackMachineSpec

type OpenStackMachineSpec struct {
	// ProviderID is the unique identifier as specified by the cloud provider.
	ProviderID *string `json:"providerID,omitempty"`

	// InstanceID is the OpenStack instance ID for this machine.
	InstanceID *string `json:"instanceID,omitempty"`

	// The name of the cloud to use from the clouds secret
	// +optional
	CloudName string `json:"cloudName"`

	// The flavor reference for the flavor for your server instance.
	Flavor string `json:"flavor"`

	// The name of the image to use for your server instance.
	// If the RootVolume is specified, this will be ignored and use rootVolume directly.
	Image string `json:"image,omitempty"`

	// The uuid of the image to use for your server instance.
	// if it's empty, Image name will be used
	ImageUUID string `json:"imageUUID,omitempty"`

	// The ssh key to inject in the instance
	SSHKeyName string `json:"sshKeyName,omitempty"`

	// A networks object. Required parameter when there are multiple networks defined for the tenant.
	// When you do not specify both networks and ports parameters, the server attaches to the only network created for the current tenant.
	Networks []NetworkParam `json:"networks,omitempty"`

	// Ports to be attached to the server instance. They are created if a port with the given name does not already exist.
	// When you do not specify both networks and ports parameters, the server attaches to the only network created for the current tenant.
	Ports []PortOpts `json:"ports,omitempty"`

	// UUID, IP address of a port from this subnet will be marked as AccessIPv4 on the created compute instance
	Subnet string `json:"subnet,omitempty"`

	// The floatingIP which will be associated to the machine, only used for master.
	// The floatingIP should have been created and haven't been associated.
	FloatingIP string `json:"floatingIP,omitempty"`

	// The names of the security groups to assign to the instance
	SecurityGroups []SecurityGroupParam `json:"securityGroups,omitempty"`

	// Whether the server instance is created on a trunk port or not.
	Trunk bool `json:"trunk,omitempty"`

	// Machine tags
	// Requires Nova api 2.52 minimum!
	// +listType=set
	Tags []string `json:"tags,omitempty"`

	// Metadata mapping. Allows you to create a map of key value pairs to add to the server instance.
	ServerMetadata map[string]string `json:"serverMetadata,omitempty"`

	// Config Drive support
	ConfigDrive *bool `json:"configDrive,omitempty"`

	// The volume metadata to boot from
	RootVolume *RootVolume `json:"rootVolume,omitempty"`

	// The custome metadata to boot from
	CustomeVolumes []*RootVolume `json:"customeVolumes,omitempty"`

	// The volume delete on termination
	DeleteVolumeOnTermination bool `json:"deleteVolumeOnTermination,omitempty"`

	// The server group to assign the machine to
	ServerGroupID string `json:"serverGroupID,omitempty"`

	// IdentityRef is a reference to a identity to be used when reconciling this cluster
	// +optional
	IdentityRef *OpenStackIdentityReference `json:"identityRef,omitempty"`
}

OpenStackMachineSpec defines the desired state of OpenStackMachine.

func (*OpenStackMachineSpec) DeepCopy

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

func (*OpenStackMachineSpec) DeepCopyInto

func (in *OpenStackMachineSpec) DeepCopyInto(out *OpenStackMachineSpec)

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

type OpenStackMachineStatus

type OpenStackMachineStatus struct {
	// Ready is true when the provider resource is ready.
	// +optional
	Ready bool `json:"ready"`

	// Addresses contains the OpenStack instance associated addresses.
	Addresses []corev1.NodeAddress `json:"addresses,omitempty"`

	// InstanceState is the state of the OpenStack instance for this machine.
	// +optional
	InstanceState *InstanceState `json:"instanceState,omitempty"`

	FailureReason *errors.MachineStatusError `json:"failureReason,omitempty"`

	// FailureMessage will be set in the event that there is a terminal problem
	// reconciling the Machine and will contain a more verbose string suitable
	// for logging and human consumption.
	//
	// This field should not be set for transitive errors that a controller
	// faces that are expected to be fixed automatically over
	// time (like service outages), but instead indicate that something is
	// fundamentally wrong with the Machine's spec or the configuration of
	// the controller, and that manual intervention is required. Examples
	// of terminal errors would be invalid combinations of settings in the
	// spec, values that are unsupported by the controller, or the
	// responsible controller itself being critically misconfigured.
	//
	// Any transient errors that occur during the reconciliation of Machines
	// can be added as events to the Machine object and/or logged in the
	// controller's output.
	// +optional
	FailureMessage *string `json:"failureMessage,omitempty"`

	Conditions clusterv1.Conditions `json:"conditions,omitempty"`
}

OpenStackMachineStatus defines the observed state of OpenStackMachine.

func (*OpenStackMachineStatus) DeepCopy

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

func (*OpenStackMachineStatus) DeepCopyInto

func (in *OpenStackMachineStatus) DeepCopyInto(out *OpenStackMachineStatus)

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

type OpenStackMachineTemplate

type OpenStackMachineTemplate struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec OpenStackMachineTemplateSpec `json:"spec,omitempty"`
}

OpenStackMachineTemplate is the Schema for the openstackmachinetemplates API.

func (*OpenStackMachineTemplate) DeepCopy

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

func (*OpenStackMachineTemplate) DeepCopyInto

func (in *OpenStackMachineTemplate) DeepCopyInto(out *OpenStackMachineTemplate)

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

func (*OpenStackMachineTemplate) DeepCopyObject

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

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

func (*OpenStackMachineTemplate) Hub

func (*OpenStackMachineTemplate) Hub()

Hub marks OpenStackMachineTemplate as a conversion hub.

type OpenStackMachineTemplateList

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

OpenStackMachineTemplateList contains a list of OpenStackMachineTemplate.

func (*OpenStackMachineTemplateList) DeepCopy

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

func (*OpenStackMachineTemplateList) DeepCopyInto

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

func (*OpenStackMachineTemplateList) DeepCopyObject

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

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

func (*OpenStackMachineTemplateList) Hub

Hub marks OpenStackMachineTemplateList as a conversion hub.

func (*OpenStackMachineTemplateList) SetupWebhookWithManager

func (r *OpenStackMachineTemplateList) SetupWebhookWithManager(mgr manager.Manager) error

type OpenStackMachineTemplateResource

type OpenStackMachineTemplateResource struct {
	// Spec is the specification of the desired behavior of the machine.
	Spec OpenStackMachineSpec `json:"spec"`
}

OpenStackMachineTemplateResource describes the data needed to create a OpenStackMachine from a template.

func (*OpenStackMachineTemplateResource) DeepCopy

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

func (*OpenStackMachineTemplateResource) DeepCopyInto

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

type OpenStackMachineTemplateSpec

type OpenStackMachineTemplateSpec struct {
	Template OpenStackMachineTemplateResource `json:"template"`
}

OpenStackMachineTemplateSpec defines the desired state of OpenStackMachineTemplate.

func (*OpenStackMachineTemplateSpec) DeepCopy

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

func (*OpenStackMachineTemplateSpec) DeepCopyInto

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

type OpenStackMachineTemplateWebhook

type OpenStackMachineTemplateWebhook struct{}

+kubebuilder:object:generate=false

func (*OpenStackMachineTemplateWebhook) SetupWebhookWithManager

func (r *OpenStackMachineTemplateWebhook) SetupWebhookWithManager(mgr manager.Manager) error

func (*OpenStackMachineTemplateWebhook) ValidateCreate

func (r *OpenStackMachineTemplateWebhook) ValidateCreate(ctx context.Context, obj runtime.Object) error

ValidateCreate implements webhook.CustomValidator so a webhook will be registered for the type.

func (*OpenStackMachineTemplateWebhook) ValidateDelete

ValidateDelete implements webhook.CustomValidator so a webhook will be registered for the type.

func (*OpenStackMachineTemplateWebhook) ValidateUpdate

func (r *OpenStackMachineTemplateWebhook) ValidateUpdate(ctx context.Context, oldRaw runtime.Object, newRaw runtime.Object) error

ValidateUpdate implements webhook.CustomValidator so a webhook will be registered for the type.

type PortOpts

type PortOpts struct {
	// Network is a query for an openstack network that the port will be created or discovered on.
	// This will fail if the query returns more than one network.
	Network *NetworkFilter `json:"network,omitempty"`
	// Used to make the name of the port unique. If unspecified, instead the 0-based index of the port in the list is used.
	NameSuffix   string `json:"nameSuffix,omitempty"`
	Description  string `json:"description,omitempty"`
	AdminStateUp *bool  `json:"adminStateUp,omitempty"`
	MACAddress   string `json:"macAddress,omitempty"`
	// Specify pairs of subnet and/or IP address. These should be subnets of the network with the given NetworkID.
	FixedIPs  []FixedIP `json:"fixedIPs,omitempty"`
	TenantID  string    `json:"tenantId,omitempty"`
	ProjectID string    `json:"projectId,omitempty"`
	// The uuids of the security groups to assign to the instance
	// +listType=set
	SecurityGroups *[]string `json:"securityGroups,omitempty"`
	// The names, uuids, filters or any combination these of the security groups to assign to the instance
	SecurityGroupFilters []SecurityGroupParam `json:"securityGroupFilters,omitempty"`
	AllowedAddressPairs  []AddressPair        `json:"allowedAddressPairs,omitempty"`
	// Enables and disables trunk at port level. If not provided, openStackMachine.Spec.Trunk is inherited.
	Trunk *bool `json:"trunk,omitempty"`

	// The ID of the host where the port is allocated
	HostID string `json:"hostId,omitempty"`

	// The virtual network interface card (vNIC) type that is bound to the neutron port.
	VNICType string `json:"vnicType,omitempty"`

	// A dictionary that enables the application running on the specified
	// host to pass and receive virtual network interface (VIF) port-specific
	// information to the plug-in.
	Profile map[string]string `json:"profile,omitempty"`

	// DisablePortSecurity enables or disables the port security when set.
	// When not set, it takes the value of the corresponding field at the network level.
	DisablePortSecurity *bool `json:"disablePortSecurity,omitempty"`

	// Tags applied to the port (and corresponding trunk, if a trunk is configured.)
	// These tags are applied in addition to the instance's tags, which will also be applied to the port.
	// +listType=set
	Tags []string `json:"tags,omitempty"`
}

func (*PortOpts) DeepCopy

func (in *PortOpts) DeepCopy() *PortOpts

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

func (*PortOpts) DeepCopyInto

func (in *PortOpts) DeepCopyInto(out *PortOpts)

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

type RootVolume

type RootVolume struct {
	Size             int    `json:"diskSize,omitempty"`
	VolumeType       string `json:"volumeType,omitempty"`
	AvailabilityZone string `json:"availabilityZone,omitempty"`
}

func (*RootVolume) DeepCopy

func (in *RootVolume) DeepCopy() *RootVolume

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

func (*RootVolume) DeepCopyInto

func (in *RootVolume) DeepCopyInto(out *RootVolume)

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

type Router

type Router struct {
	Name string `json:"name"`
	ID   string `json:"id"`
	//+optional
	Tags []string `json:"tags,omitempty"`
	//+optional
	IPs []string `json:"ips,omitempty"`
}

Router represents basic information about the associated OpenStack Neutron Router.

func (*Router) DeepCopy

func (in *Router) DeepCopy() *Router

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

func (*Router) DeepCopyInto

func (in *Router) DeepCopyInto(out *Router)

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

type SecurityGroup

type SecurityGroup struct {
	Name  string              `json:"name"`
	ID    string              `json:"id"`
	Rules []SecurityGroupRule `json:"rules"`
}

SecurityGroup represents the basic information of the associated OpenStack Neutron Security Group.

func (*SecurityGroup) DeepCopy

func (in *SecurityGroup) DeepCopy() *SecurityGroup

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

func (*SecurityGroup) DeepCopyInto

func (in *SecurityGroup) DeepCopyInto(out *SecurityGroup)

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

type SecurityGroupFilter

type SecurityGroupFilter struct {
	ID          string `json:"id,omitempty"`
	Name        string `json:"name,omitempty"`
	Description string `json:"description,omitempty"`
	TenantID    string `json:"tenantId,omitempty"`
	ProjectID   string `json:"projectId,omitempty"`
	Limit       int    `json:"limit,omitempty"`
	Marker      string `json:"marker,omitempty"`
	SortKey     string `json:"sortKey,omitempty"`
	SortDir     string `json:"sortDir,omitempty"`
	Tags        string `json:"tags,omitempty"`
	TagsAny     string `json:"tagsAny,omitempty"`
	NotTags     string `json:"notTags,omitempty"`
	NotTagsAny  string `json:"notTagsAny,omitempty"`
}

func (*SecurityGroupFilter) DeepCopy

func (in *SecurityGroupFilter) DeepCopy() *SecurityGroupFilter

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

func (*SecurityGroupFilter) DeepCopyInto

func (in *SecurityGroupFilter) DeepCopyInto(out *SecurityGroupFilter)

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

type SecurityGroupParam

type SecurityGroupParam struct {
	// Security Group UID
	UUID string `json:"uuid,omitempty"`
	// Security Group name
	Name string `json:"name,omitempty"`
	// Filters used to query security groups in openstack
	Filter SecurityGroupFilter `json:"filter,omitempty"`
}

func (*SecurityGroupParam) DeepCopy

func (in *SecurityGroupParam) DeepCopy() *SecurityGroupParam

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

func (*SecurityGroupParam) DeepCopyInto

func (in *SecurityGroupParam) DeepCopyInto(out *SecurityGroupParam)

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

type SecurityGroupRule

type SecurityGroupRule struct {
	Description     string `json:"description"`
	ID              string `json:"name"`
	Direction       string `json:"direction"`
	EtherType       string `json:"etherType"`
	SecurityGroupID string `json:"securityGroupID"`
	PortRangeMin    int    `json:"portRangeMin"`
	PortRangeMax    int    `json:"portRangeMax"`
	Protocol        string `json:"protocol"`
	RemoteGroupID   string `json:"remoteGroupID"`
	RemoteIPPrefix  string `json:"remoteIPPrefix"`
}

SecurityGroupRule represent the basic information of the associated OpenStack Security Group Role.

func (*SecurityGroupRule) DeepCopy

func (in *SecurityGroupRule) DeepCopy() *SecurityGroupRule

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

func (*SecurityGroupRule) DeepCopyInto

func (in *SecurityGroupRule) DeepCopyInto(out *SecurityGroupRule)

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

func (SecurityGroupRule) Equal

Equal checks if two SecurityGroupRules are the same.

type Subnet

type Subnet struct {
	Name string `json:"name"`
	ID   string `json:"id"`

	CIDR string `json:"cidr"`

	//+optional
	Tags []string `json:"tags,omitempty"`
}

Subnet represents basic information about the associated OpenStack Neutron Subnet.

func (*Subnet) DeepCopy

func (in *Subnet) DeepCopy() *Subnet

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

func (*Subnet) DeepCopyInto

func (in *Subnet) DeepCopyInto(out *Subnet)

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

type SubnetFilter

type SubnetFilter struct {
	Name            string `json:"name,omitempty"`
	Description     string `json:"description,omitempty"`
	ProjectID       string `json:"projectId,omitempty"`
	IPVersion       int    `json:"ipVersion,omitempty"`
	GatewayIP       string `json:"gateway_ip,omitempty"`
	CIDR            string `json:"cidr,omitempty"`
	IPv6AddressMode string `json:"ipv6AddressMode,omitempty"`
	IPv6RAMode      string `json:"ipv6RaMode,omitempty"`
	ID              string `json:"id,omitempty"`
	Tags            string `json:"tags,omitempty"`
	TagsAny         string `json:"tagsAny,omitempty"`
	NotTags         string `json:"notTags,omitempty"`
	NotTagsAny      string `json:"notTagsAny,omitempty"`
}

func (*SubnetFilter) DeepCopy

func (in *SubnetFilter) DeepCopy() *SubnetFilter

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

func (*SubnetFilter) DeepCopyInto

func (in *SubnetFilter) DeepCopyInto(out *SubnetFilter)

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

func (SubnetFilter) ToListOpt

func (subnetFilter SubnetFilter) ToListOpt() subnets.ListOpts

type SubnetParam

type SubnetParam struct {
	// Optional UUID of the subnet.
	// If specified this will not be validated prior to server creation.
	// If specified, the enclosing `NetworkParam` must also be specified by UUID.
	UUID string `json:"uuid,omitempty"`

	// Filters for optional subnet query
	Filter SubnetFilter `json:"filter,omitempty"`
}

func (*SubnetParam) DeepCopy

func (in *SubnetParam) DeepCopy() *SubnetParam

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

func (*SubnetParam) DeepCopyInto

func (in *SubnetParam) DeepCopyInto(out *SubnetParam)

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