Documentation ¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the openstack v1alpha1 API group +kubebuilder:object:generate=true +groupName=openstack.k-orc.cloud +k8s:openapi-gen=true
Package v1alpha1 contains API Schema definitions for the openstack v1alpha1 API group +kubebuilder:object:generate=true +groupName=openstack.k-orc.cloud +k8s:openapi-gen=true
Index ¶
- Constants
- Variables
- func GetTerminalError(obj ObjectWithConditions) error
- func IsAvailable(obj ObjectWithConditions) bool
- func IsConditionReasonTerminal(reason string) bool
- func IsReconciliationComplete(obj ObjectWithConditions) bool
- func Resource(resource string) schema.GroupResource
- type Address
- type AllocationPool
- type AllocationPoolStatus
- type AllowedAddressPair
- type AllowedAddressPairStatus
- type AvailabilityZoneHint
- type CIDR
- type CloudCredentialsRefProvider
- type CloudCredentialsReference
- type DNSDomain
- type Ethertype
- type ExternalGateway
- type ExternalGatewayStatus
- type FilterByNeutronTags
- type FixedIPStatus
- type Flavor
- type FlavorFilter
- type FlavorImport
- type FlavorList
- type FlavorResourceSpec
- type FlavorResourceStatus
- type FlavorSpec
- type FlavorStatus
- type HostRoute
- type HostRouteStatus
- type IPVersion
- type IPv6AddressMode
- type IPv6Options
- type IPv6RAMode
- type IPvAny
- type Image
- type ImageCompression
- type ImageContainerFormat
- type ImageContent
- type ImageContentSourceDownload
- type ImageDiskFormat
- type ImageFilter
- type ImageHWBus
- type ImageHash
- type ImageHashAlgorithm
- type ImageImport
- type ImageList
- type ImageProperties
- type ImagePropertiesHardware
- type ImageResourceSpec
- type ImageResourceStatus
- type ImageSpec
- type ImageStatus
- type ImageStatusExtra
- type ImageTag
- type ImageVisibility
- type KubernetesNameRef
- type MAC
- type MTU
- type ManagedOptions
- type ManagementPolicy
- type Network
- type NetworkFilter
- type NetworkImport
- type NetworkList
- type NetworkResourceSpec
- type NetworkResourceStatus
- type NetworkSpec
- type NetworkStatus
- type NeutronStatusMetadata
- type NeutronTag
- type ORCNameRef
- type ObjectWithConditions
- type OnDelete
- type OpenStackDescription
- type OpenStackName
- type PhysicalNetwork
- type Port
- type PortFilter
- type PortImport
- type PortList
- type PortRefs
- type PortResourceSpec
- type PortResourceStatus
- type PortSpec
- type PortStatus
- type Protocol
- type ProviderNetworkType
- type ProviderProperties
- type Router
- type RouterFilter
- type RouterImport
- type RouterInterface
- type RouterInterfaceList
- type RouterInterfaceSpec
- type RouterInterfaceStatus
- type RouterInterfaceType
- type RouterList
- type RouterResourceSpec
- type RouterResourceStatus
- type RouterSpec
- type RouterStatus
- type RuleDirection
- type SecurityGroup
- func (in *SecurityGroup) DeepCopy() *SecurityGroup
- func (in *SecurityGroup) DeepCopyInto(out *SecurityGroup)
- func (in *SecurityGroup) DeepCopyObject() runtime.Object
- func (i *SecurityGroup) GetCloudCredentialsRef() (*string, *CloudCredentialsReference)
- func (i *SecurityGroup) GetConditions() []metav1.Condition
- type SecurityGroupFilter
- type SecurityGroupImport
- type SecurityGroupList
- type SecurityGroupResourceSpec
- type SecurityGroupResourceStatus
- type SecurityGroupRule
- type SecurityGroupRuleStatus
- type SecurityGroupSpec
- type SecurityGroupStatus
- type Server
- type ServerFilter
- type ServerImport
- type ServerList
- type ServerPortSpec
- type ServerResourceSpec
- type ServerResourceStatus
- type ServerSpec
- type ServerStatus
- type Subnet
- type SubnetFilter
- type SubnetGateway
- type SubnetGatewayType
- type SubnetImport
- type SubnetList
- type SubnetRefs
- type SubnetResourceSpec
- type SubnetResourceStatus
- type SubnetSpec
- type SubnetStatus
- type UUID
Constants ¶
const ( // Normal progress: continue waiting. OpenStackConditionReasonProgressing = "Progressing" // The user must fix the configuration before trying again. OpenStackConditionReasonInvalidConfiguration = "InvalidConfiguration" // An error occurred which we can't recover from. It must be addressed // before we can continue. OpenStackConditionReasonUnrecoverableError = "UnrecoverableError" // An error occurred which may go away eventually if we keep trying. The // user likely wants to know about this if it persists. OpenStackConditionReasonTransientError = "TransientError" // The resource is ready for use. OpenStackConditionReasonSuccess = "Success" )
const ( OpenStackConditionAvailable = "Available" OpenStackConditionProgressing = "Progressing" )
const ( IPv6AddressModeSLAAC = "slaac" IPv6AddressModeDHCPv6Stateful = "dhcpv6-stateful" IPv6AddressModeDHCPv6Stateless = "dhcpv6-stateless" )
const ( IPv6RAModeSLAAC = "slaac" IPv6RAModeDHCPv6Stateful = "dhcpv6-stateful" IPv6RAModeDHCPv6Stateless = "dhcpv6-stateless" )
const ( SubnetGatewayTypeNone = "None" SubnetGatewayTypeAutomatic = "Automatic" SubnetGatewayTypeIP = "IP" )
const GlanceTag = "glance"
GlanceTag is the name of the go field tag in properties structs used to specify the Glance property name.
const GroupName = "openstack.k-orc.cloud"
GroupName is the group name use in this package
Variables ¶
var ( // SchemeBuilder is used to add go types to the GroupVersionKind scheme SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion} // AddToScheme adds the types in this group-version to the given scheme. AddToScheme = SchemeBuilder.AddToScheme )
var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1alpha1"}
SchemeGroupVersion is group version used to register these objects
Functions ¶
func GetTerminalError ¶
func GetTerminalError(obj ObjectWithConditions) error
GetTerminalError returns an error containing a descriptive message if reconciliation has failed terminally, or nil otherwise.
func IsAvailable ¶
func IsAvailable(obj ObjectWithConditions) bool
func IsConditionReasonTerminal ¶
IsConditionReasonTerminal returns true if the given reason represents an error which should prevent further reconciliation.
func IsReconciliationComplete ¶
func IsReconciliationComplete(obj ObjectWithConditions) bool
IsReconciliationComplete returns true if the given set of conditions indicate that reconciliation is complete, either success or failure.
func Resource ¶
func Resource(resource string) schema.GroupResource
Resource takes an unqualified resource and returns a Group qualified GroupResource
Types ¶
type Address ¶
type Address struct { IP *IPvAny `json:"ip,omitempty"` SubnetRef *OpenStackName `json:"subnetRef"` }
func (*Address) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Address.
func (*Address) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AllocationPool ¶
type AllocationPool struct { // +required Start IPvAny `json:"start"` // +required End IPvAny `json:"end"` }
func (*AllocationPool) DeepCopy ¶
func (in *AllocationPool) DeepCopy() *AllocationPool
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AllocationPool.
func (*AllocationPool) DeepCopyInto ¶
func (in *AllocationPool) DeepCopyInto(out *AllocationPool)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AllocationPoolStatus ¶
func (*AllocationPoolStatus) DeepCopy ¶
func (in *AllocationPoolStatus) DeepCopy() *AllocationPoolStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AllocationPoolStatus.
func (*AllocationPoolStatus) DeepCopyInto ¶
func (in *AllocationPoolStatus) DeepCopyInto(out *AllocationPoolStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AllowedAddressPair ¶
func (*AllowedAddressPair) DeepCopy ¶
func (in *AllowedAddressPair) DeepCopy() *AllowedAddressPair
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AllowedAddressPair.
func (*AllowedAddressPair) DeepCopyInto ¶
func (in *AllowedAddressPair) DeepCopyInto(out *AllowedAddressPair)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AllowedAddressPairStatus ¶
func (*AllowedAddressPairStatus) DeepCopy ¶
func (in *AllowedAddressPairStatus) DeepCopy() *AllowedAddressPairStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AllowedAddressPairStatus.
func (*AllowedAddressPairStatus) DeepCopyInto ¶
func (in *AllowedAddressPairStatus) DeepCopyInto(out *AllowedAddressPairStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AvailabilityZoneHint ¶
type AvailabilityZoneHint string
+kubebuilder:validation:MinLength:=1 +kubebuilder:validation:MaxLength:=128
type CIDR ¶
type CIDR string
+kubebuilder:validation:Format:=cidr +kubebuilder:validation:MinLength:=1 +kubebuilder:validation:MaxLength:=49
type CloudCredentialsRefProvider ¶
type CloudCredentialsRefProvider interface {
GetCloudCredentialsRef() (*string, *CloudCredentialsReference)
}
CloudCredentialsRefProvider is an interface for obtaining OpenStack credentials from an API object +kubebuilder:object:generate:=false
type CloudCredentialsReference ¶
type CloudCredentialsReference struct { // SecretName is the name of a secret in the same namespace as the resource being provisioned. // The secret must contain a key named `clouds.yaml` which contains an OpenStack clouds.yaml file. // The secret may optionally contain a key named `cacert` containing a PEM-encoded CA certificate. // +kubebuilder:validation:Required // +kubebuilder:validation:MinLength:=1 // +kubebuilder:validation:MaxLength:=253 SecretName string `json:"secretName"` // CloudName specifies the name of the entry in the clouds.yaml file to use. // +kubebuilder:validation:Required // +kubebuilder:validation:MinLength:=1 // +kubebuilder:validation:MaxLength:=256 CloudName string `json:"cloudName"` }
CloudCredentialsReference is a reference to a secret containing OpenStack credentials.
func (*CloudCredentialsReference) DeepCopy ¶
func (in *CloudCredentialsReference) DeepCopy() *CloudCredentialsReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CloudCredentialsReference.
func (*CloudCredentialsReference) DeepCopyInto ¶
func (in *CloudCredentialsReference) DeepCopyInto(out *CloudCredentialsReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DNSDomain ¶
type DNSDomain string
+kubebuilder:validation:MinLength:=1 +kubebuilder:validation:MaxLength:=265
type Ethertype ¶
type Ethertype string
+kubebuilder:validation:Enum:=IPv4;IPv6 +kubebuilder:validation:MinLength:=1 +kubebuilder:validation:MaxLength:=16
type ExternalGateway ¶
type ExternalGateway struct {
NetworkRef KubernetesNameRef `json:"networkRef"`
}
func (*ExternalGateway) DeepCopy ¶
func (in *ExternalGateway) DeepCopy() *ExternalGateway
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalGateway.
func (*ExternalGateway) DeepCopyInto ¶
func (in *ExternalGateway) DeepCopyInto(out *ExternalGateway)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ExternalGatewayStatus ¶
type ExternalGatewayStatus struct {
NetworkID string `json:"networkID"`
}
func (*ExternalGatewayStatus) DeepCopy ¶
func (in *ExternalGatewayStatus) DeepCopy() *ExternalGatewayStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalGatewayStatus.
func (*ExternalGatewayStatus) DeepCopyInto ¶
func (in *ExternalGatewayStatus) DeepCopyInto(out *ExternalGatewayStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FilterByNeutronTags ¶
type FilterByNeutronTags struct { // Tags is a list of tags to filter by. If specified, the resource must // have all of the tags specified to be included in the result. // +listType=set // +optional // +kubebuilder:validation:MaxItems:=32 Tags []NeutronTag `json:"tags,omitempty"` // TagsAny is a list of tags to filter by. If specified, the resource // must have at least one of the tags specified to be included in the // result. // +listType=set // +optional // +kubebuilder:validation:MaxItems:=32 TagsAny []NeutronTag `json:"tagsAny,omitempty"` // NotTags is a list of tags to filter by. If specified, resources which // contain all of the given tags will be excluded from the result. // +listType=set // +optional // +kubebuilder:validation:MaxItems:=32 NotTags []NeutronTag `json:"notTags,omitempty"` // NotTagsAny is a list of tags to filter by. If specified, resources // which contain any of the given tags will be excluded from the result. // +listType=set // +optional // +kubebuilder:validation:MaxItems:=32 NotTagsAny []NeutronTag `json:"notTagsAny,omitempty"` }
func (*FilterByNeutronTags) DeepCopy ¶
func (in *FilterByNeutronTags) DeepCopy() *FilterByNeutronTags
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FilterByNeutronTags.
func (*FilterByNeutronTags) DeepCopyInto ¶
func (in *FilterByNeutronTags) DeepCopyInto(out *FilterByNeutronTags)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FixedIPStatus ¶
func (*FixedIPStatus) DeepCopy ¶
func (in *FixedIPStatus) DeepCopy() *FixedIPStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FixedIPStatus.
func (*FixedIPStatus) DeepCopyInto ¶
func (in *FixedIPStatus) DeepCopyInto(out *FixedIPStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Flavor ¶
type Flavor struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec FlavorSpec `json:"spec,omitempty"` Status FlavorStatus `json:"status,omitempty"` }
Flavor is the Schema for an ORC resource.
func (*Flavor) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Flavor.
func (*Flavor) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Flavor) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*Flavor) GetCloudCredentialsRef ¶
func (i *Flavor) GetCloudCredentialsRef() (*string, *CloudCredentialsReference)
func (*Flavor) GetConditions ¶
type FlavorFilter ¶
type FlavorFilter struct { // Name of the existing resource // +optional Name *OpenStackName `json:"name,omitempty"` // RAM is the memory of the flavor, measured in MB. // +optional RAM *int32 `json:"ram,omitempty"` // Disk is the size of the root disk in GiB. // +optional Disk *int32 `json:"disk,omitempty"` }
FlavorFilter defines an existing resource by its properties +kubebuilder:validation:MinProperties:=1
func (*FlavorFilter) DeepCopy ¶
func (in *FlavorFilter) DeepCopy() *FlavorFilter
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FlavorFilter.
func (*FlavorFilter) DeepCopyInto ¶
func (in *FlavorFilter) DeepCopyInto(out *FlavorFilter)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FlavorImport ¶
type FlavorImport struct { // ID contains the unique identifier of an existing OpenStack resource. Note // that when specifying an import by ID, the resource MUST already exist. // The ORC object will enter an error state if the resource does not exist. // +optional // +kubebuilder:validation:Format:=uuid ID *string `json:"id,omitempty"` // Filter contains a resource query which is expected to return a single // result. The controller will continue to retry if filter returns no // results. If filter returns multiple results the controller will set an // error state and will not continue to retry. // +optional Filter *FlavorFilter `json:"filter,omitempty"` }
FlavorImport specifies an existing resource which will be imported instead of creating a new one +kubebuilder:validation:MinProperties:=1 +kubebuilder:validation:MaxProperties:=1
func (*FlavorImport) DeepCopy ¶
func (in *FlavorImport) DeepCopy() *FlavorImport
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FlavorImport.
func (*FlavorImport) DeepCopyInto ¶
func (in *FlavorImport) DeepCopyInto(out *FlavorImport)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FlavorList ¶
type FlavorList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []Flavor `json:"items"` }
FlavorList contains a list of Flavor.
func (*FlavorList) DeepCopy ¶
func (in *FlavorList) DeepCopy() *FlavorList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FlavorList.
func (*FlavorList) DeepCopyInto ¶
func (in *FlavorList) DeepCopyInto(out *FlavorList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*FlavorList) DeepCopyObject ¶
func (in *FlavorList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*FlavorList) GetItems ¶
func (l *FlavorList) GetItems() []Flavor
type FlavorResourceSpec ¶
type FlavorResourceSpec struct { // Name will be the name of the created resource. If not specified, the // name of the ORC object will be used. // +optional Name *OpenStackName `json:"name,omitempty"` // +optional Description *OpenStackDescription `json:"description,omitempty"` // RAM is the memory of the flavor, measured in MB. // +kubebuilder:validation:Minimum=1 RAM int32 `json:"ram"` // Vcpus is the number of vcpus for the flavor. // +kubebuilder:validation:Minimum=1 Vcpus int32 `json:"vcpus"` // Disk is the size of the root disk that will be created in GiB. If 0 // the root disk will be set to exactly the size of the image used to // deploy the instance. However, in this case the scheduler cannot // select the compute host based on the virtual image size. Therefore, // 0 should only be used for volume booted instances or for testing // purposes. Volume-backed instances can be enforced for flavors with // zero root disk via the // os_compute_api:servers:create:zero_disk_flavor policy rule. Disk int32 `json:"disk,omitempty"` // Swap is the size of a dedicated swap disk that will be allocated, in // MiB. If 0 (the default), no dedicated swap disk will be created. Swap int32 `json:"swap,omitempty"` // IsPublic flags a flavor as being available to all projects or not. IsPublic *bool `json:"isPublic,omitempty"` // Ephemeral is the size of the ephemeral disk that will be created, in GiB. // Ephemeral disks may be written over on server state changes. So should only // be used as a scratch space for applications that are aware of its // limitations. Defaults to 0. Ephemeral int32 `json:"ephemeral,omitempty"` }
NetworkResourceSpec contains the desired state of a network
func (*FlavorResourceSpec) DeepCopy ¶
func (in *FlavorResourceSpec) DeepCopy() *FlavorResourceSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FlavorResourceSpec.
func (*FlavorResourceSpec) DeepCopyInto ¶
func (in *FlavorResourceSpec) DeepCopyInto(out *FlavorResourceSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FlavorResourceStatus ¶
type FlavorResourceStatus struct { // Human-readable name for the flavor. Might not be unique. // +optional Name string `json:"name,omitempty"` // Description is a human-readable description for the resource. // +optional Description *string `json:"description,omitempty"` // RAM is the memory of the flavor, measured in MB. // +optional RAM *int32 `json:"ram,omitempty"` // Vcpus is the number of vcpus for the flavor. // +optional Vcpus *int32 `json:"vcpus,omitempty"` // Disk is the size of the root disk that will be created in GiB. // +optional Disk *int32 `json:"disk,omitempty"` // Swap is the size of a dedicated swap disk that will be allocated, in // MiB. // +optional Swap *int32 `json:"swap,omitempty"` // IsPublic flags a flavor as being available to all projects or not. // +optional IsPublic *bool `json:"isPublic,omitempty"` // Ephemeral is the size of the ephemeral disk, in GiB. // +optional Ephemeral *int32 `json:"ephemeral,omitempty"` }
FlavorResourceStatus represents the observed state of the resource.
func (*FlavorResourceStatus) DeepCopy ¶
func (in *FlavorResourceStatus) DeepCopy() *FlavorResourceStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FlavorResourceStatus.
func (*FlavorResourceStatus) DeepCopyInto ¶
func (in *FlavorResourceStatus) DeepCopyInto(out *FlavorResourceStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FlavorSpec ¶
type FlavorSpec struct { // Import refers to an existing OpenStack resource which will be imported instead of // creating a new one. // +optional Import *FlavorImport `json:"import,omitempty"` // Resource specifies the desired state of the resource. // // Resource may not be specified if the management policy is `unmanaged`. // // Resource must be specified if the management policy is `managed`. // +optional Resource *FlavorResourceSpec `json:"resource,omitempty"` // ManagementPolicy defines how ORC will treat the object. Valid values are // `managed`: ORC will create, update, and delete the resource; `unmanaged`: // ORC will import an existing resource, and will not apply updates to it or // delete it. // +kubebuilder:validation:XValidation:rule="self == oldSelf",message="managementPolicy is immutable" // +kubebuilder:default:=managed // +optional ManagementPolicy ManagementPolicy `json:"managementPolicy,omitempty"` // ManagedOptions specifies options which may be applied to managed objects. // +optional ManagedOptions *ManagedOptions `json:"managedOptions,omitempty"` // CloudCredentialsRef points to a secret containing OpenStack credentials // +kubebuilder:validation:Required CloudCredentialsRef CloudCredentialsReference `json:"cloudCredentialsRef"` }
FlavorSpec defines the desired state of an ORC object. +kubebuilder:validation:XValidation:rule="self.managementPolicy == 'managed' ? has(self.resource) : true",message="resource must be specified when policy is managed" +kubebuilder:validation:XValidation:rule="self.managementPolicy == 'managed' ? !has(self.__import__) : true",message="import may not be specified when policy is managed" +kubebuilder:validation:XValidation:rule="self.managementPolicy == 'unmanaged' ? !has(self.resource) : true",message="resource may not be specified when policy is unmanaged" +kubebuilder:validation:XValidation:rule="self.managementPolicy == 'unmanaged' ? has(self.__import__) : true",message="import must be specified when policy is unmanaged" +kubebuilder:validation:XValidation:rule="has(self.managedOptions) ? self.managementPolicy == 'managed' : true",message="managedOptions may only be provided when policy is managed"
func (*FlavorSpec) DeepCopy ¶
func (in *FlavorSpec) DeepCopy() *FlavorSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FlavorSpec.
func (*FlavorSpec) DeepCopyInto ¶
func (in *FlavorSpec) DeepCopyInto(out *FlavorSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FlavorStatus ¶
type FlavorStatus struct { // Conditions represents the observed status of the object. // Known .status.conditions.type are: "Available", "Progressing" // // Available represents the availability of the OpenStack resource. If it is // true then the resource is ready for use. // // Progressing indicates whether the controller is still attempting to // reconcile the current state of the OpenStack resource to the desired // state. Progressing will be False either because the desired state has // been achieved, or because some terminal error prevents it from ever being // achieved and the controller is no longer attempting to reconcile. If // Progressing is True, an observer waiting on the resource should continue // to wait. // // +patchMergeKey=type // +patchStrategy=merge // +listType=map // +listMapKey=type Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"` // ID is the unique identifier of the OpenStack resource. // +optional ID *string `json:"id,omitempty"` // Resource contains the observed state of the OpenStack resource. // +optional Resource *FlavorResourceStatus `json:"resource,omitempty"` }
FlavorStatus defines the observed state of an ORC resource.
func (*FlavorStatus) DeepCopy ¶
func (in *FlavorStatus) DeepCopy() *FlavorStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FlavorStatus.
func (*FlavorStatus) DeepCopyInto ¶
func (in *FlavorStatus) DeepCopyInto(out *FlavorStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HostRoute ¶
func (*HostRoute) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HostRoute.
func (*HostRoute) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HostRouteStatus ¶
type HostRouteStatus struct { Destination string `json:"destination"` NextHop string `json:"nextHop"` }
func (*HostRouteStatus) DeepCopy ¶
func (in *HostRouteStatus) DeepCopy() *HostRouteStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HostRouteStatus.
func (*HostRouteStatus) DeepCopyInto ¶
func (in *HostRouteStatus) DeepCopyInto(out *HostRouteStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type IPv6AddressMode ¶
type IPv6AddressMode string
+kubebuilder:validation:Enum:=slaac;dhcpv6-stateful;dhcpv6-stateless
type IPv6Options ¶
type IPv6Options struct { // AddressMode specifies mechanisms for assigning IPv6 IP addresses. AddressMode *IPv6AddressMode `json:"addressMode,omitempty"` // RAMode specifies the IPv6 router advertisement mode. It specifies whether // the networking service should transmit ICMPv6 packets. RAMode *IPv6RAMode `json:"raMode,omitempty"` }
+kubebuilder:validation:MinProperties:=1
func (*IPv6Options) DeepCopy ¶
func (in *IPv6Options) DeepCopy() *IPv6Options
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPv6Options.
func (*IPv6Options) DeepCopyInto ¶
func (in *IPv6Options) DeepCopyInto(out *IPv6Options)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type IPv6RAMode ¶
type IPv6RAMode string
+kubebuilder:validation:Enum:=slaac;dhcpv6-stateful;dhcpv6-stateless
type IPvAny ¶
type IPvAny string
+kubebuilder:validation:MinLength:=1 +kubebuilder:validation:MaxLength:=45
type Image ¶
type Image struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec ImageSpec `json:"spec,omitempty"` Status ImageStatus `json:"status,omitempty"` }
Image is the Schema for an ORC resource.
func (*Image) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Image.
func (*Image) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Image) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*Image) GetCloudCredentialsRef ¶
func (i *Image) GetCloudCredentialsRef() (*string, *CloudCredentialsReference)
func (*Image) GetConditions ¶
type ImageCompression ¶
type ImageCompression string
+kubebuilder:validation:Enum:=xz;gz;bz2
const ( ImageCompressionXZ ImageCompression = "xz" ImageCompressionGZ ImageCompression = "gz" ImageCompressionBZ2 ImageCompression = "bz2" )
type ImageContainerFormat ¶
type ImageContainerFormat string
+kubebuilder:validation:Enum:=ami;ari;aki;bare;ovf;ova;docker
const ( ImageContainerFormatAKI ImageContainerFormat = "aki" ImageContainerFormatAMI ImageContainerFormat = "ami" ImageContainerFormatARI ImageContainerFormat = "ari" ImageContainerFormatBare ImageContainerFormat = "bare" ImageContainerFormatDocker ImageContainerFormat = "docker" ImageContainerFormatOVA ImageContainerFormat = "ova" ImageContainerFormatOVF ImageContainerFormat = "ovf" )
type ImageContent ¶
type ImageContent struct { // ContainerFormat is the format of the image container. // qcow2 and raw images do not usually have a container. This is specified as "bare", which is also the default. // Permitted values are ami, ari, aki, bare, ovf, ova, and docker. // +kubebuilder:default:=bare // +optional ContainerFormat ImageContainerFormat `json:"containerFormat,omitempty"` // DiskFormat is the format of the disk image. // Normal values are "qcow2", or "raw". Glance may be configured to support others. // +kubebuilder:validation:Required DiskFormat ImageDiskFormat `json:"diskFormat"` // Download describes how to obtain image data by downloading it from a URL. // Must be set when creating a managed image. // +kubebuilder:validation:Required Download *ImageContentSourceDownload `json:"download,omitempty"` }
func (*ImageContent) DeepCopy ¶
func (in *ImageContent) DeepCopy() *ImageContent
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageContent.
func (*ImageContent) DeepCopyInto ¶
func (in *ImageContent) DeepCopyInto(out *ImageContent)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ImageContentSourceDownload ¶
type ImageContentSourceDownload struct { // URL containing image data // +kubebuilder:validation:Format=uri // +kubebuilder:validation:Required URL string `json:"url"` // Decompress specifies that the source data must be decompressed with the // given compression algorithm before being stored. Specifying Decompress // will disable the use of Glance's web-download, as web-download cannot // currently deterministically decompress downloaded content. // +optional Decompress *ImageCompression `json:"decompress,omitempty"` // Hash is a hash which will be used to verify downloaded data, i.e. // before any decompression. If not specified, no hash verification will be // performed. Specifying a Hash will disable the use of Glance's // web-download, as web-download cannot currently deterministically verify // the hash of downloaded content. // +kubebuilder:validation:XValidation:rule="self == oldSelf",message="hash is immutable" // +optional Hash *ImageHash `json:"hash,omitempty"` }
func (*ImageContentSourceDownload) DeepCopy ¶
func (in *ImageContentSourceDownload) DeepCopy() *ImageContentSourceDownload
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageContentSourceDownload.
func (*ImageContentSourceDownload) DeepCopyInto ¶
func (in *ImageContentSourceDownload) DeepCopyInto(out *ImageContentSourceDownload)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ImageDiskFormat ¶
type ImageDiskFormat string
+kubebuilder:validation:Enum:=ami;ari;aki;vhd;vhdx;vmdk;raw;qcow2;vdi;ploop;iso
const ( ImageDiskFormatAMI ImageDiskFormat = "ami" ImageDiskFormatARI ImageDiskFormat = "ari" ImageDiskFormatAKI ImageDiskFormat = "aki" ImageDiskFormatVHD ImageDiskFormat = "vhd" ImageDiskFormatVHDX ImageDiskFormat = "vhdx" ImageDiskFormatVMDK ImageDiskFormat = "vmdk" ImageDiskFormatRaw ImageDiskFormat = "raw" ImageDiskFormatQCOW2 ImageDiskFormat = "qcow2" ImageDiskFormatVDI ImageDiskFormat = "vdi" ImageDiskFormatPLoop ImageDiskFormat = "ploop" ImageDiskFormatISO ImageDiskFormat = "iso" )
type ImageFilter ¶
type ImageFilter struct { // Name specifies the name of a Glance image // +optional // +kubebuilder:validation:MinLength:=1 // +kubebuilder:validation:MaxLength:=1000 Name *string `json:"name,omitempty"` }
ImageFilter defines a Glance query +kubebuilder:validation:MinProperties:=1
func (*ImageFilter) DeepCopy ¶
func (in *ImageFilter) DeepCopy() *ImageFilter
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageFilter.
func (*ImageFilter) DeepCopyInto ¶
func (in *ImageFilter) DeepCopyInto(out *ImageFilter)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ImageHWBus ¶
type ImageHWBus string
ImageHWBus is a type of hardware bus.
Permitted values are scsi, virtio, uml, xen, ide, usb, and lxc. +kubebuilder:validation:Enum:=scsi;virtio;uml;xen;ide;usb;lxc
type ImageHash ¶
type ImageHash struct { // Algorithm is the hash algorithm used to generate value. // +kubebuilder:validation:Required Algorithm ImageHashAlgorithm `json:"algorithm"` // Value is the hash of the image data using Algorithm. It must be hex encoded using lowercase letters. // +kubebuilder:validation:MinLength:=1 // +kubebuilder:validation:MaxLength:=1024 // +kubebuilder:validation:Pattern:=`^[0-9a-f]+$` // +kubebuilder:validation:Required Value string `json:"value"` }
func (*ImageHash) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageHash.
func (*ImageHash) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ImageHashAlgorithm ¶
type ImageHashAlgorithm string
+kubebuilder:validation:Enum:=md5;sha1;sha256;sha512
const ( ImageHashAlgorithmMD5 ImageHashAlgorithm = "md5" ImageHashAlgorithmSHA1 ImageHashAlgorithm = "sha1" ImageHashAlgorithmSHA256 ImageHashAlgorithm = "sha256" ImageHashAlgorithmSHA512 ImageHashAlgorithm = "sha512" )
type ImageImport ¶
type ImageImport struct { // ID contains the unique identifier of an existing OpenStack resource. Note // that when specifying an import by ID, the resource MUST already exist. // The ORC object will enter an error state if the resource does not exist. // +optional // +kubebuilder:validation:Format:=uuid ID *string `json:"id,omitempty"` // Filter contains a resource query which is expected to return a single // result. The controller will continue to retry if filter returns no // results. If filter returns multiple results the controller will set an // error state and will not continue to retry. // +optional Filter *ImageFilter `json:"filter,omitempty"` }
ImageImport specifies an existing resource which will be imported instead of creating a new one +kubebuilder:validation:MinProperties:=1 +kubebuilder:validation:MaxProperties:=1
func (*ImageImport) DeepCopy ¶
func (in *ImageImport) DeepCopy() *ImageImport
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageImport.
func (*ImageImport) DeepCopyInto ¶
func (in *ImageImport) DeepCopyInto(out *ImageImport)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ImageList ¶
type ImageList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []Image `json:"items"` }
ImageList contains a list of Image.
func (*ImageList) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageList.
func (*ImageList) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ImageList) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ImageProperties ¶
type ImageProperties struct { // MinDisk is the minimum amount of disk space in GB that is required to boot the image // +kubebuilder:validation:Minimum:=1 // +optional MinDiskGB *int `json:"minDiskGB,omitempty"` // MinMemoryMB is the minimum amount of RAM in MB that is required to boot the image. // +kubebuilder:validation:Minimum:=1 // +optional MinMemoryMB *int `json:"minMemoryMB,omitempty"` // Hardware is a set of properties which control the virtual hardware // created by Nova. // +optional Hardware *ImagePropertiesHardware `json:"hardware,omitempty"` }
func (*ImageProperties) DeepCopy ¶
func (in *ImageProperties) DeepCopy() *ImageProperties
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageProperties.
func (*ImageProperties) DeepCopyInto ¶
func (in *ImageProperties) DeepCopyInto(out *ImageProperties)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ImagePropertiesHardware ¶
type ImagePropertiesHardware struct { // CPUSockets is the preferred number of sockets to expose to the guest // +optional CPUSockets *int `json:"cpuSockets,omitempty" glance:"hw_cpu_sockets"` // CPUCores is the preferred number of cores to expose to the guest // +optional CPUCores *int `json:"cpuCores,omitempty" glance:"hw_cpu_cores"` // CPUThreads is the preferred number of threads to expose to the guest // +optional CPUThreads *int `json:"cpuThreads,omitempty" glance:"hw_cpu_threads"` // CPUPolicy is used to pin the virtual CPUs (vCPUs) of instances to the // host's physical CPU cores (pCPUs). Host aggregates should be used to // separate these pinned instances from unpinned instances as the latter // will not respect the resourcing requirements of the former. // // Permitted values are shared (the default), and dedicated. // // shared: The guest vCPUs will be allowed to freely float across host // pCPUs, albeit potentially constrained by NUMA policy. // // dedicated: The guest vCPUs will be strictly pinned to a set of host // pCPUs. In the absence of an explicit vCPU topology request, the // drivers typically expose all vCPUs as sockets with one core and one // thread. When strict CPU pinning is in effect the guest CPU topology // will be setup to match the topology of the CPUs to which it is // pinned. This option implies an overcommit ratio of 1.0. For example, // if a two vCPU guest is pinned to a single host core with two threads, // then the guest will get a topology of one socket, one core, two // threads. // +kubebuilder:validation:Enum:=shared;dedicated // +optional CPUPolicy *string `json:"cpuPolicy,omitempty" glance:"hw_cpu_policy"` // CPUThreadPolicy further refines a CPUPolicy of 'dedicated' by stating // how hardware CPU threads in a simultaneous multithreading-based (SMT) // architecture be used. SMT-based architectures include Intel // processors with Hyper-Threading technology. In these architectures, // processor cores share a number of components with one or more other // cores. Cores in such architectures are commonly referred to as // hardware threads, while the cores that a given core share components // with are known as thread siblings. // // Permitted values are prefer (the default), isolate, and require. // // prefer: The host may or may not have an SMT architecture. Where an // SMT architecture is present, thread siblings are preferred. // // isolate: The host must not have an SMT architecture or must emulate a // non-SMT architecture. If the host does not have an SMT architecture, // each vCPU is placed on a different core as expected. If the host does // have an SMT architecture - that is, one or more cores have thread // siblings - then each vCPU is placed on a different physical core. No // vCPUs from other guests are placed on the same core. All but one // thread sibling on each utilized core is therefore guaranteed to be // unusable. // // require: The host must have an SMT architecture. Each vCPU is // allocated on thread siblings. If the host does not have an SMT // architecture, then it is not used. If the host has an SMT // architecture, but not enough cores with free thread siblings are // available, then scheduling fails. // +kubebuilder:validation:Enum:=prefer;isolate;require // +optional CPUThreadPolicy *string `json:"cpuThreadPolicy,omitempty" glance:"hw_cpu_thread_policy"` // CDROMBus specifies the type of disk controller to attach CD-ROM devices to. // +optional CDROMBus *ImageHWBus `json:"cdromBus,omitempty" glance:"hw_cdrom_bus"` // DiskBus specifies the type of disk controller to attach disk devices to. // +optional DiskBus *ImageHWBus `json:"diskBus,omitempty" glance:"hw_disk_bus"` // SCSIModel enables the use of VirtIO SCSI (virtio-scsi) to provide // block device access for compute instances; by default, instances use // VirtIO Block (virtio-blk). VirtIO SCSI is a para-virtualized SCSI // controller device that provides improved scalability and performance, // and supports advanced SCSI hardware. // // The only permitted value is virtio-scsi. // +kubebuilder:validation:Enum:=virtio-scsi // +optional SCSIModel *string `json:"scsiModel,omitempty" glance:"hw_scsi_model"` // VIFModel specifies the model of virtual network interface device to use. // // Permitted values are e1000, e1000e, ne2k_pci, pcnet, rtl8139, virtio, // and vmxnet3. // +kubebuilder:validation:Enum:=e1000;e1000e;ne2k_pci;pcnet;rtl8139;virtio;vmxnet3 // +optional VIFModel *string `json:"vifModel,omitempty" glance:"hw_vif_model"` }
func (*ImagePropertiesHardware) DeepCopy ¶
func (in *ImagePropertiesHardware) DeepCopy() *ImagePropertiesHardware
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImagePropertiesHardware.
func (*ImagePropertiesHardware) DeepCopyInto ¶
func (in *ImagePropertiesHardware) DeepCopyInto(out *ImagePropertiesHardware)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ImageResourceSpec ¶
type ImageResourceSpec struct { // Name will be the name of the created Glance image. If not specified, the // name of the Image object will be used. // +kubebuilder:validation:MinLength:=1 // +kubebuilder:validation:MaxLength:=1000 // +optional Name string `json:"name,omitempty"` // Protected specifies that the image is protected from deletion. // If not specified, the default is false. // +optional Protected *bool `json:"protected,omitempty"` // Tags is a list of tags which will be applied to the image. A tag has a maximum length of 255 characters. // +listType=set // +optional Tags []ImageTag `json:"tags,omitempty"` // Visibility of the image // +kubebuilder:validation:XValidation:rule="self == oldSelf",message="visibility is immutable" // +optional Visibility *ImageVisibility `json:"visibility,omitempty"` // Properties is metadata available to consumers of the image // +optional Properties *ImageProperties `json:"properties,omitempty"` // Content specifies how to obtain the image content. // +kubebuilder:validation:XValidation:rule="self == oldSelf",message="content is immutable" // +optional Content *ImageContent `json:"content,omitempty"` }
ImageResourceSpec contains the desired state of a Glance image +kubebuilder:validation:XValidation:rule="has(self.name) ? self.name == oldSelf.name : !has(oldSelf.name)",message="name is immutable" +kubebuilder:validation:XValidation:rule="has(self.protected) ? self.protected == oldSelf.protected : !has(oldSelf.protected)",message="name is immutable" +kubebuilder:validation:XValidation:rule="has(self.tags) ? self.tags == oldSelf.tags : !has(oldSelf.tags)",message="tags is immutable" +kubebuilder:validation:XValidation:rule="has(self.visibility) ? self.visibility == oldSelf.visibility : !has(oldSelf.visibility)",message="visibility is immutable" +kubebuilder:validation:XValidation:rule="has(self.properties) ? self.properties == oldSelf.properties : !has(oldSelf.properties)",message="properties is immutable"
func (*ImageResourceSpec) DeepCopy ¶
func (in *ImageResourceSpec) DeepCopy() *ImageResourceSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageResourceSpec.
func (*ImageResourceSpec) DeepCopyInto ¶
func (in *ImageResourceSpec) DeepCopyInto(out *ImageResourceSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ImageResourceStatus ¶
type ImageResourceStatus struct { // Status is the image status as reported by Glance // +optional Status *string `json:"status,omitempty"` // Hash is the hash of the image data published by Glance. Note that this is // a hash of the data stored internally by Glance, which will have been // decompressed and potentially format converted depending on server-side // configuration which is not visible to clients. It is expected that this // hash will usually differ from the download hash. // +optional Hash *ImageHash `json:"hash,omitempty"` // SizeB is the size of the image data, in bytes // +optional SizeB *int64 `json:"sizeB,omitempty"` // VirtualSizeB is the size of the disk the image data represents, in bytes // +optional VirtualSizeB *int64 `json:"virtualSizeB,omitempty"` }
ImageResourceStatus represents the observed state of a Glance image
func (*ImageResourceStatus) DeepCopy ¶
func (in *ImageResourceStatus) DeepCopy() *ImageResourceStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageResourceStatus.
func (*ImageResourceStatus) DeepCopyInto ¶
func (in *ImageResourceStatus) DeepCopyInto(out *ImageResourceStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ImageSpec ¶
type ImageSpec struct { // Import refers to an existing OpenStack resource which will be imported instead of // creating a new one. // +optional Import *ImageImport `json:"import,omitempty"` // Resource specifies the desired state of the resource. // // Resource may not be specified if the management policy is `unmanaged`. // // Resource must be specified if the management policy is `managed`. // +optional Resource *ImageResourceSpec `json:"resource,omitempty"` // ManagementPolicy defines how ORC will treat the object. Valid values are // `managed`: ORC will create, update, and delete the resource; `unmanaged`: // ORC will import an existing resource, and will not apply updates to it or // delete it. // +kubebuilder:validation:XValidation:rule="self == oldSelf",message="managementPolicy is immutable" // +kubebuilder:default:=managed // +optional ManagementPolicy ManagementPolicy `json:"managementPolicy,omitempty"` // ManagedOptions specifies options which may be applied to managed objects. // +optional ManagedOptions *ManagedOptions `json:"managedOptions,omitempty"` // CloudCredentialsRef points to a secret containing OpenStack credentials // +kubebuilder:validation:Required CloudCredentialsRef CloudCredentialsReference `json:"cloudCredentialsRef"` }
ImageSpec defines the desired state of an ORC object. +kubebuilder:validation:XValidation:rule="self.managementPolicy == 'managed' ? has(self.resource) : true",message="resource must be specified when policy is managed" +kubebuilder:validation:XValidation:rule="self.managementPolicy == 'managed' ? !has(self.__import__) : true",message="import may not be specified when policy is managed" +kubebuilder:validation:XValidation:rule="self.managementPolicy == 'unmanaged' ? !has(self.resource) : true",message="resource may not be specified when policy is unmanaged" +kubebuilder:validation:XValidation:rule="self.managementPolicy == 'unmanaged' ? has(self.__import__) : true",message="import must be specified when policy is unmanaged" +kubebuilder:validation:XValidation:rule="has(self.managedOptions) ? self.managementPolicy == 'managed' : true",message="managedOptions may only be provided when policy is managed" +kubebuilder:validation:XValidation:rule="!has(self.__import__) ? has(self.resource.content) : true",message="resource content must be specified when not importing"
func (*ImageSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageSpec.
func (*ImageSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ImageStatus ¶
type ImageStatus struct { // Conditions represents the observed status of the object. // Known .status.conditions.type are: "Available", "Progressing" // // Available represents the availability of the OpenStack resource. If it is // true then the resource is ready for use. // // Progressing indicates whether the controller is still attempting to // reconcile the current state of the OpenStack resource to the desired // state. Progressing will be False either because the desired state has // been achieved, or because some terminal error prevents it from ever being // achieved and the controller is no longer attempting to reconcile. If // Progressing is True, an observer waiting on the resource should continue // to wait. // // +patchMergeKey=type // +patchStrategy=merge // +listType=map // +listMapKey=type Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"` // ID is the unique identifier of the OpenStack resource. // +optional ID *string `json:"id,omitempty"` // Resource contains the observed state of the OpenStack resource. // +optional Resource *ImageResourceStatus `json:"resource,omitempty"` ImageStatusExtra `json:",inline"` }
ImageStatus defines the observed state of an ORC resource.
func (*ImageStatus) DeepCopy ¶
func (in *ImageStatus) DeepCopy() *ImageStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageStatus.
func (*ImageStatus) DeepCopyInto ¶
func (in *ImageStatus) DeepCopyInto(out *ImageStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ImageStatusExtra ¶
type ImageStatusExtra struct { // DownloadAttempts is the number of times the controller has attempted to download the image contents // +optional DownloadAttempts *int `json:"downloadAttempts,omitempty"` }
func (*ImageStatusExtra) DeepCopy ¶
func (in *ImageStatusExtra) DeepCopy() *ImageStatusExtra
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageStatusExtra.
func (*ImageStatusExtra) DeepCopyInto ¶
func (in *ImageStatusExtra) DeepCopyInto(out *ImageStatusExtra)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ImageTag ¶
type ImageTag string
+kubebuilder:validation:MinLength:=1 +kubebuilder:validation:MaxLength:=255
type ImageVisibility ¶
type ImageVisibility string
+kubebuilder:validation:Enum:=public;private;shared;community
const ( ImageVisibilityPublic ImageVisibility = "public" ImageVisibilityPrivate ImageVisibility = "private" ImageVisibilityCommunity ImageVisibility = "community" )
type KubernetesNameRef ¶
type KubernetesNameRef string
+kubebuilder:validation:MinLength:=1 +kubebuilder:validation:MaxLength:=128
type MAC ¶
type MAC string
+kubebuilder:validation:MinLength:=1 +kubebuilder:validation:MaxLength:=17
type ManagedOptions ¶
type ManagedOptions struct { // OnDelete specifies the behaviour of the controller when the ORC // object is deleted. Options are `delete` - delete the OpenStack resource; // `detach` - do not delete the OpenStack resource. If not specified, the // default is `delete`. // +kubebuilder:default:=delete // +optional OnDelete OnDelete `json:"onDelete,omitempty"` }
func (*ManagedOptions) DeepCopy ¶
func (in *ManagedOptions) DeepCopy() *ManagedOptions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedOptions.
func (*ManagedOptions) DeepCopyInto ¶
func (in *ManagedOptions) DeepCopyInto(out *ManagedOptions)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ManagedOptions) GetOnDelete ¶
func (o *ManagedOptions) GetOnDelete() OnDelete
GetOnDelete returns the delete behaviour from ManagedOptions. If called on a nil receiver it safely returns the default.
type ManagementPolicy ¶
type ManagementPolicy string
+kubebuilder:validation:Enum:=managed;unmanaged
const ( // ManagementPolicyManaged specifies that the controller will reconcile the // state of the referenced OpenStack resource with the state of the ORC // object. ManagementPolicyManaged ManagementPolicy = "managed" // ManagementPolicyUnmanaged specifies that the controller will expect the // resource to either exist already or to be created externally. The // controller will not make any changes to the referenced OpenStack // resource. ManagementPolicyUnmanaged ManagementPolicy = "unmanaged" )
type Network ¶
type Network struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec NetworkSpec `json:"spec,omitempty"` Status NetworkStatus `json:"status,omitempty"` }
Network is the Schema for an ORC resource.
func (*Network) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Network.
func (*Network) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Network) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*Network) GetCloudCredentialsRef ¶
func (i *Network) GetCloudCredentialsRef() (*string, *CloudCredentialsReference)
func (*Network) GetConditions ¶
type NetworkFilter ¶
type NetworkFilter struct { // Name of the existing resource // +optional Name *OpenStackName `json:"name,omitempty"` // Description of the existing resource // +optional Description *OpenStackDescription `json:"description,omitempty"` // External indicates whether the network has an external routing // facility that’s not managed by the networking service. // +optional External *bool `json:"external,omitempty"` // ProjectID specifies the ID of the project which owns the network. // +optional ProjectID *UUID `json:"projectID,omitempty"` FilterByNeutronTags `json:",inline"` }
NetworkFilter defines an existing resource by its properties +kubebuilder:validation:MinProperties:=1
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.
type NetworkImport ¶
type NetworkImport struct { // ID contains the unique identifier of an existing OpenStack resource. Note // that when specifying an import by ID, the resource MUST already exist. // The ORC object will enter an error state if the resource does not exist. // +optional // +kubebuilder:validation:Format:=uuid ID *string `json:"id,omitempty"` // Filter contains a resource query which is expected to return a single // result. The controller will continue to retry if filter returns no // results. If filter returns multiple results the controller will set an // error state and will not continue to retry. // +optional Filter *NetworkFilter `json:"filter,omitempty"` }
NetworkImport specifies an existing resource which will be imported instead of creating a new one +kubebuilder:validation:MinProperties:=1 +kubebuilder:validation:MaxProperties:=1
func (*NetworkImport) DeepCopy ¶
func (in *NetworkImport) DeepCopy() *NetworkImport
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkImport.
func (*NetworkImport) DeepCopyInto ¶
func (in *NetworkImport) DeepCopyInto(out *NetworkImport)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NetworkList ¶
type NetworkList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []Network `json:"items"` }
NetworkList contains a list of Network.
func (*NetworkList) DeepCopy ¶
func (in *NetworkList) DeepCopy() *NetworkList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkList.
func (*NetworkList) DeepCopyInto ¶
func (in *NetworkList) DeepCopyInto(out *NetworkList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*NetworkList) DeepCopyObject ¶
func (in *NetworkList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*NetworkList) GetItems ¶
func (l *NetworkList) GetItems() []Network
type NetworkResourceSpec ¶
type NetworkResourceSpec struct { // Name will be the name of the created resource. If not specified, the // name of the ORC object will be used. // +optional Name *OpenStackName `json:"name,omitempty"` // +optional Description *OpenStackDescription `json:"description,omitempty"` // Tags is a list of tags which will be applied to the network. // +kubebuilder:validation:MaxItems:=32 // +listType=set Tags []NeutronTag `json:"tags,omitempty"` // +optional AdminStateUp *bool `json:"adminStateUp,omitempty"` // +optional DNSDomain *DNSDomain `json:"dnsDomain,omitempty"` // MTU is the the maximum transmission unit value to address // fragmentation. Minimum value is 68 for IPv4, and 1280 for IPv6. // +optional MTU *MTU `json:"mtu,omitempty"` // PortSecurityEnabled is the port security status of the network. // Valid values are enabled (true) and disabled (false). This value is // used as the default value of port_security_enabled field of a newly // created port. // +optional PortSecurityEnabled *bool `json:"portSecurityEnabled,omitempty"` // External indicates whether the network has an external routing // facility that’s not managed by the networking service. // +optional External *bool `json:"external,omitempty"` // projects. By default, only administrative users can change this // value. // +optional Shared *bool `json:"shared,omitempty"` // AvailabilityZoneHints is the availability zone candidate for the network. // +listType=set // +optional AvailabilityZoneHints []AvailabilityZoneHint `json:"availabilityZoneHints,omitempty"` }
NetworkResourceSpec contains the desired state of a network
func (*NetworkResourceSpec) DeepCopy ¶
func (in *NetworkResourceSpec) DeepCopy() *NetworkResourceSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkResourceSpec.
func (*NetworkResourceSpec) DeepCopyInto ¶
func (in *NetworkResourceSpec) DeepCopyInto(out *NetworkResourceSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NetworkResourceStatus ¶
type NetworkResourceStatus struct { // Human-readable name for the network. Might not be unique. // +optional Name string `json:"name,omitempty"` // Description is a human-readable description for the resource. // +optional Description string `json:"description,omitempty"` // ProjectID is the project owner of the network. // +optional ProjectID string `json:"projectID,omitempty"` // Indicates whether network is currently operational. Possible values // include `ACTIVE', `DOWN', `BUILD', or `ERROR'. Plug-ins might define // additional values. // +optional Status string `json:"status,omitempty"` // Tags is the list of tags on the resource. // +listType=atomic // +optional Tags []string `json:"tags,omitempty"` NeutronStatusMetadata `json:",inline"` // AdminStateUp is the administrative state of the network, // which is up (true) or down (false). AdminStateUp bool `json:"adminStateUp"` // AvailabilityZoneHints is the availability zone candidate for the // network. // +listType=atomic // +optional AvailabilityZoneHints []string `json:"availabilityZoneHints,omitempty"` DNSDomain string `json:"dnsDomain,omitempty"` // MTU is the the maximum transmission unit value to address // fragmentation. Minimum value is 68 for IPv4, and 1280 for IPv6. // +optional MTU int32 `json:"mtu,omitempty"` // PortSecurityEnabled is the port security status of the network. // Valid values are enabled (true) and disabled (false). This value is // used as the default value of port_security_enabled field of a newly // created port. // +optional PortSecurityEnabled *bool `json:"portSecurityEnabled,omitempty"` // +optional Provider *ProviderProperties `json:"provider,omitempty"` // External defines whether the network may be used for creation of // floating IPs. Only networks with this flag may be an external // gateway for routers. The network must have an external routing // facility that is not managed by the networking service. If the // network is updated from external to internal the unused floating IPs // of this network are automatically deleted when extension // floatingip-autodelete-internal is present. // +optional External bool `json:"external,omitempty"` // +optional Shared bool `json:"shared,omitempty"` // Subnets associated with this network. // +listType=atomic // +optional Subnets []string `json:"subnets,omitempty"` }
NetworkResourceStatus represents the observed state of the resource.
func (*NetworkResourceStatus) DeepCopy ¶
func (in *NetworkResourceStatus) DeepCopy() *NetworkResourceStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkResourceStatus.
func (*NetworkResourceStatus) DeepCopyInto ¶
func (in *NetworkResourceStatus) DeepCopyInto(out *NetworkResourceStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NetworkSpec ¶
type NetworkSpec struct { // Import refers to an existing OpenStack resource which will be imported instead of // creating a new one. // +optional Import *NetworkImport `json:"import,omitempty"` // Resource specifies the desired state of the resource. // // Resource may not be specified if the management policy is `unmanaged`. // // Resource must be specified if the management policy is `managed`. // +optional Resource *NetworkResourceSpec `json:"resource,omitempty"` // ManagementPolicy defines how ORC will treat the object. Valid values are // `managed`: ORC will create, update, and delete the resource; `unmanaged`: // ORC will import an existing resource, and will not apply updates to it or // delete it. // +kubebuilder:validation:XValidation:rule="self == oldSelf",message="managementPolicy is immutable" // +kubebuilder:default:=managed // +optional ManagementPolicy ManagementPolicy `json:"managementPolicy,omitempty"` // ManagedOptions specifies options which may be applied to managed objects. // +optional ManagedOptions *ManagedOptions `json:"managedOptions,omitempty"` // CloudCredentialsRef points to a secret containing OpenStack credentials // +kubebuilder:validation:Required CloudCredentialsRef CloudCredentialsReference `json:"cloudCredentialsRef"` }
NetworkSpec defines the desired state of an ORC object. +kubebuilder:validation:XValidation:rule="self.managementPolicy == 'managed' ? has(self.resource) : true",message="resource must be specified when policy is managed" +kubebuilder:validation:XValidation:rule="self.managementPolicy == 'managed' ? !has(self.__import__) : true",message="import may not be specified when policy is managed" +kubebuilder:validation:XValidation:rule="self.managementPolicy == 'unmanaged' ? !has(self.resource) : true",message="resource may not be specified when policy is unmanaged" +kubebuilder:validation:XValidation:rule="self.managementPolicy == 'unmanaged' ? has(self.__import__) : true",message="import must be specified when policy is unmanaged" +kubebuilder:validation:XValidation:rule="has(self.managedOptions) ? self.managementPolicy == 'managed' : true",message="managedOptions may only be provided when policy is managed"
func (*NetworkSpec) DeepCopy ¶
func (in *NetworkSpec) DeepCopy() *NetworkSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkSpec.
func (*NetworkSpec) DeepCopyInto ¶
func (in *NetworkSpec) DeepCopyInto(out *NetworkSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NetworkStatus ¶
type NetworkStatus struct { // Conditions represents the observed status of the object. // Known .status.conditions.type are: "Available", "Progressing" // // Available represents the availability of the OpenStack resource. If it is // true then the resource is ready for use. // // Progressing indicates whether the controller is still attempting to // reconcile the current state of the OpenStack resource to the desired // state. Progressing will be False either because the desired state has // been achieved, or because some terminal error prevents it from ever being // achieved and the controller is no longer attempting to reconcile. If // Progressing is True, an observer waiting on the resource should continue // to wait. // // +patchMergeKey=type // +patchStrategy=merge // +listType=map // +listMapKey=type Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"` // ID is the unique identifier of the OpenStack resource. // +optional ID *string `json:"id,omitempty"` // Resource contains the observed state of the OpenStack resource. // +optional Resource *NetworkResourceStatus `json:"resource,omitempty"` }
NetworkStatus defines the observed state of an ORC resource.
func (*NetworkStatus) DeepCopy ¶
func (in *NetworkStatus) DeepCopy() *NetworkStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkStatus.
func (*NetworkStatus) DeepCopyInto ¶
func (in *NetworkStatus) DeepCopyInto(out *NetworkStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NeutronStatusMetadata ¶
type NeutronStatusMetadata struct { CreatedAt *metav1.Time `json:"createdAt,omitempty"` UpdatedAt *metav1.Time `json:"updatedAt,omitempty"` // RevisionNumber optionally set via extensions/standard-attr-revisions RevisionNumber *int64 `json:"revisionNumber,omitempty"` }
func (*NeutronStatusMetadata) DeepCopy ¶
func (in *NeutronStatusMetadata) DeepCopy() *NeutronStatusMetadata
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NeutronStatusMetadata.
func (*NeutronStatusMetadata) DeepCopyInto ¶
func (in *NeutronStatusMetadata) DeepCopyInto(out *NeutronStatusMetadata)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NeutronTag ¶
type NeutronTag string
NeutronTag represents a tag on a Neutron resource. It may not be empty and may not contain commas. +kubebuilder:validation:MinLength:=1 +kubebuilder:validation:MaxLength:=60
type ORCNameRef ¶
type ORCNameRef string
+kubebuilder:validation:MinLength:=1 +kubebuilder:validation:MaxLength:=253
type ObjectWithConditions ¶
ObjectWithConditions is a metav1.Object which also stores conditions in its status. +kubebuilder:object:generate:=false
type OnDelete ¶
type OnDelete string
+kubebuilder:validation:Enum:=delete;detach
const ( // OnDeleteDelete specifies that the OpenStack resource will be deleted // when the managed ORC object is deleted. OnDeleteDelete OnDelete = "delete" // OnDeleteDetach specifies that the OpenStack resource will not be // deleted when the managed ORC object is deleted. OnDeleteDetach OnDelete = "detach" )
type OpenStackDescription ¶
type OpenStackDescription string
+kubebuilder:validation:MinLength:=1 +kubebuilder:validation:MaxLength:=1024
type OpenStackName ¶
type OpenStackName string
+kubebuilder:validation:MinLength:=1 +kubebuilder:validation:MaxLength:=1024
type PhysicalNetwork ¶
type PhysicalNetwork string
+kubebuilder:validation:MinLength:=1 +kubebuilder:validation:MaxLength:=128
type Port ¶
type Port struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec PortSpec `json:"spec,omitempty"` Status PortStatus `json:"status,omitempty"` }
Port is the Schema for an ORC resource.
func (*Port) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Port.
func (*Port) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Port) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*Port) GetCloudCredentialsRef ¶
func (i *Port) GetCloudCredentialsRef() (*string, *CloudCredentialsReference)
func (*Port) GetConditions ¶
type PortFilter ¶
type PortFilter struct { Name *OpenStackName `json:"name,omitempty"` Description *OpenStackDescription `json:"description,omitempty"` ProjectID *UUID `json:"projectID,omitempty"` FilterByNeutronTags `json:",inline"` }
PortFilter specifies a filter to select a port. At least one parameter must be specified. +kubebuilder:validation:MinProperties:=1
func (*PortFilter) DeepCopy ¶
func (in *PortFilter) DeepCopy() *PortFilter
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PortFilter.
func (*PortFilter) DeepCopyInto ¶
func (in *PortFilter) DeepCopyInto(out *PortFilter)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PortImport ¶
type PortImport struct { // ID contains the unique identifier of an existing OpenStack resource. Note // that when specifying an import by ID, the resource MUST already exist. // The ORC object will enter an error state if the resource does not exist. // +optional // +kubebuilder:validation:Format:=uuid ID *string `json:"id,omitempty"` // Filter contains a resource query which is expected to return a single // result. The controller will continue to retry if filter returns no // results. If filter returns multiple results the controller will set an // error state and will not continue to retry. // +optional Filter *PortFilter `json:"filter,omitempty"` }
PortImport specifies an existing resource which will be imported instead of creating a new one +kubebuilder:validation:MinProperties:=1 +kubebuilder:validation:MaxProperties:=1
func (*PortImport) DeepCopy ¶
func (in *PortImport) DeepCopy() *PortImport
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PortImport.
func (*PortImport) DeepCopyInto ¶
func (in *PortImport) DeepCopyInto(out *PortImport)
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 Port.
func (*PortList) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PortList.
func (*PortList) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PortList) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type PortRefs ¶
type PortRefs struct { // NetworkRef is a reference to the ORC Network which this port is associated with. // +required NetworkRef ORCNameRef `json:"networkRef"` }
func (*PortRefs) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PortRefs.
func (*PortRefs) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PortResourceSpec ¶
type PortResourceSpec struct { // Name is a human-readable name of the port. If not set, the object's name will be used. // +optional Name *OpenStackName `json:"name,omitempty"` // Description of the port. // +optional Description *OpenStackDescription `json:"description,omitempty"` // Tags is a list of tags which will be applied to the port. // +kubebuilder:validation:MaxItems:=32 // +listType=set // +optional Tags []NeutronTag `json:"tags,omitempty"` // ProjectID is the unique ID of the project which owns the Port. Only // administrative users can specify a project UUID other than their own. // +optional ProjectID *UUID `json:"projectID,omitempty"` // AllowedAddressPairs are allowed addresses associated with this port. // +kubebuilder:validation:MaxItems:=32 // +listType=atomic // +optional AllowedAddressPairs []AllowedAddressPair `json:"allowedAddressPairs,omitempty"` // Addresses are the IP addresses for the port. // +kubebuilder:validation:MaxItems:=32 // +listType=atomic // +optional Addresses []Address `json:"addresses,omitempty"` // SecurityGroupRefs are the names of the security groups associated // with this port. // +listType=atomic SecurityGroupRefs []OpenStackName `json:"securityGroupRefs,omitempty"` }
func (*PortResourceSpec) DeepCopy ¶
func (in *PortResourceSpec) DeepCopy() *PortResourceSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PortResourceSpec.
func (*PortResourceSpec) DeepCopyInto ¶
func (in *PortResourceSpec) DeepCopyInto(out *PortResourceSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PortResourceStatus ¶
type PortResourceStatus struct { // Name is the human-readable name of the resource. Might not be unique. // +optional Name string `json:"name,omitempty"` // Description is a human-readable description for the resource. // +optional Description string `json:"description,omitempty"` // ProjectID is the project owner of the resource. // +optional ProjectID string `json:"projectID,omitempty"` // Status indicates the current status of the resource. // +optional Status string `json:"status,omitempty"` // Tags is the list of tags on the resource. // +listType=atomic // +optional Tags []string `json:"tags,omitempty"` // AdminStateUp is the administrative state of the port, // which is up (true) or down (false). // +optional AdminStateUp bool `json:"adminStateUp,omitempty"` // MACAddress is the MAC address of the port. // +optional MACAddress string `json:"macAddress,omitempty"` // DeviceID is the ID of the device that uses this port. // +optional DeviceID string `json:"deviceID,omitempty"` // DeviceOwner is the entity type that uses this port. // +optional DeviceOwner string `json:"deviceOwner,omitempty"` // AllowedAddressPairs is a set of zero or more allowed address pair // objects each where address pair object contains an IP address and // MAC address. // +listType=atomic // +optional AllowedAddressPairs []AllowedAddressPairStatus `json:"allowedAddressPairs,omitempty"` // FixedIPs is a set of zero or more fixed IP objects each where fixed // IP object contains an IP address and subnet ID from which the IP // address is assigned. // +listType=atomic // +optional FixedIPs []FixedIPStatus `json:"fixedIPs,omitempty"` // SecurityGroups contains the IDs of security groups applied to the port. // +listType=atomic // +optional SecurityGroups []string `json:"securityGroups,omitempty"` // PropagateUplinkStatus represents the uplink status propagation of // the port. // +optional PropagateUplinkStatus bool `json:"propagateUplinkStatus,omitempty"` NeutronStatusMetadata `json:",inline"` }
func (*PortResourceStatus) DeepCopy ¶
func (in *PortResourceStatus) DeepCopy() *PortResourceStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PortResourceStatus.
func (*PortResourceStatus) DeepCopyInto ¶
func (in *PortResourceStatus) DeepCopyInto(out *PortResourceStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PortSpec ¶
type PortSpec struct { PortRefs `json:",inline"` // Import refers to an existing OpenStack resource which will be imported instead of // creating a new one. // +optional Import *PortImport `json:"import,omitempty"` // Resource specifies the desired state of the resource. // // Resource may not be specified if the management policy is `unmanaged`. // // Resource must be specified if the management policy is `managed`. // +optional Resource *PortResourceSpec `json:"resource,omitempty"` // ManagementPolicy defines how ORC will treat the object. Valid values are // `managed`: ORC will create, update, and delete the resource; `unmanaged`: // ORC will import an existing resource, and will not apply updates to it or // delete it. // +kubebuilder:validation:XValidation:rule="self == oldSelf",message="managementPolicy is immutable" // +kubebuilder:default:=managed // +optional ManagementPolicy ManagementPolicy `json:"managementPolicy,omitempty"` // ManagedOptions specifies options which may be applied to managed objects. // +optional ManagedOptions *ManagedOptions `json:"managedOptions,omitempty"` // CloudCredentialsRef points to a secret containing OpenStack credentials // +kubebuilder:validation:Required CloudCredentialsRef CloudCredentialsReference `json:"cloudCredentialsRef"` }
PortSpec defines the desired state of an ORC object. +kubebuilder:validation:XValidation:rule="self.managementPolicy == 'managed' ? has(self.resource) : true",message="resource must be specified when policy is managed" +kubebuilder:validation:XValidation:rule="self.managementPolicy == 'managed' ? !has(self.__import__) : true",message="import may not be specified when policy is managed" +kubebuilder:validation:XValidation:rule="self.managementPolicy == 'unmanaged' ? !has(self.resource) : true",message="resource may not be specified when policy is unmanaged" +kubebuilder:validation:XValidation:rule="self.managementPolicy == 'unmanaged' ? has(self.__import__) : true",message="import must be specified when policy is unmanaged" +kubebuilder:validation:XValidation:rule="has(self.managedOptions) ? self.managementPolicy == 'managed' : true",message="managedOptions may only be provided when policy is managed"
func (*PortSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PortSpec.
func (*PortSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PortStatus ¶
type PortStatus struct { // Conditions represents the observed status of the object. // Known .status.conditions.type are: "Available", "Progressing" // // Available represents the availability of the OpenStack resource. If it is // true then the resource is ready for use. // // Progressing indicates whether the controller is still attempting to // reconcile the current state of the OpenStack resource to the desired // state. Progressing will be False either because the desired state has // been achieved, or because some terminal error prevents it from ever being // achieved and the controller is no longer attempting to reconcile. If // Progressing is True, an observer waiting on the resource should continue // to wait. // // +patchMergeKey=type // +patchStrategy=merge // +listType=map // +listMapKey=type Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"` // ID is the unique identifier of the OpenStack resource. // +optional ID *string `json:"id,omitempty"` // Resource contains the observed state of the OpenStack resource. // +optional Resource *PortResourceStatus `json:"resource,omitempty"` }
PortStatus defines the observed state of an ORC resource.
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 Protocol ¶
type Protocol string
+kubebuilder:validation:Pattern:=\b([01]?[0-9][0-9]?|2[0-4][0-9]|25[0-5])\b|any|ah|dccp|egp|esp|gre|icmp|icmpv6|igmp|ipip|ipv6-encap|ipv6-frag|ipv6-icmp|ipv6-nonxt|ipv6-opts|ipv6-route|ospf|pgm|rsvp|sctp|tcp|udp|udplite|vrrp +kubebuilder:validation:MinLength:=1 +kubebuilder:validation:MaxLength:=16
type ProviderNetworkType ¶
type ProviderNetworkType string
+kubebuilder:validation:Enum:=flat;vlan;vxlan;gre +kubebuilder:validation:MinLength:=1 +kubebuilder:validation:MaxLength:=16
type ProviderProperties ¶
type ProviderProperties struct { // NetworkType is the type of physical network that this // network should be mapped to. Supported values are flat, vlan, vxlan, and gre. // Valid values depend on the networking back-end. NetworkType *ProviderNetworkType `json:"networkType,omitempty"` // PhysicalNetwork is the physical network where this network // should be implemented. The Networking API v2.0 does not provide a // way to list available physical networks. For example, the Open // vSwitch plug-in configuration file defines a symbolic name that maps // to specific bridges on each compute host. PhysicalNetwork *PhysicalNetwork `json:"physicalNetwork,omitempty"` // SegmentationID is the ID of the isolated segment on the // physical network. The network_type attribute defines the // segmentation model. For example, if the network_type value is vlan, // this ID is a vlan identifier. If the network_type value is gre, this // ID is a gre key. SegmentationID *int32 `json:"segmentationID,omitempty"` }
ProviderProperties contains provider-network properties. Currently only available in status.
func (*ProviderProperties) DeepCopy ¶
func (in *ProviderProperties) DeepCopy() *ProviderProperties
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProviderProperties.
func (*ProviderProperties) DeepCopyInto ¶
func (in *ProviderProperties) DeepCopyInto(out *ProviderProperties)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Router ¶
type Router struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec RouterSpec `json:"spec,omitempty"` Status RouterStatus `json:"status,omitempty"` }
Router is the Schema for an ORC resource.
func (*Router) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Router.
func (*Router) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Router) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*Router) GetCloudCredentialsRef ¶
func (i *Router) GetCloudCredentialsRef() (*string, *CloudCredentialsReference)
func (*Router) GetConditions ¶
type RouterFilter ¶
type RouterFilter struct { Name OpenStackName `json:"name,omitempty"` Description OpenStackDescription `json:"description,omitempty"` ProjectID UUID `json:"projectID,omitempty"` FilterByNeutronTags `json:",inline"` }
RouterFilter specifies a query to select an OpenStack router. At least one property must be set. +kubebuilder:validation:MinProperties:=1
func (*RouterFilter) DeepCopy ¶
func (in *RouterFilter) DeepCopy() *RouterFilter
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouterFilter.
func (*RouterFilter) DeepCopyInto ¶
func (in *RouterFilter) DeepCopyInto(out *RouterFilter)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RouterImport ¶
type RouterImport struct { // ID contains the unique identifier of an existing OpenStack resource. Note // that when specifying an import by ID, the resource MUST already exist. // The ORC object will enter an error state if the resource does not exist. // +optional // +kubebuilder:validation:Format:=uuid ID *string `json:"id,omitempty"` // Filter contains a resource query which is expected to return a single // result. The controller will continue to retry if filter returns no // results. If filter returns multiple results the controller will set an // error state and will not continue to retry. // +optional Filter *RouterFilter `json:"filter,omitempty"` }
RouterImport specifies an existing resource which will be imported instead of creating a new one +kubebuilder:validation:MinProperties:=1 +kubebuilder:validation:MaxProperties:=1
func (*RouterImport) DeepCopy ¶
func (in *RouterImport) DeepCopy() *RouterImport
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouterImport.
func (*RouterImport) DeepCopyInto ¶
func (in *RouterImport) DeepCopyInto(out *RouterImport)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RouterInterface ¶
type RouterInterface struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec RouterInterfaceSpec `json:"spec,omitempty"` Status RouterInterfaceStatus `json:"status,omitempty"` }
RouterInterface is the Schema for an ORC resource.
func (*RouterInterface) DeepCopy ¶
func (in *RouterInterface) DeepCopy() *RouterInterface
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouterInterface.
func (*RouterInterface) DeepCopyInto ¶
func (in *RouterInterface) DeepCopyInto(out *RouterInterface)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*RouterInterface) DeepCopyObject ¶
func (in *RouterInterface) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*RouterInterface) GetConditions ¶
func (i *RouterInterface) GetConditions() []metav1.Condition
type RouterInterfaceList ¶
type RouterInterfaceList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []RouterInterface `json:"items"` }
RouterInterfaceList contains a list of Router.
func (*RouterInterfaceList) DeepCopy ¶
func (in *RouterInterfaceList) DeepCopy() *RouterInterfaceList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouterInterfaceList.
func (*RouterInterfaceList) DeepCopyInto ¶
func (in *RouterInterfaceList) DeepCopyInto(out *RouterInterfaceList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*RouterInterfaceList) DeepCopyObject ¶
func (in *RouterInterfaceList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type RouterInterfaceSpec ¶
type RouterInterfaceSpec struct { // +required // +unionDiscriminator Type RouterInterfaceType `json:"type"` // +required RouterRef ORCNameRef `json:"routerRef"` // +unionMember,optional SubnetRef *ORCNameRef `json:"subnetRef,omitempty"` }
+kubebuilder:validation:XValidation:rule="self.type == 'Subnet' ? has(self.subnetRef) : !has(self.subnetRef)",message="subnetRef is required when type is 'Subnet' and not permitted otherwise"
func (*RouterInterfaceSpec) DeepCopy ¶
func (in *RouterInterfaceSpec) DeepCopy() *RouterInterfaceSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouterInterfaceSpec.
func (*RouterInterfaceSpec) DeepCopyInto ¶
func (in *RouterInterfaceSpec) DeepCopyInto(out *RouterInterfaceSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RouterInterfaceStatus ¶
type RouterInterfaceStatus struct { // Conditions represents the observed status of the object. // Known .status.conditions.type are: "Available", "Progressing" // // Available represents the availability of the OpenStack resource. If it is // true then the resource is ready for use. // // Progressing indicates whether the controller is still attempting to // reconcile the current state of the OpenStack resource to the desired // state. Progressing will be False either because the desired state has // been achieved, or because some terminal error prevents it from ever being // achieved and the controller is no longer attempting to reconcile. If // Progressing is True, an observer waiting on the resource should continue // to wait. // // +patchMergeKey=type // +patchStrategy=merge // +listType=map // +listMapKey=type Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"` // ID is the unique identifier of the port created for the router interface // +optional ID *string `json:"id,omitempty"` }
func (*RouterInterfaceStatus) DeepCopy ¶
func (in *RouterInterfaceStatus) DeepCopy() *RouterInterfaceStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouterInterfaceStatus.
func (*RouterInterfaceStatus) DeepCopyInto ¶
func (in *RouterInterfaceStatus) DeepCopyInto(out *RouterInterfaceStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RouterInterfaceType ¶
type RouterInterfaceType string
+kubebuilder:validation:Enum:=Subnet +kubebuilder:validation:MinLength:=1 +kubebuilder:validation:MaxLength:=8
const (
RouterInterfaceTypeSubnet RouterInterfaceType = "Subnet"
)
type RouterList ¶
type RouterList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []Router `json:"items"` }
RouterList contains a list of Router.
func (*RouterList) DeepCopy ¶
func (in *RouterList) DeepCopy() *RouterList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouterList.
func (*RouterList) DeepCopyInto ¶
func (in *RouterList) DeepCopyInto(out *RouterList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*RouterList) DeepCopyObject ¶
func (in *RouterList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*RouterList) GetItems ¶
func (l *RouterList) GetItems() []Router
type RouterResourceSpec ¶
type RouterResourceSpec struct { // Name is the human-readable name of the subnet. Might not be unique. // +optional Name *OpenStackName `json:"name,omitempty"` // Description for the subnet. // +optional Description OpenStackDescription `json:"description,omitempty"` // Tags optionally set via extensions/attributestags // +listType=set Tags []NeutronTag `json:"tags,omitempty"` AdminStateUp *bool `json:"adminStateUp,omitempty"` // +listType=atomic // +optional ExternalGateways []ExternalGateway `json:"externalGateways,omitempty"` Distributed *bool `json:"distributed,omitempty"` // +listType=set // +optional AvailabilityZoneHints []AvailabilityZoneHint `json:"availabilityZoneHints,omitempty"` NeutronStatusMetadata `json:",inline"` }
func (*RouterResourceSpec) DeepCopy ¶
func (in *RouterResourceSpec) DeepCopy() *RouterResourceSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouterResourceSpec.
func (*RouterResourceSpec) DeepCopyInto ¶
func (in *RouterResourceSpec) DeepCopyInto(out *RouterResourceSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RouterResourceStatus ¶
type RouterResourceStatus struct { // Name is the human-readable name of the resource. Might not be unique. // +optional Name string `json:"name,omitempty"` // Description is a human-readable description for the resource. // +optional Description string `json:"description,omitempty"` // ProjectID is the project owner of the resource. // +optional ProjectID string `json:"projectID,omitempty"` // Status indicates the current status of the resource. // +optional Status string `json:"status,omitempty"` // Tags is the list of tags on the resource. // +listType=atomic // +optional Tags []string `json:"tags,omitempty"` AdminStateUp bool `json:"adminStateUp"` // +listType=atomic // +optional ExternalGateways []ExternalGatewayStatus `json:"externalGateways,omitempty"` // +listType=atomic // +optional AvailabilityZoneHints []string `json:"availabilityZoneHints,omitempty"` }
func (*RouterResourceStatus) DeepCopy ¶
func (in *RouterResourceStatus) DeepCopy() *RouterResourceStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouterResourceStatus.
func (*RouterResourceStatus) DeepCopyInto ¶
func (in *RouterResourceStatus) DeepCopyInto(out *RouterResourceStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RouterSpec ¶
type RouterSpec struct { // Import refers to an existing OpenStack resource which will be imported instead of // creating a new one. // +optional Import *RouterImport `json:"import,omitempty"` // Resource specifies the desired state of the resource. // // Resource may not be specified if the management policy is `unmanaged`. // // Resource must be specified if the management policy is `managed`. // +optional Resource *RouterResourceSpec `json:"resource,omitempty"` // ManagementPolicy defines how ORC will treat the object. Valid values are // `managed`: ORC will create, update, and delete the resource; `unmanaged`: // ORC will import an existing resource, and will not apply updates to it or // delete it. // +kubebuilder:validation:XValidation:rule="self == oldSelf",message="managementPolicy is immutable" // +kubebuilder:default:=managed // +optional ManagementPolicy ManagementPolicy `json:"managementPolicy,omitempty"` // ManagedOptions specifies options which may be applied to managed objects. // +optional ManagedOptions *ManagedOptions `json:"managedOptions,omitempty"` // CloudCredentialsRef points to a secret containing OpenStack credentials // +kubebuilder:validation:Required CloudCredentialsRef CloudCredentialsReference `json:"cloudCredentialsRef"` }
RouterSpec defines the desired state of an ORC object. +kubebuilder:validation:XValidation:rule="self.managementPolicy == 'managed' ? has(self.resource) : true",message="resource must be specified when policy is managed" +kubebuilder:validation:XValidation:rule="self.managementPolicy == 'managed' ? !has(self.__import__) : true",message="import may not be specified when policy is managed" +kubebuilder:validation:XValidation:rule="self.managementPolicy == 'unmanaged' ? !has(self.resource) : true",message="resource may not be specified when policy is unmanaged" +kubebuilder:validation:XValidation:rule="self.managementPolicy == 'unmanaged' ? has(self.__import__) : true",message="import must be specified when policy is unmanaged" +kubebuilder:validation:XValidation:rule="has(self.managedOptions) ? self.managementPolicy == 'managed' : true",message="managedOptions may only be provided when policy is managed"
func (*RouterSpec) DeepCopy ¶
func (in *RouterSpec) DeepCopy() *RouterSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouterSpec.
func (*RouterSpec) DeepCopyInto ¶
func (in *RouterSpec) DeepCopyInto(out *RouterSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RouterStatus ¶
type RouterStatus struct { // Conditions represents the observed status of the object. // Known .status.conditions.type are: "Available", "Progressing" // // Available represents the availability of the OpenStack resource. If it is // true then the resource is ready for use. // // Progressing indicates whether the controller is still attempting to // reconcile the current state of the OpenStack resource to the desired // state. Progressing will be False either because the desired state has // been achieved, or because some terminal error prevents it from ever being // achieved and the controller is no longer attempting to reconcile. If // Progressing is True, an observer waiting on the resource should continue // to wait. // // +patchMergeKey=type // +patchStrategy=merge // +listType=map // +listMapKey=type Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"` // ID is the unique identifier of the OpenStack resource. // +optional ID *string `json:"id,omitempty"` // Resource contains the observed state of the OpenStack resource. // +optional Resource *RouterResourceStatus `json:"resource,omitempty"` }
RouterStatus defines the observed state of an ORC resource.
func (*RouterStatus) DeepCopy ¶
func (in *RouterStatus) DeepCopy() *RouterStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouterStatus.
func (*RouterStatus) DeepCopyInto ¶
func (in *RouterStatus) DeepCopyInto(out *RouterStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RuleDirection ¶
type RuleDirection string
+kubebuilder:validation:Enum:=ingress;egress +kubebuilder:validation:MinLength:=1 +kubebuilder:validation:MaxLength:=16
type SecurityGroup ¶
type SecurityGroup struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec SecurityGroupSpec `json:"spec,omitempty"` Status SecurityGroupStatus `json:"status,omitempty"` }
SecurityGroup is the Schema for an ORC resource.
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.
func (*SecurityGroup) DeepCopyObject ¶
func (in *SecurityGroup) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*SecurityGroup) GetCloudCredentialsRef ¶
func (i *SecurityGroup) GetCloudCredentialsRef() (*string, *CloudCredentialsReference)
func (*SecurityGroup) GetConditions ¶
func (i *SecurityGroup) GetConditions() []metav1.Condition
type SecurityGroupFilter ¶
type SecurityGroupFilter struct { // Name of the existing resource // +optional Name *OpenStackName `json:"name,omitempty"` // Description of the existing resource // +optional Description *OpenStackDescription `json:"description,omitempty"` // ProjectID specifies the ID of the project which owns the security group. // +optional ProjectID *UUID `json:"projectID,omitempty"` FilterByNeutronTags `json:",inline"` }
SecurityGroupFilter defines an existing resource by its properties +kubebuilder:validation:MinProperties:=1
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 SecurityGroupImport ¶
type SecurityGroupImport struct { // ID contains the unique identifier of an existing OpenStack resource. Note // that when specifying an import by ID, the resource MUST already exist. // The ORC object will enter an error state if the resource does not exist. // +optional // +kubebuilder:validation:Format:=uuid ID *string `json:"id,omitempty"` // Filter contains a resource query which is expected to return a single // result. The controller will continue to retry if filter returns no // results. If filter returns multiple results the controller will set an // error state and will not continue to retry. // +optional Filter *SecurityGroupFilter `json:"filter,omitempty"` }
SecurityGroupImport specifies an existing resource which will be imported instead of creating a new one +kubebuilder:validation:MinProperties:=1 +kubebuilder:validation:MaxProperties:=1
func (*SecurityGroupImport) DeepCopy ¶
func (in *SecurityGroupImport) DeepCopy() *SecurityGroupImport
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecurityGroupImport.
func (*SecurityGroupImport) DeepCopyInto ¶
func (in *SecurityGroupImport) DeepCopyInto(out *SecurityGroupImport)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SecurityGroupList ¶
type SecurityGroupList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []SecurityGroup `json:"items"` }
SecurityGroupList contains a list of SecurityGroup.
func (*SecurityGroupList) DeepCopy ¶
func (in *SecurityGroupList) DeepCopy() *SecurityGroupList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecurityGroupList.
func (*SecurityGroupList) DeepCopyInto ¶
func (in *SecurityGroupList) DeepCopyInto(out *SecurityGroupList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*SecurityGroupList) DeepCopyObject ¶
func (in *SecurityGroupList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*SecurityGroupList) GetItems ¶
func (l *SecurityGroupList) GetItems() []SecurityGroup
type SecurityGroupResourceSpec ¶
type SecurityGroupResourceSpec struct { // Name will be the name of the created resource. If not specified, the // name of the ORC object will be used. // +optional Name *OpenStackName `json:"name,omitempty"` // +optional Description *OpenStackDescription `json:"description,omitempty"` // Tags is a list of tags which will be applied to the security group. // +kubebuilder:validation:MaxItems:=32 // +listType=set Tags []NeutronTag `json:"tags,omitempty"` // Stateful indicates if the security group is stateful or stateless. // +optional Stateful *bool `json:"stateful,omitempty"` // Rules is a list of security group rules belonging to this SG. // +kubebuilder:validation:MaxItems:=256 // +listType=atomic Rules []SecurityGroupRule `json:"rules,omitempty"` }
SecurityGroupResourceSpec contains the desired state of a security group
func (*SecurityGroupResourceSpec) DeepCopy ¶
func (in *SecurityGroupResourceSpec) DeepCopy() *SecurityGroupResourceSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecurityGroupResourceSpec.
func (*SecurityGroupResourceSpec) DeepCopyInto ¶
func (in *SecurityGroupResourceSpec) DeepCopyInto(out *SecurityGroupResourceSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SecurityGroupResourceStatus ¶
type SecurityGroupResourceStatus struct { // Human-readable name for the security group. Might not be unique. // +optional Name string `json:"name,omitempty"` // Description is a human-readable description for the resource. // +optional Description string `json:"description,omitempty"` // ProjectID is the project owner of the security group. // +optional ProjectID string `json:"projectID,omitempty"` // Tags is the list of tags on the resource. // +listType=atomic // +optional Tags []string `json:"tags,omitempty"` // Stateful indicates if the security group is stateful or stateless. // +optional Stateful bool `json:"stateful,omitempty"` // Rules is a list of security group rules belonging to this SG. // +listType=atomic Rules []SecurityGroupRuleStatus `json:"rules,omitempty"` NeutronStatusMetadata `json:",inline"` }
SecurityGroupResourceStatus represents the observed state of the resource.
func (*SecurityGroupResourceStatus) DeepCopy ¶
func (in *SecurityGroupResourceStatus) DeepCopy() *SecurityGroupResourceStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecurityGroupResourceStatus.
func (*SecurityGroupResourceStatus) DeepCopyInto ¶
func (in *SecurityGroupResourceStatus) DeepCopyInto(out *SecurityGroupResourceStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SecurityGroupRule ¶
type SecurityGroupRule struct { // Description of the existing resource // +optional Description *OpenStackDescription `json:"description,omitempty"` // Direction represents the direction in which the security group rule // is applied. Can be ingress or egress. Direction *RuleDirection `json:"direction,omitempty"` // RemoteGroupID RemoteGroupID *UUID `json:"remoteGroupID,omitempty"` // RemoteIPPrefix RemoteIPPrefix *CIDR `json:"remoteIPPrefix,omitempty"` // Protocol is the IP protocol can be represented by a string, an // integer, or null Protocol *Protocol `json:"protocol,omitempty"` // EtherType must be IPv4 or IPv6, and addresses represented in CIDR // must match the ingress or egress rules. Ethertype *Ethertype `json:"ethertype,omitempty"` PortRangeMin *int32 `json:"portRangeMin,omitempty"` PortRangeMax *int32 `json:"portRangeMax,omitempty"` }
SecurityGroupRule defines a Security Group rule +kubebuilder:validation:MinProperties:=1
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.
type SecurityGroupRuleStatus ¶
type SecurityGroupRuleStatus struct { // ID is the ID of the security group rule. ID string `json:"id,omitempty"` // Description of the existing resource // +optional Description string `json:"description,omitempty"` // Direction represents the direction in which the security group rule // is applied. Can be ingress or egress. Direction string `json:"direction,omitempty"` // RemoteGroupID RemoteGroupID string `json:"remoteGroupID,omitempty"` // RemoteIPPrefix RemoteIPPrefix string `json:"remoteIPPrefix,omitempty"` // Protocol is the IP protocol can be represented by a string, an // integer, or null Protocol string `json:"protocol,omitempty"` // Ethertype must be IPv4 or IPv6, and addresses represented in CIDR // must match the ingress or egress rules. Ethertype string `json:"ethertype,omitempty"` PortRangeMin int `json:"portRangeMin,omitempty"` PortRangeMax int `json:"portRangeMax,omitempty"` }
func (*SecurityGroupRuleStatus) DeepCopy ¶
func (in *SecurityGroupRuleStatus) DeepCopy() *SecurityGroupRuleStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecurityGroupRuleStatus.
func (*SecurityGroupRuleStatus) DeepCopyInto ¶
func (in *SecurityGroupRuleStatus) DeepCopyInto(out *SecurityGroupRuleStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SecurityGroupSpec ¶
type SecurityGroupSpec struct { // Import refers to an existing OpenStack resource which will be imported instead of // creating a new one. // +optional Import *SecurityGroupImport `json:"import,omitempty"` // Resource specifies the desired state of the resource. // // Resource may not be specified if the management policy is `unmanaged`. // // Resource must be specified if the management policy is `managed`. // +optional Resource *SecurityGroupResourceSpec `json:"resource,omitempty"` // ManagementPolicy defines how ORC will treat the object. Valid values are // `managed`: ORC will create, update, and delete the resource; `unmanaged`: // ORC will import an existing resource, and will not apply updates to it or // delete it. // +kubebuilder:validation:XValidation:rule="self == oldSelf",message="managementPolicy is immutable" // +kubebuilder:default:=managed // +optional ManagementPolicy ManagementPolicy `json:"managementPolicy,omitempty"` // ManagedOptions specifies options which may be applied to managed objects. // +optional ManagedOptions *ManagedOptions `json:"managedOptions,omitempty"` // CloudCredentialsRef points to a secret containing OpenStack credentials // +kubebuilder:validation:Required CloudCredentialsRef CloudCredentialsReference `json:"cloudCredentialsRef"` }
SecurityGroupSpec defines the desired state of an ORC object. +kubebuilder:validation:XValidation:rule="self.managementPolicy == 'managed' ? has(self.resource) : true",message="resource must be specified when policy is managed" +kubebuilder:validation:XValidation:rule="self.managementPolicy == 'managed' ? !has(self.__import__) : true",message="import may not be specified when policy is managed" +kubebuilder:validation:XValidation:rule="self.managementPolicy == 'unmanaged' ? !has(self.resource) : true",message="resource may not be specified when policy is unmanaged" +kubebuilder:validation:XValidation:rule="self.managementPolicy == 'unmanaged' ? has(self.__import__) : true",message="import must be specified when policy is unmanaged" +kubebuilder:validation:XValidation:rule="has(self.managedOptions) ? self.managementPolicy == 'managed' : true",message="managedOptions may only be provided when policy is managed"
func (*SecurityGroupSpec) DeepCopy ¶
func (in *SecurityGroupSpec) DeepCopy() *SecurityGroupSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecurityGroupSpec.
func (*SecurityGroupSpec) DeepCopyInto ¶
func (in *SecurityGroupSpec) DeepCopyInto(out *SecurityGroupSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SecurityGroupStatus ¶
type SecurityGroupStatus struct { // Conditions represents the observed status of the object. // Known .status.conditions.type are: "Available", "Progressing" // // Available represents the availability of the OpenStack resource. If it is // true then the resource is ready for use. // // Progressing indicates whether the controller is still attempting to // reconcile the current state of the OpenStack resource to the desired // state. Progressing will be False either because the desired state has // been achieved, or because some terminal error prevents it from ever being // achieved and the controller is no longer attempting to reconcile. If // Progressing is True, an observer waiting on the resource should continue // to wait. // // +patchMergeKey=type // +patchStrategy=merge // +listType=map // +listMapKey=type Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"` // ID is the unique identifier of the OpenStack resource. // +optional ID *string `json:"id,omitempty"` // Resource contains the observed state of the OpenStack resource. // +optional Resource *SecurityGroupResourceStatus `json:"resource,omitempty"` }
SecurityGroupStatus defines the observed state of an ORC resource.
func (*SecurityGroupStatus) DeepCopy ¶
func (in *SecurityGroupStatus) DeepCopy() *SecurityGroupStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecurityGroupStatus.
func (*SecurityGroupStatus) DeepCopyInto ¶
func (in *SecurityGroupStatus) DeepCopyInto(out *SecurityGroupStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Server ¶
type Server struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec ServerSpec `json:"spec,omitempty"` Status ServerStatus `json:"status,omitempty"` }
Server is the Schema for an ORC resource.
func (*Server) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Server.
func (*Server) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Server) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*Server) GetCloudCredentialsRef ¶
func (i *Server) GetCloudCredentialsRef() (*string, *CloudCredentialsReference)
func (*Server) GetConditions ¶
type ServerFilter ¶
type ServerFilter struct { // Name of the existing resource // +optional Name *OpenStackName `json:"name,omitempty"` }
ServerFilter defines an existing resource by its properties +kubebuilder:validation:MinProperties:=1
func (*ServerFilter) DeepCopy ¶
func (in *ServerFilter) DeepCopy() *ServerFilter
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServerFilter.
func (*ServerFilter) DeepCopyInto ¶
func (in *ServerFilter) DeepCopyInto(out *ServerFilter)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ServerImport ¶
type ServerImport struct { // ID contains the unique identifier of an existing OpenStack resource. Note // that when specifying an import by ID, the resource MUST already exist. // The ORC object will enter an error state if the resource does not exist. // +optional // +kubebuilder:validation:Format:=uuid ID *string `json:"id,omitempty"` // Filter contains a resource query which is expected to return a single // result. The controller will continue to retry if filter returns no // results. If filter returns multiple results the controller will set an // error state and will not continue to retry. // +optional Filter *ServerFilter `json:"filter,omitempty"` }
ServerImport specifies an existing resource which will be imported instead of creating a new one +kubebuilder:validation:MinProperties:=1 +kubebuilder:validation:MaxProperties:=1
func (*ServerImport) DeepCopy ¶
func (in *ServerImport) DeepCopy() *ServerImport
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServerImport.
func (*ServerImport) DeepCopyInto ¶
func (in *ServerImport) DeepCopyInto(out *ServerImport)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ServerList ¶
type ServerList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []Server `json:"items"` }
ServerList contains a list of Server.
func (*ServerList) DeepCopy ¶
func (in *ServerList) DeepCopy() *ServerList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServerList.
func (*ServerList) DeepCopyInto ¶
func (in *ServerList) DeepCopyInto(out *ServerList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ServerList) DeepCopyObject ¶
func (in *ServerList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*ServerList) GetItems ¶
func (l *ServerList) GetItems() []Server
type ServerPortSpec ¶
type ServerPortSpec struct { // PortRef is a reference to a Port object. Server creation will wait for // this port to be created and available. PortRef *ORCNameRef `json:"portRef,omitempty"` }
+kubebuilder:validation:MinProperties:=1 +kubebuilder:validation:MaxProperties:=1
func (*ServerPortSpec) DeepCopy ¶
func (in *ServerPortSpec) DeepCopy() *ServerPortSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServerPortSpec.
func (*ServerPortSpec) DeepCopyInto ¶
func (in *ServerPortSpec) DeepCopyInto(out *ServerPortSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ServerResourceSpec ¶
type ServerResourceSpec struct { // Name will be the name of the created resource. If not specified, the // name of the ORC object will be used. // +optional Name *OpenStackName `json:"name,omitempty"` ImageRef ORCNameRef `json:"imageRef"` FlavorRef ORCNameRef `json:"flavorRef"` // Ports defines a list of ports which will be attached to the server. // +listType=atomic // +kubebuilder:validation:MaxItems:=32 Ports []ServerPortSpec `json:"ports,omitempty"` }
ServerResourceSpec contains the desired state of a server
func (*ServerResourceSpec) DeepCopy ¶
func (in *ServerResourceSpec) DeepCopy() *ServerResourceSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServerResourceSpec.
func (*ServerResourceSpec) DeepCopyInto ¶
func (in *ServerResourceSpec) DeepCopyInto(out *ServerResourceSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ServerResourceStatus ¶
type ServerResourceStatus struct { // Name is the human-readable name of the resource. Might not be unique. // +optional Name string `json:"name,omitempty"` // HostID is the host where the server is located in the cloud. HostID string `json:"hostID,omitempty"` // Status contains the current operational status of the server, // such as IN_PROGRESS or ACTIVE. Status string `json:"status,omitempty"` // AccessIPv4 contains the IPv4 addresses of the server, suitable for // remote access for administration. AccessIPv4 string `json:"accessIPv4,omitempty"` // AccessIPv6 contains the IPv6 addresses of the server, suitable for // remote access for administration. AccessIPv6 string `json:"accessIPv6,omitempty"` // ImageID indicates the OS image used to deploy the server. ImageID string `json:"imageID,omitempty"` // KeyName indicates which public key was injected into the server on launch. KeyName string `json:"keyName,omitempty"` // SecurityGroups includes the security groups that this instance has // applied to it. // +kubebuilder:validation:MaxItems:=32 // +listType=set SecurityGroups []string `json:"securityGroups,omitempty"` }
ServerResourceStatus represents the observed state of the resource.
func (*ServerResourceStatus) DeepCopy ¶
func (in *ServerResourceStatus) DeepCopy() *ServerResourceStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServerResourceStatus.
func (*ServerResourceStatus) DeepCopyInto ¶
func (in *ServerResourceStatus) DeepCopyInto(out *ServerResourceStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ServerSpec ¶
type ServerSpec struct { // Import refers to an existing OpenStack resource which will be imported instead of // creating a new one. // +optional Import *ServerImport `json:"import,omitempty"` // Resource specifies the desired state of the resource. // // Resource may not be specified if the management policy is `unmanaged`. // // Resource must be specified if the management policy is `managed`. // +optional Resource *ServerResourceSpec `json:"resource,omitempty"` // ManagementPolicy defines how ORC will treat the object. Valid values are // `managed`: ORC will create, update, and delete the resource; `unmanaged`: // ORC will import an existing resource, and will not apply updates to it or // delete it. // +kubebuilder:validation:XValidation:rule="self == oldSelf",message="managementPolicy is immutable" // +kubebuilder:default:=managed // +optional ManagementPolicy ManagementPolicy `json:"managementPolicy,omitempty"` // ManagedOptions specifies options which may be applied to managed objects. // +optional ManagedOptions *ManagedOptions `json:"managedOptions,omitempty"` // CloudCredentialsRef points to a secret containing OpenStack credentials // +kubebuilder:validation:Required CloudCredentialsRef CloudCredentialsReference `json:"cloudCredentialsRef"` }
ServerSpec defines the desired state of an ORC object. +kubebuilder:validation:XValidation:rule="self.managementPolicy == 'managed' ? has(self.resource) : true",message="resource must be specified when policy is managed" +kubebuilder:validation:XValidation:rule="self.managementPolicy == 'managed' ? !has(self.__import__) : true",message="import may not be specified when policy is managed" +kubebuilder:validation:XValidation:rule="self.managementPolicy == 'unmanaged' ? !has(self.resource) : true",message="resource may not be specified when policy is unmanaged" +kubebuilder:validation:XValidation:rule="self.managementPolicy == 'unmanaged' ? has(self.__import__) : true",message="import must be specified when policy is unmanaged" +kubebuilder:validation:XValidation:rule="has(self.managedOptions) ? self.managementPolicy == 'managed' : true",message="managedOptions may only be provided when policy is managed"
func (*ServerSpec) DeepCopy ¶
func (in *ServerSpec) DeepCopy() *ServerSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServerSpec.
func (*ServerSpec) DeepCopyInto ¶
func (in *ServerSpec) DeepCopyInto(out *ServerSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ServerStatus ¶
type ServerStatus struct { // Conditions represents the observed status of the object. // Known .status.conditions.type are: "Available", "Progressing" // // Available represents the availability of the OpenStack resource. If it is // true then the resource is ready for use. // // Progressing indicates whether the controller is still attempting to // reconcile the current state of the OpenStack resource to the desired // state. Progressing will be False either because the desired state has // been achieved, or because some terminal error prevents it from ever being // achieved and the controller is no longer attempting to reconcile. If // Progressing is True, an observer waiting on the resource should continue // to wait. // // +patchMergeKey=type // +patchStrategy=merge // +listType=map // +listMapKey=type Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"` // ID is the unique identifier of the OpenStack resource. // +optional ID *string `json:"id,omitempty"` // Resource contains the observed state of the OpenStack resource. // +optional Resource *ServerResourceStatus `json:"resource,omitempty"` }
ServerStatus defines the observed state of an ORC resource.
func (*ServerStatus) DeepCopy ¶
func (in *ServerStatus) DeepCopy() *ServerStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServerStatus.
func (*ServerStatus) DeepCopyInto ¶
func (in *ServerStatus) DeepCopyInto(out *ServerStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Subnet ¶
type Subnet struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec SubnetSpec `json:"spec,omitempty"` Status SubnetStatus `json:"status,omitempty"` }
Subnet is the Schema for an ORC resource.
func (*Subnet) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Subnet.
func (*Subnet) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Subnet) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*Subnet) GetCloudCredentialsRef ¶
func (i *Subnet) GetCloudCredentialsRef() (*string, *CloudCredentialsReference)
func (*Subnet) GetConditions ¶
type SubnetFilter ¶
type SubnetFilter struct { Name *OpenStackName `json:"name,omitempty"` Description *OpenStackDescription `json:"description,omitempty"` ProjectID *UUID `json:"projectID,omitempty"` IPVersion *IPVersion `json:"ipVersion,omitempty"` GatewayIP *IPvAny `json:"gatewayIP,omitempty"` CIDR *CIDR `json:"cidr,omitempty"` IPv6 *IPv6Options `json:"ipv6,omitempty"` FilterByNeutronTags `json:",inline"` }
SubnetFilter specifies a filter to select a subnet. At least one parameter must be specified. +kubebuilder:validation:MinProperties:=1
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.
type SubnetGateway ¶
type SubnetGateway struct { // Type specifies how the default gateway will be created. `Automatic` // specifies that neutron will automatically add a default gateway. This is // also the default if no Gateway is specified. `None` specifies that the // subnet will not have a default gateway. `IP` specifies that the subnet // will use a specific address as the default gateway, which must be // specified in `IP`. // +kubebuilder:validation:Enum:=None;Automatic;IP // +required Type SubnetGatewayType `json:"type"` // IP is the IP address of the default gateway, which must be specified if // Type is `IP`. It must be a valid IP address, either IPv4 or IPv6, // matching the IPVersion in SubnetResourceSpec. // +optional IP *IPvAny `json:"ip,omitempty"` }
func (*SubnetGateway) DeepCopy ¶
func (in *SubnetGateway) DeepCopy() *SubnetGateway
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubnetGateway.
func (*SubnetGateway) DeepCopyInto ¶
func (in *SubnetGateway) DeepCopyInto(out *SubnetGateway)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SubnetGatewayType ¶
type SubnetGatewayType string
type SubnetImport ¶
type SubnetImport struct { // ID contains the unique identifier of an existing OpenStack resource. Note // that when specifying an import by ID, the resource MUST already exist. // The ORC object will enter an error state if the resource does not exist. // +optional // +kubebuilder:validation:Format:=uuid ID *string `json:"id,omitempty"` // Filter contains a resource query which is expected to return a single // result. The controller will continue to retry if filter returns no // results. If filter returns multiple results the controller will set an // error state and will not continue to retry. // +optional Filter *SubnetFilter `json:"filter,omitempty"` }
SubnetImport specifies an existing resource which will be imported instead of creating a new one +kubebuilder:validation:MinProperties:=1 +kubebuilder:validation:MaxProperties:=1
func (*SubnetImport) DeepCopy ¶
func (in *SubnetImport) DeepCopy() *SubnetImport
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubnetImport.
func (*SubnetImport) DeepCopyInto ¶
func (in *SubnetImport) DeepCopyInto(out *SubnetImport)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SubnetList ¶
type SubnetList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []Subnet `json:"items"` }
SubnetList contains a list of Subnet.
func (*SubnetList) DeepCopy ¶
func (in *SubnetList) DeepCopy() *SubnetList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubnetList.
func (*SubnetList) DeepCopyInto ¶
func (in *SubnetList) DeepCopyInto(out *SubnetList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*SubnetList) DeepCopyObject ¶
func (in *SubnetList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*SubnetList) GetItems ¶
func (l *SubnetList) GetItems() []Subnet
type SubnetRefs ¶
type SubnetRefs struct { // NetworkRef is a reference to the ORC Network which this subnet is associated with. // +required NetworkRef ORCNameRef `json:"networkRef"` }
func (*SubnetRefs) DeepCopy ¶
func (in *SubnetRefs) DeepCopy() *SubnetRefs
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubnetRefs.
func (*SubnetRefs) DeepCopyInto ¶
func (in *SubnetRefs) DeepCopyInto(out *SubnetRefs)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SubnetResourceSpec ¶
type SubnetResourceSpec struct { // Name is a human-readable name of the subnet. If not set, the object's name will be used. // +optional Name *OpenStackName `json:"name,omitempty"` // Description of the subnet. // +optional Description *OpenStackDescription `json:"description,omitempty"` // Tags is a list of tags which will be applied to the subnet. // +kubebuilder:validation:MaxItems:=32 // +listType=set Tags []NeutronTag `json:"tags,omitempty"` // IPVersion is the IP version for the subnet. // +required IPVersion IPVersion `json:"ipVersion"` // CIDR is the address CIDR of the subnet. It must match the IP version specified in IPVersion. // +required CIDR CIDR `json:"cidr"` // ProjectID is the unique ID of the project which owns the Subnet. Only // administrative users can specify a project UUID other than their own. // +optional ProjectID *UUID `json:"projectID,omitempty"` // AllocationPools are IP Address pools that will be available for DHCP. IP // addresses must be in CIDR. // +kubebuilder:validation:MaxItems:=32 // +listType=atomic AllocationPools []AllocationPool `json:"allocationPools,omitempty"` // Gateway specifies the default gateway of the subnet. If not specified, // neutron will add one automatically. To disable this behaviour, specify a // gateway with a type of None. // +optional Gateway *SubnetGateway `json:"gateway,omitempty"` // EnableDHCP will either enable to disable the DHCP service. // +optional EnableDHCP *bool `json:"enableDHCP,omitempty"` // DNSNameservers are the nameservers to be set via DHCP. // +kubebuilder:validation:MaxItems:=16 // +listType=set DNSNameservers []IPvAny `json:"dnsNameservers,omitempty"` // DNSPublishFixedIP will either enable or disable the publication of fixed IPs to the DNS // +optional DNSPublishFixedIP *bool `json:"dnsPublishFixedIP,omitempty"` // HostRoutes are any static host routes to be set via DHCP. // +kubebuilder:validation:MaxItems:=256 // +listType=atomic HostRoutes []HostRoute `json:"hostRoutes,omitempty"` // IPv6 contains IPv6-specific options. It may only be set if IPVersion is 6. IPv6 *IPv6Options `json:"ipv6,omitempty"` // RouterRef specifies a router to attach the subnet to // +optional RouterRef *ORCNameRef `json:"routerRef,omitempty"` }
func (*SubnetResourceSpec) DeepCopy ¶
func (in *SubnetResourceSpec) DeepCopy() *SubnetResourceSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubnetResourceSpec.
func (*SubnetResourceSpec) DeepCopyInto ¶
func (in *SubnetResourceSpec) DeepCopyInto(out *SubnetResourceSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SubnetResourceStatus ¶
type SubnetResourceStatus struct { // Name is the human-readable name of the subnet. Might not be unique. Name string `json:"name"` // Description for the subnet. // +optional Description string `json:"description,omitempty"` // IPVersion specifies IP version, either `4' or `6'. IPVersion int `json:"ipVersion"` // CIDR representing IP range for this subnet, based on IP version. CIDR string `json:"cidr"` // GatewayIP is the default gateway used by devices in this subnet, if any. // +optional GatewayIP string `json:"gatewayIP,omitempty"` // DNSNameservers is a list of name servers used by hosts in this subnet. // +listType=atomic DNSNameservers []string `json:"dnsNameservers,omitempty"` // DNSPublishFixedIP specifies whether the fixed IP addresses are published to the DNS. DNSPublishFixedIP bool `json:"dnsPublishFixedIP,omitempty"` // AllocationPools is a list of sub-ranges within CIDR available for dynamic // allocation to ports. // +listType=atomic AllocationPools []AllocationPoolStatus `json:"allocationPools,omitempty"` // HostRoutes is a list of routes that should be used by devices with IPs // from this subnet (not including local subnet route). // +listType=atomic HostRoutes []HostRouteStatus `json:"hostRoutes,omitempty"` // Specifies whether DHCP is enabled for this subnet or not. EnableDHCP bool `json:"enableDHCP"` // ProjectID is the project owner of the subnet. ProjectID string `json:"projectID"` // The IPv6 address modes specifies mechanisms for assigning IPv6 IP addresses. // +optional IPv6AddressMode string `json:"ipv6AddressMode,omitempty"` // The IPv6 router advertisement specifies whether the networking service // should transmit ICMPv6 packets. // +optional IPv6RAMode string `json:"ipv6RAMode,omitempty"` // SubnetPoolID is the id of the subnet pool associated with the subnet. // +optional SubnetPoolID string `json:"subnetPoolID,omitempty"` // Tags optionally set via extensions/attributestags // +listType=atomic Tags []string `json:"tags,omitempty"` NeutronStatusMetadata `json:",inline"` }
func (*SubnetResourceStatus) DeepCopy ¶
func (in *SubnetResourceStatus) DeepCopy() *SubnetResourceStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubnetResourceStatus.
func (*SubnetResourceStatus) DeepCopyInto ¶
func (in *SubnetResourceStatus) DeepCopyInto(out *SubnetResourceStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SubnetSpec ¶
type SubnetSpec struct { SubnetRefs `json:",inline"` // Import refers to an existing OpenStack resource which will be imported instead of // creating a new one. // +optional Import *SubnetImport `json:"import,omitempty"` // Resource specifies the desired state of the resource. // // Resource may not be specified if the management policy is `unmanaged`. // // Resource must be specified if the management policy is `managed`. // +optional Resource *SubnetResourceSpec `json:"resource,omitempty"` // ManagementPolicy defines how ORC will treat the object. Valid values are // `managed`: ORC will create, update, and delete the resource; `unmanaged`: // ORC will import an existing resource, and will not apply updates to it or // delete it. // +kubebuilder:validation:XValidation:rule="self == oldSelf",message="managementPolicy is immutable" // +kubebuilder:default:=managed // +optional ManagementPolicy ManagementPolicy `json:"managementPolicy,omitempty"` // ManagedOptions specifies options which may be applied to managed objects. // +optional ManagedOptions *ManagedOptions `json:"managedOptions,omitempty"` // CloudCredentialsRef points to a secret containing OpenStack credentials // +kubebuilder:validation:Required CloudCredentialsRef CloudCredentialsReference `json:"cloudCredentialsRef"` }
SubnetSpec defines the desired state of an ORC object. +kubebuilder:validation:XValidation:rule="self.managementPolicy == 'managed' ? has(self.resource) : true",message="resource must be specified when policy is managed" +kubebuilder:validation:XValidation:rule="self.managementPolicy == 'managed' ? !has(self.__import__) : true",message="import may not be specified when policy is managed" +kubebuilder:validation:XValidation:rule="self.managementPolicy == 'unmanaged' ? !has(self.resource) : true",message="resource may not be specified when policy is unmanaged" +kubebuilder:validation:XValidation:rule="self.managementPolicy == 'unmanaged' ? has(self.__import__) : true",message="import must be specified when policy is unmanaged" +kubebuilder:validation:XValidation:rule="has(self.managedOptions) ? self.managementPolicy == 'managed' : true",message="managedOptions may only be provided when policy is managed"
func (*SubnetSpec) DeepCopy ¶
func (in *SubnetSpec) DeepCopy() *SubnetSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubnetSpec.
func (*SubnetSpec) DeepCopyInto ¶
func (in *SubnetSpec) DeepCopyInto(out *SubnetSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SubnetStatus ¶
type SubnetStatus struct { // Conditions represents the observed status of the object. // Known .status.conditions.type are: "Available", "Progressing" // // Available represents the availability of the OpenStack resource. If it is // true then the resource is ready for use. // // Progressing indicates whether the controller is still attempting to // reconcile the current state of the OpenStack resource to the desired // state. Progressing will be False either because the desired state has // been achieved, or because some terminal error prevents it from ever being // achieved and the controller is no longer attempting to reconcile. If // Progressing is True, an observer waiting on the resource should continue // to wait. // // +patchMergeKey=type // +patchStrategy=merge // +listType=map // +listMapKey=type Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"` // ID is the unique identifier of the OpenStack resource. // +optional ID *string `json:"id,omitempty"` // Resource contains the observed state of the OpenStack resource. // +optional Resource *SubnetResourceStatus `json:"resource,omitempty"` }
SubnetStatus defines the observed state of an ORC resource.
func (*SubnetStatus) DeepCopy ¶
func (in *SubnetStatus) DeepCopy() *SubnetStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubnetStatus.
func (*SubnetStatus) DeepCopyInto ¶
func (in *SubnetStatus) DeepCopyInto(out *SubnetStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
Source Files ¶
- common_types.go
- conditions.go
- controller_options.go
- credentials_ref.go
- doc.go
- flavor_types.go
- groupversion_info.go
- image_types.go
- network_types.go
- openstack_types.go
- port_types.go
- router_interface_types.go
- router_types.go
- securitygroup_types.go
- server_types.go
- subnet_types.go
- zz_generated.deepcopy.go
- zz_generated.flavor-resource.go
- zz_generated.image-resource.go
- zz_generated.network-resource.go
- zz_generated.port-resource.go
- zz_generated.router-resource.go
- zz_generated.securitygroup-resource.go
- zz_generated.server-resource.go
- zz_generated.subnet-resource.go