Documentation

Overview

    +k8s:deepcopy-gen=package,register +k8s:conversion-gen=github.com/openshift/cluster-api/cluster-api-provider-openstack/pkg/apis/openstackproviderconfig +k8s:openapi-gen=true +k8s:defaulter-gen=TypeMeta +groupName=openstackproviderconfig.openshift.io

    Index

    Constants

    View Source
    const GroupName = "openstackproviderconfig"

    Variables

    View Source
    var (
    	// SchemeGroupVersion is group version used to register these objects
    	SchemeGroupVersion = schema.GroupVersion{Group: "openstackproviderconfig.openshift.io", Version: "v1alpha1"}
    
    	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
    	SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion}
    )

    Functions

    Types

    type Filter

    type Filter struct {
    	Status       string `json:"status,omitempty"`
    	Name         string `json:"name,omitempty"`
    	Description  string `json:"description,omitempty"`
    	AdminStateUp *bool  `json:"adminStateUp,omitempty"`
    	TenantID     string `json:"tenantId,omitempty"`
    	ProjectID    string `json:"projectId,omitempty"`
    	Shared       *bool  `json:"shared,omitempty"`
    	ID           string `json:"id,omitempty"`
    	Marker       string `json:"marker,omitempty"`
    	Limit        int    `json:"limit,omitempty"`
    	SortKey      string `json:"sortKey,omitempty"`
    	SortDir      string `json:"sortDir,omitempty"`
    	Tags         string `json:"tags,omitempty"`
    	TagsAny      string `json:"tagsAny,omitempty"`
    	NotTags      string `json:"notTags,omitempty"`
    	NotTagsAny   string `json:"notTagsAny,omitempty"`
    }

    func (*Filter) DeepCopy

    func (in *Filter) DeepCopy() *Filter

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

      func (*Filter) DeepCopyInto

      func (in *Filter) DeepCopyInto(out *Filter)

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

        type Network

        type Network struct {
        	Name string `json:"name"`
        	ID   string `json:"id"`
        
        	Subnet *Subnet `json:"subnet,omitempty"`
        	Router *Router `json:"router,omitempty"`
        }

          Network represents basic information about the associated OpenStach Neutron Network

          func (*Network) DeepCopy

          func (in *Network) DeepCopy() *Network

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

            func (*Network) DeepCopyInto

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

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

              type NetworkParam

              type NetworkParam struct {
              	// The UUID of the network. Required if you omit the port attribute.
              	UUID string `json:"uuid,omitempty"`
              	// A fixed IPv4 address for the NIC.
              	FixedIp string `json:"fixedIp,omitempty"`
              	// Filters for optional network query
              	Filter Filter `json:"filter,omitempty"`
              	// Subnet within a network to use
              	Subnets []SubnetParam `json:"subnets,omitempty"`
              	// NoAllowedAddressPairs disables creation of allowed address pairs for the network ports
              	NoAllowedAddressPairs bool `json:"noAllowedAddressPairs,omitempty"`
              }

              func (*NetworkParam) DeepCopy

              func (in *NetworkParam) DeepCopy() *NetworkParam

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

                func (*NetworkParam) DeepCopyInto

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

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

                  type OpenstackClusterProviderSpec

                  type OpenstackClusterProviderSpec struct {
                  	metav1.TypeMeta   `json:",inline"`
                  	metav1.ObjectMeta `json:"metadata,omitempty"`
                  
                  	// NodeCIDR is the OpenStack Subnet to be created. Cluster actuator will create a
                  	// network, a subnet with NodeCIDR, and a router connected to this subnet.
                  	// If you leave this empty, no network will be created.
                  	NodeCIDR string `json:"nodeCidr,omitempty"`
                  	// DNSNameservers is the list of nameservers for OpenStack Subnet being created.
                  	DNSNameservers []string `json:"dnsNameservers,omitempty"`
                  	// ExternalNetworkID is the ID of an external OpenStack Network. This is necessary
                  	// to get public internet to the VMs.
                  	ExternalNetworkID string `json:"externalNetworkId,omitempty"`
                  
                  	// ManagedSecurityGroups defines that kubernetes manages the OpenStack security groups
                  	// for now, that means that we'll create two security groups, one allowing SSH
                  	// and API access from everywhere, and another one that allows all traffic to/from
                  	// machines belonging to that group. In the future, we could make this more flexible.
                  	ManagedSecurityGroups bool `json:"managedSecurityGroups"`
                  
                  	// Tags for all resources in cluster
                  	Tags []string `json:"tags,omitempty"`
                  
                  	// Default: True. In case of server tag errors, set to False
                  	DisableServerTags bool `json:"disableServerTags,omitempty"`
                  }

                    OpenstackClusterProviderSpec is the providerSpec for OpenStack in the cluster object +k8s:openapi-gen=true

                    func ClusterSpecFromProviderSpec

                    func ClusterSpecFromProviderSpec(providerSpec clusterv1.ProviderSpec) (*OpenstackClusterProviderSpec, error)

                      ClusterConfigFromProviderSpec unmarshals a provider config into an OpenStack Cluster type

                      func (*OpenstackClusterProviderSpec) DeepCopy

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

                        func (*OpenstackClusterProviderSpec) DeepCopyInto

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

                          func (*OpenstackClusterProviderSpec) DeepCopyObject

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

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

                            type OpenstackClusterProviderStatus

                            type OpenstackClusterProviderStatus struct {
                            	metav1.TypeMeta   `json:",inline"`
                            	metav1.ObjectMeta `json:"metadata,omitempty"`
                            
                            	// Network contains all information about the created OpenStack Network.
                            	// It includes Subnets and Router.
                            	Network *Network `json:"network,omitempty"`
                            
                            	// ControlPlaneSecurityGroups contains all the information about the OpenStack
                            	// Security Group that needs to be applied to control plane nodes.
                            	// TODO: Maybe instead of two properties, we add a property to the group?
                            	ControlPlaneSecurityGroup *SecurityGroup `json:"controlPlaneSecurityGroup,omitempty"`
                            
                            	// GlobalSecurityGroup contains all the information about the OpenStack Security
                            	// Group that needs to be applied to all nodes, both control plane and worker nodes.
                            	GlobalSecurityGroup *SecurityGroup `json:"globalSecurityGroup,omitempty"`
                            }

                              OpenstackClusterProviderStatus contains the status fields relevant to OpenStack in the cluster object. +k8s:openapi-gen=true

                              func ClusterStatusFromProviderStatus

                              func ClusterStatusFromProviderStatus(extension *runtime.RawExtension) (*OpenstackClusterProviderStatus, error)

                                ClusterStatusFromProviderStatus unmarshals a provider status into an OpenStack Cluster Status type

                                func (*OpenstackClusterProviderStatus) DeepCopy

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

                                  func (*OpenstackClusterProviderStatus) DeepCopyInto

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

                                    func (*OpenstackClusterProviderStatus) DeepCopyObject

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

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

                                      type OpenstackProviderSpec

                                      type OpenstackProviderSpec struct {
                                      	metav1.TypeMeta   `json:",inline"`
                                      	metav1.ObjectMeta `json:"metadata,omitempty"`
                                      
                                      	// The name of the secret containing the openstack credentials
                                      	CloudsSecret *corev1.SecretReference `json:"cloudsSecret"`
                                      
                                      	// The name of the cloud to use from the clouds secret
                                      	CloudName string `json:"cloudName"`
                                      
                                      	// The flavor reference for the flavor for your server instance.
                                      	Flavor string `json:"flavor"`
                                      
                                      	// The name of the image to use for your server instance.
                                      	// If the RootVolume is specified, this will be ignored and use rootVolume directly.
                                      	Image string `json:"image"`
                                      
                                      	// The ssh key to inject in the instance
                                      	KeyName string `json:"keyName,omitempty"`
                                      
                                      	// The machine ssh username
                                      	SshUserName string `json:"sshUserName,omitempty"`
                                      
                                      	// A networks object. Required parameter when there are multiple networks defined for the tenant.
                                      	// When you do not specify the networks parameter, the server attaches to the only network created for the current tenant.
                                      	Networks []NetworkParam `json:"networks,omitempty"`
                                      	// The floatingIP which will be associated to the machine, only used for master.
                                      	// The floatingIP should have been created and haven't been associated.
                                      	FloatingIP string `json:"floatingIP,omitempty"`
                                      
                                      	// The availability zone from which to launch the server.
                                      	AvailabilityZone string `json:"availabilityZone,omitempty"`
                                      
                                      	// The names of the security groups to assign to the instance
                                      	SecurityGroups []SecurityGroupParam `json:"securityGroups,omitempty"`
                                      
                                      	// The name of the secret containing the user data (startup script in most cases)
                                      	UserDataSecret *corev1.SecretReference `json:"userDataSecret,omitempty"`
                                      
                                      	// Whether the server instance is created on a trunk port or not.
                                      	Trunk bool `json:"trunk,omitempty"`
                                      
                                      	// Machine tags
                                      	// Requires Nova api 2.52 minimum!
                                      	Tags []string `json:"tags,omitempty"`
                                      
                                      	// Metadata mapping. Allows you to create a map of key value pairs to add to the server instance.
                                      	ServerMetadata map[string]string `json:"serverMetadata,omitempty"`
                                      
                                      	// Config Drive support
                                      	ConfigDrive *bool `json:"configDrive,omitempty"`
                                      
                                      	// The volume metadata to boot from
                                      	RootVolume *RootVolume `json:"rootVolume,omitempty"`
                                      
                                      	// The server group to assign the machine to
                                      	ServerGroupID string `json:"serverGroupID,omitempty"`
                                      }

                                        OpenstackProviderSpec is the type that will be embedded in a Machine.Spec.ProviderSpec field for an OpenStack Instance. It is used by the Openstack machine actuator to create a single machine instance. TODO(cglaubitz): We might consider to change this to OpenstackMachineProviderSpec +k8s:openapi-gen=true

                                        func MachineSpecFromProviderSpec

                                        func MachineSpecFromProviderSpec(providerSpec machinev1.ProviderSpec) (*OpenstackProviderSpec, error)

                                          This is the same as ClusterSpecFromProviderSpec but we expect there to be a specific Spec type for Machines soon

                                          func (*OpenstackProviderSpec) DeepCopy

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

                                            func (*OpenstackProviderSpec) DeepCopyInto

                                            func (in *OpenstackProviderSpec) DeepCopyInto(out *OpenstackProviderSpec)

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

                                              func (*OpenstackProviderSpec) DeepCopyObject

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

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

                                                type RootVolume

                                                type RootVolume struct {
                                                	SourceType string `json:"sourceType,omitempty"`
                                                	SourceUUID string `json:"sourceUUID,omitempty"`
                                                	DeviceType string `json:"deviceType"`
                                                	VolumeType string `json:"volumeType,omitempty"`
                                                	Size       int    `json:"diskSize,omitempty"`
                                                }

                                                func (*RootVolume) DeepCopy

                                                func (in *RootVolume) DeepCopy() *RootVolume

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

                                                  func (*RootVolume) DeepCopyInto

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

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

                                                    type Router

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

                                                      Router represents basic information about the associated OpenStack Neutron Router

                                                      func (*Router) DeepCopy

                                                      func (in *Router) DeepCopy() *Router

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

                                                        func (*Router) DeepCopyInto

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

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

                                                          type SecurityGroup

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

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

                                                            func (*SecurityGroup) DeepCopy

                                                            func (in *SecurityGroup) DeepCopy() *SecurityGroup

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

                                                              func (*SecurityGroup) DeepCopyInto

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

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

                                                                type SecurityGroupFilter

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

                                                                func (*SecurityGroupFilter) DeepCopy

                                                                func (in *SecurityGroupFilter) DeepCopy() *SecurityGroupFilter

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

                                                                  func (*SecurityGroupFilter) DeepCopyInto

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

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

                                                                    type SecurityGroupParam

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

                                                                    func (*SecurityGroupParam) DeepCopy

                                                                    func (in *SecurityGroupParam) DeepCopy() *SecurityGroupParam

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

                                                                      func (*SecurityGroupParam) DeepCopyInto

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

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

                                                                        type SecurityGroupRule

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

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

                                                                          func (*SecurityGroupRule) DeepCopy

                                                                          func (in *SecurityGroupRule) DeepCopy() *SecurityGroupRule

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

                                                                            func (*SecurityGroupRule) DeepCopyInto

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

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

                                                                              func (SecurityGroupRule) Equal

                                                                                Equal checks if two SecurityGroupRules are the same.

                                                                                type Subnet

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

                                                                                  Subnet represents basic information about the associated OpenStack Neutron Subnet

                                                                                  func (*Subnet) DeepCopy

                                                                                  func (in *Subnet) DeepCopy() *Subnet

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

                                                                                    func (*Subnet) DeepCopyInto

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

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

                                                                                      type SubnetFilter

                                                                                      type SubnetFilter struct {
                                                                                      	Name            string `json:"name,omitempty"`
                                                                                      	Description     string `json:"description,omitempty"`
                                                                                      	EnableDHCP      *bool  `json:"enableDhcp,omitempty"`
                                                                                      	NetworkID       string `json:"networkId,omitempty"`
                                                                                      	TenantID        string `json:"tenantId,omitempty"`
                                                                                      	ProjectID       string `json:"projectId,omitempty"`
                                                                                      	IPVersion       int    `json:"ipVersion,omitempty"`
                                                                                      	GatewayIP       string `json:"gateway_ip,omitempty"`
                                                                                      	CIDR            string `json:"cidr,omitempty"`
                                                                                      	IPv6AddressMode string `json:"ipv6AddressMode,omitempty"`
                                                                                      	IPv6RAMode      string `json:"ipv6RaMode,omitempty"`
                                                                                      	ID              string `json:"id,omitempty"`
                                                                                      	SubnetPoolID    string `json:"subnetpoolId,omitempty"`
                                                                                      	Limit           int    `json:"limit,omitempty"`
                                                                                      	Marker          string `json:"marker,omitempty"`
                                                                                      	SortKey         string `json:"sortKey,omitempty"`
                                                                                      	SortDir         string `json:"sortDir,omitempty"`
                                                                                      	Tags            string `json:"tags,omitempty"`
                                                                                      	TagsAny         string `json:"tagsAny,omitempty"`
                                                                                      	NotTags         string `json:"notTags,omitempty"`
                                                                                      	NotTagsAny      string `json:"notTagsAny,omitempty"`
                                                                                      }

                                                                                      func (*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 SubnetParam

                                                                                          type SubnetParam struct {
                                                                                          	// The UUID of the network. Required if you omit the port attribute.
                                                                                          	UUID string `json:"uuid,omitempty"`
                                                                                          
                                                                                          	// Filters for optional network query
                                                                                          	Filter SubnetFilter `json:"filter,omitempty"`
                                                                                          }

                                                                                          func (*SubnetParam) DeepCopy

                                                                                          func (in *SubnetParam) DeepCopy() *SubnetParam

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

                                                                                            func (*SubnetParam) DeepCopyInto

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

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