Documentation ¶
Index ¶
- Constants
- Variables
- type ApplicationCredentialProvider
- type BlockStorageClient
- type ComputeClient
- func (c *ComputeClient) AvailabilityZones(ctx context.Context) ([]availabilityzones.AvailabilityZone, error)
- func (c *ComputeClient) CreateKeypair(ctx context.Context, name, publicKey string) error
- func (c *ComputeClient) CreateServer(ctx context.Context, name, imageID, flavorID, keyName string, ...) (*servers.Server, error)
- func (c *ComputeClient) CreateServerGroup(ctx context.Context, name string) (*servergroups.ServerGroup, error)
- func (c *ComputeClient) DeleteKeypair(ctx context.Context, name string) error
- func (c *ComputeClient) DeleteServer(ctx context.Context, id string) error
- func (c *ComputeClient) DeleteServerGroup(ctx context.Context, id string) error
- func (c *ComputeClient) Flavors(ctx context.Context) ([]flavors.Flavor, error)
- func (c *ComputeClient) GetServer(ctx context.Context, id string) (*servers.Server, error)
- func (c *ComputeClient) KeyPairs(ctx context.Context) ([]keypairs.KeyPair, error)
- func (c *ComputeClient) UpdateQuotas(ctx context.Context, projectID string) error
- type CreateTokenOptions
- type CreateTokenOptionsScopedToken
- type CreateTokenOptionsUnscopedPassword
- type CredentialProvider
- type DomainScopedPasswordProvider
- type IdentityClient
- func (c *IdentityClient) CreateApplicationCredential(ctx context.Context, userID, name, description string, roles []string) (*applicationcredentials.ApplicationCredential, error)
- func (c *IdentityClient) CreateProject(ctx context.Context, domainID, name string, tags []string) (*projects.Project, error)
- func (c *IdentityClient) CreateRoleAssignment(ctx context.Context, userID, projectID, roleID string) error
- func (c *IdentityClient) CreateToken(ctx context.Context, options CreateTokenOptions) (*tokens.Token, *tokens.User, error)
- func (c *IdentityClient) CreateUser(ctx context.Context, domainID, name, password string) (*users.User, error)
- func (c *IdentityClient) DeleteApplicationCredential(ctx context.Context, userID, id string) error
- func (c *IdentityClient) DeleteProject(ctx context.Context, projectID string) error
- func (c *IdentityClient) DeleteUser(ctx context.Context, userID string) error
- func (c *IdentityClient) ListApplicationCredentials(ctx context.Context, userID string) ([]applicationcredentials.ApplicationCredential, error)
- func (c *IdentityClient) ListAvailableProjects(ctx context.Context) ([]projects.Project, error)
- func (c *IdentityClient) ListRoles(ctx context.Context) ([]roles.Role, error)
- type ImageClient
- type NetworkClient
- func (c *NetworkClient) AddRouterInterface(ctx context.Context, routerID, subnetID string) error
- func (c *NetworkClient) CreateFloatingIP(ctx context.Context, portID string) (*floatingips.FloatingIP, error)
- func (c *NetworkClient) CreateNetwork(ctx context.Context, name string, vlanID int) (*networks.Network, error)
- func (c *NetworkClient) CreateRouter(ctx context.Context, name string) (*routers.Router, error)
- func (c *NetworkClient) CreateSecurityGroup(ctx context.Context, name string) (*groups.SecGroup, error)
- func (c *NetworkClient) CreateSecurityGroupRule(ctx context.Context, securityGroupID string, direction rules.RuleDirection, ...) (*rules.SecGroupRule, error)
- func (c *NetworkClient) CreateSubnet(ctx context.Context, name, networkID, prefix string, dnsNameservers []string) (*subnets.Subnet, error)
- func (c *NetworkClient) DeleteFloatingIP(ctx context.Context, id string) error
- func (c *NetworkClient) DeleteNetwork(ctx context.Context, id string) error
- func (c *NetworkClient) DeleteRouter(ctx context.Context, id string) error
- func (c *NetworkClient) DeleteSecurityGroup(ctx context.Context, securityGroupID string) error
- func (c *NetworkClient) DeleteSecurityGroupRule(ctx context.Context, securityGroupID, ruleID string) error
- func (c *NetworkClient) DeleteSubnet(ctx context.Context, id string) error
- func (c *NetworkClient) ExternalNetworks(ctx context.Context) ([]networks.Network, error)
- func (c *NetworkClient) ListServerPorts(ctx context.Context, serverID string) ([]ports.Port, error)
- func (c *NetworkClient) RemoveRouterInterface(ctx context.Context, routerID, subnetID string) error
- type PasswordProvider
- type Provider
- func (p *Provider) CreateIdentity(ctx context.Context, identity *unikornv1.Identity) error
- func (p *Provider) CreateNetwork(ctx context.Context, identity *unikornv1.Identity, network *unikornv1.Network) error
- func (p *Provider) CreateSecurityGroup(ctx context.Context, identity *unikornv1.Identity, ...) error
- func (p *Provider) CreateSecurityGroupRule(ctx context.Context, identity *unikornv1.Identity, ...) error
- func (p *Provider) CreateServer(ctx context.Context, identity *unikornv1.Identity, server *unikornv1.Server) error
- func (p *Provider) DeleteIdentity(ctx context.Context, identity *unikornv1.Identity) error
- func (p *Provider) DeleteNetwork(ctx context.Context, identity *unikornv1.Identity, network *unikornv1.Network) error
- func (p *Provider) DeleteSecurityGroup(ctx context.Context, identity *unikornv1.Identity, ...) error
- func (p *Provider) DeleteSecurityGroupRule(ctx context.Context, identity *unikornv1.Identity, ...) error
- func (p *Provider) DeleteServer(ctx context.Context, identity *unikornv1.Identity, server *unikornv1.Server) error
- func (p *Provider) Flavors(ctx context.Context) (providers.FlavorList, error)
- func (p *Provider) GetOpenstackIdentity(ctx context.Context, identity *unikornv1.Identity) (*unikornv1.OpenstackIdentity, error)
- func (p *Provider) GetOpenstackNetwork(ctx context.Context, network *unikornv1.Network) (*unikornv1.OpenstackNetwork, error)
- func (p *Provider) GetOpenstackSecurityGroup(ctx context.Context, securityGroup *unikornv1.SecurityGroup) (*unikornv1.OpenstackSecurityGroup, error)
- func (p *Provider) GetOpenstackSecurityGroupRule(ctx context.Context, securityGroupRule *unikornv1.SecurityGroupRule) (*unikornv1.OpenstackSecurityGroupRule, error)
- func (p *Provider) GetOpenstackServer(ctx context.Context, server *unikornv1.Server) (*unikornv1.OpenstackServer, error)
- func (p *Provider) GetOrCreateOpenstackIdentity(ctx context.Context, identity *unikornv1.Identity) (*unikornv1.OpenstackIdentity, bool, error)
- func (p *Provider) GetOrCreateOpenstackNetwork(ctx context.Context, identity *unikornv1.Identity, network *unikornv1.Network) (*unikornv1.OpenstackNetwork, bool, error)
- func (p *Provider) GetOrCreateOpenstackSecurityGroup(ctx context.Context, identity *unikornv1.Identity, ...) (*unikornv1.OpenstackSecurityGroup, bool, error)
- func (p *Provider) GetOrCreateOpenstackSecurityGroupRule(ctx context.Context, identity *unikornv1.Identity, ...) (*unikornv1.OpenstackSecurityGroupRule, bool, error)
- func (p *Provider) GetOrCreateOpenstackServer(ctx context.Context, identity *unikornv1.Identity, server *unikornv1.Server) (*unikornv1.OpenstackServer, bool, error)
- func (p *Provider) Images(ctx context.Context) (providers.ImageList, error)
- func (p *Provider) ListExternalNetworks(ctx context.Context) (providers.ExternalNetworks, error)
- func (p *Provider) Region(ctx context.Context) (*unikornv1.Region, error)
- type TokenProvider
- type UnauthenticatedProvider
Constants ¶
const ( // Projects are randomly named to avoid clashes, so we need to add some tags // in order to be able to reason about who they really belong to. It is also // useful to have these in place so we can spot orphaned resources and garbage // collect them. OrganizationTag = "organization" ProjectTag = "project" )
Variables ¶
var ( // ErrResourceNotFound is returned when a named resource cannot // be looked up (we have to do it ourselves) and it cannot be found. ErrResourceNotFound = errors.New("requested resource not found") // ErrResourceDependency is returned when a resource is in unexpected // state or condition. ErrResouceDependency = errors.New("resource dependency error") )
var ( // ErrPEMDecode is raised when the PEM decode failed for some reason. ErrPEMDecode = errors.New("PEM decode error") // ErrPEMType is raised when the encounter the wrong PEM type, e.g. PKCS#1. ErrPEMType = errors.New("PEM type unsupported") // ErrKeyType is raised when we encounter an unsupported key type. ErrKeyType = errors.New("key type unsupported") )
var (
ErrKeyUndefined = errors.New("a required key was not defined")
)
var ( // ErrUnsufficentResource is retuend when we've run out of space. ErrUnsufficentResource = errors.New("unsufficient resource for request") )
Functions ¶
This section is empty.
Types ¶
type ApplicationCredentialProvider ¶
type ApplicationCredentialProvider struct {
// contains filtered or unexported fields
}
ApplicationCredentialProvider allows use of an application credential.
func NewApplicationCredentialProvider ¶
func NewApplicationCredentialProvider(endpoint, id, secret string) *ApplicationCredentialProvider
NewApplicationCredentialProvider creates a client that comsumes application credentials for authentication.
type BlockStorageClient ¶
type BlockStorageClient struct {
// contains filtered or unexported fields
}
BlockStorageClient wraps the generic client because gophercloud is unsafe.
func NewBlockStorageClient ¶
func NewBlockStorageClient(ctx context.Context, provider CredentialProvider) (*BlockStorageClient, error)
NewBlockStorageClient provides a simple one-liner to start computing.
func (*BlockStorageClient) AvailabilityZones ¶
func (c *BlockStorageClient) AvailabilityZones(ctx context.Context) ([]availabilityzones.AvailabilityZone, error)
AvailabilityZones retrieves block storage availability zones.
func (*BlockStorageClient) UpdateQuotas ¶ added in v0.1.42
func (c *BlockStorageClient) UpdateQuotas(ctx context.Context, projectID string) error
type ComputeClient ¶
type ComputeClient struct {
// contains filtered or unexported fields
}
ComputeClient wraps the generic client because gophercloud is unsafe.
func NewComputeClient ¶
func NewComputeClient(ctx context.Context, provider CredentialProvider, options *unikornv1.RegionOpenstackComputeSpec) (*ComputeClient, error)
NewComputeClient provides a simple one-liner to start computing.
func (*ComputeClient) AvailabilityZones ¶
func (c *ComputeClient) AvailabilityZones(ctx context.Context) ([]availabilityzones.AvailabilityZone, error)
AvailabilityZones returns a list of availability zones.
func (*ComputeClient) CreateKeypair ¶ added in v0.1.37
func (c *ComputeClient) CreateKeypair(ctx context.Context, name, publicKey string) error
CreateKeypair creates a new keypair. NOTE: while OpenStack can generate one for us, we have far more control doing it ourselves thus allowing us to impose stricter security, and it's more provider agnostic that way.
func (*ComputeClient) CreateServer ¶ added in v0.1.46
func (*ComputeClient) CreateServerGroup ¶
func (c *ComputeClient) CreateServerGroup(ctx context.Context, name string) (*servergroups.ServerGroup, error)
CreateServerGroup creates the named server group with the given policy and returns the result.
func (*ComputeClient) DeleteKeypair ¶ added in v0.1.37
func (c *ComputeClient) DeleteKeypair(ctx context.Context, name string) error
func (*ComputeClient) DeleteServer ¶ added in v0.1.46
func (c *ComputeClient) DeleteServer(ctx context.Context, id string) error
func (*ComputeClient) DeleteServerGroup ¶ added in v0.1.30
func (c *ComputeClient) DeleteServerGroup(ctx context.Context, id string) error
DeleteServerGroup removes a server group, this exists because nova does do any cleanup on project deletion and just orphans the resource.
func (*ComputeClient) UpdateQuotas ¶ added in v0.1.39
func (c *ComputeClient) UpdateQuotas(ctx context.Context, projectID string) error
type CreateTokenOptions ¶
type CreateTokenOptions interface { // Options returns a valid set of authentication options. Options() *tokens.AuthOptions }
CreateTokenOptions abstracts away how schizophrenic Openstack is with its million options and million ways to fuck it up.
type CreateTokenOptionsScopedToken ¶
type CreateTokenOptionsScopedToken struct {
// contains filtered or unexported fields
}
CreateTokenOptionsScopedToken is typically used to upgrade from an unscoped password passed login to a project scoped one once you have determined a valid project.
func NewCreateTokenOptionsScopedToken ¶
func NewCreateTokenOptionsScopedToken(token, projectID string) *CreateTokenOptionsScopedToken
NewCreateTokenOptionsScopedToken returns a new instance of project scoped token options.
func (*CreateTokenOptionsScopedToken) Options ¶
func (o *CreateTokenOptionsScopedToken) Options() *tokens.AuthOptions
Options implements the CreateTokenOptions interface.
type CreateTokenOptionsUnscopedPassword ¶
type CreateTokenOptionsUnscopedPassword struct {
// contains filtered or unexported fields
}
CreateTokenOptionsUnscopedPassword is typically used when logging on to a UI when you don't know anything other than username/password.
func NewCreateTokenOptionsUnscopedPassword ¶
func NewCreateTokenOptionsUnscopedPassword(domain, username, password string) *CreateTokenOptionsUnscopedPassword
NewCreateTokenOptionsUnscopedPassword returns a new instance of unscoped username/password options.
func (*CreateTokenOptionsUnscopedPassword) Options ¶
func (o *CreateTokenOptionsUnscopedPassword) Options() *tokens.AuthOptions
Options implements the CreateTokenOptions interface.
type CredentialProvider ¶
type CredentialProvider interface { // Client returns a new provider client. Client(ctx context.Context) (*gophercloud.ProviderClient, error) }
CredentialProvider abstracts authentication methods.
type DomainScopedPasswordProvider ¶
type DomainScopedPasswordProvider struct {
// contains filtered or unexported fields
}
DomainScopedPasswordProvider allows use of an application credential.
func NewDomainScopedPasswordProvider ¶
func NewDomainScopedPasswordProvider(endpoint, userID, password, domainID string) *DomainScopedPasswordProvider
NewDomainScopedPasswordProvider creates a client that consumes passwords for authentication.
type IdentityClient ¶
type IdentityClient struct {
// contains filtered or unexported fields
}
IdentityClient wraps up gophercloud identity management.
func NewIdentityClient ¶
func NewIdentityClient(ctx context.Context, provider CredentialProvider) (*IdentityClient, error)
NewIdentityClient returns a new identity client.
func (*IdentityClient) CreateApplicationCredential ¶
func (c *IdentityClient) CreateApplicationCredential(ctx context.Context, userID, name, description string, roles []string) (*applicationcredentials.ApplicationCredential, error)
CreateApplicationCredential creates an application credential for the user.
func (*IdentityClient) CreateProject ¶
func (c *IdentityClient) CreateProject(ctx context.Context, domainID, name string, tags []string) (*projects.Project, error)
CreateProject creates the named project.
func (*IdentityClient) CreateRoleAssignment ¶
func (c *IdentityClient) CreateRoleAssignment(ctx context.Context, userID, projectID, roleID string) error
CreateRoleAssignment creates a role between a user and a project.
func (*IdentityClient) CreateToken ¶
func (c *IdentityClient) CreateToken(ctx context.Context, options CreateTokenOptions) (*tokens.Token, *tokens.User, error)
CreateToken issues a new token.
func (*IdentityClient) CreateUser ¶
func (c *IdentityClient) CreateUser(ctx context.Context, domainID, name, password string) (*users.User, error)
CreateUser creates a new user.
func (*IdentityClient) DeleteApplicationCredential ¶
func (c *IdentityClient) DeleteApplicationCredential(ctx context.Context, userID, id string) error
DeleteApplicationCredential deletes an application credential for the user.
func (*IdentityClient) DeleteProject ¶
func (c *IdentityClient) DeleteProject(ctx context.Context, projectID string) error
func (*IdentityClient) DeleteUser ¶
func (c *IdentityClient) DeleteUser(ctx context.Context, userID string) error
DeleteUser removes an existing user.
func (*IdentityClient) ListApplicationCredentials ¶
func (c *IdentityClient) ListApplicationCredentials(ctx context.Context, userID string) ([]applicationcredentials.ApplicationCredential, error)
ListApplicationCredentials lists application credentials for the scoped user.
func (*IdentityClient) ListAvailableProjects ¶
ListAvailableProjects lists projects that an authenticated (but unscoped) user can scope to.
type ImageClient ¶
type ImageClient struct {
// contains filtered or unexported fields
}
ImageClient wraps the generic client because gophercloud is unsafe.
func NewImageClient ¶
func NewImageClient(ctx context.Context, provider CredentialProvider, options *unikornv1.RegionOpenstackImageSpec) (*ImageClient, error)
NewImageClient provides a simple one-liner to start computing.
type NetworkClient ¶
type NetworkClient struct {
// contains filtered or unexported fields
}
NetworkClient wraps the generic client because gophercloud is unsafe.
func NewNetworkClient ¶
func NewNetworkClient(ctx context.Context, provider CredentialProvider, options *unikornv1.RegionOpenstackNetworkSpec) (*NetworkClient, error)
NewNetworkClient provides a simple one-liner to start networking.
func NewTestNetworkClient ¶ added in v0.1.18
func NewTestNetworkClient(options *unikornv1.RegionOpenstackNetworkSpec) *NetworkClient
func (*NetworkClient) AddRouterInterface ¶ added in v0.1.34
func (c *NetworkClient) AddRouterInterface(ctx context.Context, routerID, subnetID string) error
func (*NetworkClient) CreateFloatingIP ¶ added in v0.1.46
func (c *NetworkClient) CreateFloatingIP(ctx context.Context, portID string) (*floatingips.FloatingIP, error)
CreateFloatingIP creates a floating IP.
func (*NetworkClient) CreateNetwork ¶ added in v0.1.46
func (c *NetworkClient) CreateNetwork(ctx context.Context, name string, vlanID int) (*networks.Network, error)
CreateNetwork creates a virtual or VLAN provider network for a project. This requires https://github.com/unikorn-cloud/python-unikorn-openstack-policy to be installed, see the README for further details on how this has to work.
func (*NetworkClient) CreateRouter ¶ added in v0.1.34
func (*NetworkClient) CreateSecurityGroup ¶ added in v0.1.45
func (c *NetworkClient) CreateSecurityGroup(ctx context.Context, name string) (*groups.SecGroup, error)
CreateSecurityGroup creates a new security group.
func (*NetworkClient) CreateSecurityGroupRule ¶ added in v0.1.45
func (c *NetworkClient) CreateSecurityGroupRule(ctx context.Context, securityGroupID string, direction rules.RuleDirection, protocol rules.RuleProtocol, portStart, portEnd int, cidr *unikornv1core.IPv4Prefix) (*rules.SecGroupRule, error)
CreateSecurityGroupRule adds a security group rule to a security group.
func (*NetworkClient) CreateSubnet ¶ added in v0.1.34
func (*NetworkClient) DeleteFloatingIP ¶ added in v0.1.46
func (c *NetworkClient) DeleteFloatingIP(ctx context.Context, id string) error
DeleteFloatingIP deletes a floating IP.
func (*NetworkClient) DeleteNetwork ¶ added in v0.1.46
func (c *NetworkClient) DeleteNetwork(ctx context.Context, id string) error
func (*NetworkClient) DeleteRouter ¶ added in v0.1.34
func (c *NetworkClient) DeleteRouter(ctx context.Context, id string) error
func (*NetworkClient) DeleteSecurityGroup ¶ added in v0.1.45
func (c *NetworkClient) DeleteSecurityGroup(ctx context.Context, securityGroupID string) error
DeleteSecurityGroup deletes a security group.
func (*NetworkClient) DeleteSecurityGroupRule ¶ added in v0.1.45
func (c *NetworkClient) DeleteSecurityGroupRule(ctx context.Context, securityGroupID, ruleID string) error
DeleteSecurityGroupRule deletes a security group rule from a security group.
func (*NetworkClient) DeleteSubnet ¶ added in v0.1.34
func (c *NetworkClient) DeleteSubnet(ctx context.Context, id string) error
func (*NetworkClient) ExternalNetworks ¶
ExternalNetworks returns a list of external networks.
func (*NetworkClient) ListServerPorts ¶ added in v0.1.46
ListServerPorts returns a list of ports for a server.
func (*NetworkClient) RemoveRouterInterface ¶ added in v0.1.34
func (c *NetworkClient) RemoveRouterInterface(ctx context.Context, routerID, subnetID string) error
type PasswordProvider ¶
type PasswordProvider struct {
// contains filtered or unexported fields
}
PasswordProvider allows use of an application credential.
func NewPasswordProvider ¶
func NewPasswordProvider(endpoint, userID, password, projectID string) *PasswordProvider
NewPasswordProvider creates a client that comsumes passwords for authentication.
type Provider ¶
type Provider struct {
// contains filtered or unexported fields
}
func (*Provider) CreateIdentity ¶ added in v0.1.2
CreateIdentity creates a new identity for cloud infrastructure.
func (*Provider) CreateNetwork ¶ added in v0.1.46
func (p *Provider) CreateNetwork(ctx context.Context, identity *unikornv1.Identity, network *unikornv1.Network) error
CreateNetwork creates a physical network for an identity.
func (*Provider) CreateSecurityGroup ¶ added in v0.1.45
func (p *Provider) CreateSecurityGroup(ctx context.Context, identity *unikornv1.Identity, securityGroup *unikornv1.SecurityGroup) error
CreateSecurityGroup creates a new security group.
func (*Provider) CreateSecurityGroupRule ¶ added in v0.1.45
func (p *Provider) CreateSecurityGroupRule(ctx context.Context, identity *unikornv1.Identity, securityGroup *unikornv1.SecurityGroup, rule *unikornv1.SecurityGroupRule) error
CreateSecurityGroupRule creates a new security group rule.
func (*Provider) CreateServer ¶ added in v0.1.46
func (p *Provider) CreateServer(ctx context.Context, identity *unikornv1.Identity, server *unikornv1.Server) error
CreateServer creates a new server.
func (*Provider) DeleteIdentity ¶ added in v0.1.4
DeleteIdentity cleans up an identity for cloud infrastructure.
func (*Provider) DeleteNetwork ¶ added in v0.1.46
func (p *Provider) DeleteNetwork(ctx context.Context, identity *unikornv1.Identity, network *unikornv1.Network) error
DeleteNetwork deletes a physical network.
func (*Provider) DeleteSecurityGroup ¶ added in v0.1.45
func (p *Provider) DeleteSecurityGroup(ctx context.Context, identity *unikornv1.Identity, securityGroup *unikornv1.SecurityGroup) error
DeleteSecurityGroup deletes a security group.
func (*Provider) DeleteSecurityGroupRule ¶ added in v0.1.45
func (p *Provider) DeleteSecurityGroupRule(ctx context.Context, identity *unikornv1.Identity, securityGroup *unikornv1.SecurityGroup, rule *unikornv1.SecurityGroupRule) error
DeleteSecurityGroupRule deletes a security group rule.
func (*Provider) DeleteServer ¶ added in v0.1.46
func (p *Provider) DeleteServer(ctx context.Context, identity *unikornv1.Identity, server *unikornv1.Server) error
DeleteServer deletes a server.
func (*Provider) GetOpenstackIdentity ¶ added in v0.1.33
func (*Provider) GetOpenstackNetwork ¶ added in v0.1.46
func (*Provider) GetOpenstackSecurityGroup ¶ added in v0.1.45
func (p *Provider) GetOpenstackSecurityGroup(ctx context.Context, securityGroup *unikornv1.SecurityGroup) (*unikornv1.OpenstackSecurityGroup, error)
func (*Provider) GetOpenstackSecurityGroupRule ¶ added in v0.1.45
func (p *Provider) GetOpenstackSecurityGroupRule(ctx context.Context, securityGroupRule *unikornv1.SecurityGroupRule) (*unikornv1.OpenstackSecurityGroupRule, error)
func (*Provider) GetOpenstackServer ¶ added in v0.1.46
func (*Provider) GetOrCreateOpenstackIdentity ¶ added in v0.1.33
func (*Provider) GetOrCreateOpenstackNetwork ¶ added in v0.1.46
func (*Provider) GetOrCreateOpenstackSecurityGroup ¶ added in v0.1.45
func (*Provider) GetOrCreateOpenstackSecurityGroupRule ¶ added in v0.1.45
func (p *Provider) GetOrCreateOpenstackSecurityGroupRule(ctx context.Context, identity *unikornv1.Identity, securityGroup *unikornv1.SecurityGroup, rule *unikornv1.SecurityGroupRule) (*unikornv1.OpenstackSecurityGroupRule, bool, error)
func (*Provider) GetOrCreateOpenstackServer ¶ added in v0.1.46
func (*Provider) ListExternalNetworks ¶ added in v0.1.3
ListExternalNetworks returns a list of external networks if the platform supports such a concept.
type TokenProvider ¶
type TokenProvider struct {
// contains filtered or unexported fields
}
TokenProvider creates a client from an endpoint and token.
func NewTokenProvider ¶
func NewTokenProvider(endpoint, token string) *TokenProvider
NewTokenProvider returns a new initialized provider.
type UnauthenticatedProvider ¶
type UnauthenticatedProvider struct {
// contains filtered or unexported fields
}
UnauthenticatedProvider is used for token issue.
func NewUnauthenticatedProvider ¶
func NewUnauthenticatedProvider(endpoint string) *UnauthenticatedProvider
NewTokenProvider returns a new initialized provider.