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.k8s.io
Index ¶
- Constants
- Variables
- func EncodeClusterStatus(status *OpenstackClusterProviderStatus) (*runtime.RawExtension, error)
- type Filter
- type Network
- type NetworkParam
- type OpenstackClusterProviderSpec
- type OpenstackClusterProviderStatus
- type OpenstackProviderSpec
- type RootVolume
- type Router
- type SecurityGroup
- type SecurityGroupFilter
- type SecurityGroupParam
- type SecurityGroupRule
- type Subnet
- type SubnetFilter
- type SubnetParam
Constants ¶
const GroupName = "openstackproviderconfig"
Variables ¶
var ( // SchemeGroupVersion is group version used to register these objects SchemeGroupVersion = schema.GroupVersion{Group: "openstackproviderconfig.k8s.io", Version: "v1alpha1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion} )
Functions ¶
func EncodeClusterStatus ¶
func EncodeClusterStatus(status *OpenstackClusterProviderStatus) (*runtime.RawExtension, error)
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"` 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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Filter.
func (*Filter) DeepCopyInto ¶
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 ¶
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.
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"` }
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 ¶
func (in *OpenstackClusterProviderSpec) DeepCopy() *OpenstackClusterProviderSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OpenstackClusterProviderSpec.
func (*OpenstackClusterProviderSpec) DeepCopyInto ¶
func (in *OpenstackClusterProviderSpec) DeepCopyInto(out *OpenstackClusterProviderSpec)
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 ¶
func (in *OpenstackClusterProviderStatus) DeepCopy() *OpenstackClusterProviderStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OpenstackClusterProviderStatus.
func (*OpenstackClusterProviderStatus) DeepCopyInto ¶
func (in *OpenstackClusterProviderStatus) DeepCopyInto(out *OpenstackClusterProviderStatus)
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"` }
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 ¶
func (in *OpenstackProviderSpec) DeepCopy() *OpenstackProviderSpec
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"` 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 ¶
Router represents basic information about the associated OpenStack Neutron Router
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.
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 ¶
func (r SecurityGroupRule) Equal(x SecurityGroupRule) bool
Equal checks if two SecurityGroupRules are the same.
type Subnet ¶
Subnet represents basic information about the associated OpenStack Neutron Subnet
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.
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.