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

openstack

package module
v0.6.0 Latest Latest
Warning

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

Go to latest
Published: Feb 28, 2025 License: Apache-2.0 Imports: 19 Imported by: 4

Documentation

Index

Constants

View Source
const ProjectNotFound = "project not found"

ProjectNotFound - project not found error message"

View Source
const RoleNotFound = "role not found in keystone"

RoleNotFound - role not found error message"

View Source
const ServiceNotFound = "service not found in keystone"

ServiceNotFound - service not found error message"

View Source
const UserNotFound = "user not found in keystone"

UserNotFound - user not found error message"

Variables

This section is empty.

Functions

func GetAvailability

func GetAvailability(
	endpointInterface string,
) (gophercloud.Availability, error)

GetAvailability - returns mapping of enpointtype to gophercloud.Availability

func GetOpenStackProvider added in v0.4.0

func GetOpenStackProvider(
	cfg AuthOpts,
) (*gophercloud.ProviderClient, error)

GetOpenStackProvider creates a new instance of the openstack struct from a config struct

Types

type AuthOpts

type AuthOpts struct {
	AuthURL    string
	Username   string
	Password   string
	TenantName string
	DomainName string
	Region     string
	Scope      *gophercloud.AuthScope
	TLS        *TLSConfig
}

AuthOpts -

type Domain

type Domain struct {
	Name        string
	Description string
}

Domain - Holds the name and description to be used while creating or looking up the OpenStack domain.

type Endpoint

type Endpoint struct {
	Name         string
	ServiceID    string
	Availability gophercloud.Availability
	URL          string
}

Endpoint -

type Limit

type Limit struct {
	// RegionID is the ID of the region where the limit is applied.
	RegionID string `json:"region_id,omitempty"`

	// DomainID is the ID of the domain where the limit is applied.
	DomainID string `json:"domain_id,omitempty"`

	// ProjectID is the ID of the project where the limit is applied.
	ProjectID string `json:"project_id,omitempty"`

	// ServiceID is the ID of the service where the limit is applied.
	ServiceID string `json:"service_id" required:"true"`

	// Description of the limit.
	Description string `json:"description,omitempty"`

	// ResourceName is the name of the resource that the limit is applied to.
	ResourceName string `json:"resource_name" required:"true"`

	// ResourceLimit is the override limit.
	ResourceLimit int `json:"resource_limit" required:"true"`
}

Limit -

type OpenStack

type OpenStack struct {
	// contains filtered or unexported fields
}

OpenStack -

func GetNovaOpenStackClient added in v0.4.0

func GetNovaOpenStackClient(
	log logr.Logger,
	cfg AuthOpts,
	endpointOpts gophercloud.EndpointOpts,
) (*OpenStack, error)

GetNovaOpenStackClient creates a new instance of the openstack compute struct from a config struct

func NewOpenStack

func NewOpenStack(
	log logr.Logger,
	cfg AuthOpts,
) (*OpenStack, error)

NewOpenStack creates a new new instance of the openstack identity struct from a config struct

func (*OpenStack) AssignUserDomainRole

func (o *OpenStack) AssignUserDomainRole(
	log logr.Logger,
	roleName string,
	userID string,
	domainID string,
) error

AssignUserDomainRole - adds user with userID and domainID to role with roleName

func (*OpenStack) AssignUserRole

func (o *OpenStack) AssignUserRole(
	log logr.Logger,
	roleName string,
	userID string,
	projectID string,
) error

AssignUserRole - adds user with userID,projectID to role with roleName

func (*OpenStack) CreateDomain

func (o *OpenStack) CreateDomain(log logr.Logger, d Domain) (string, error)

CreateDomain - creates a domain with domainName and domainDescription if it does not exist

func (*OpenStack) CreateEndpoint

func (o *OpenStack) CreateEndpoint(
	log logr.Logger,
	e Endpoint,
) (string, error)

CreateEndpoint - create endpoint

func (*OpenStack) CreateLimit

func (o *OpenStack) CreateLimit(
	log logr.Logger,
	l Limit,
) (string, error)

CreateLimit - create a limit in keystone for particular project if it does not exist

func (*OpenStack) CreateOrUpdateRegisteredLimit

func (o *OpenStack) CreateOrUpdateRegisteredLimit(
	log logr.Logger,
	l RegisteredLimit,
) (string, error)

CreateOrUpdateRegisteredLimit - create or update limit in keystone (global across projects) if it does not exist

func (*OpenStack) CreateProject

func (o *OpenStack) CreateProject(
	log logr.Logger,
	p Project,
) (string, error)

CreateProject - creates project with projectName and projectDescription if it does not exist

func (*OpenStack) CreateRole

func (o *OpenStack) CreateRole(
	log logr.Logger,
	roleName string,
) (string, error)

CreateRole - creates role with projectuserName, password and default project projectID

func (*OpenStack) CreateService

func (o *OpenStack) CreateService(
	log logr.Logger,
	s Service,
) (string, error)

CreateService - create service

func (*OpenStack) CreateUser

func (o *OpenStack) CreateUser(
	log logr.Logger,
	u User,
) (string, error)

CreateUser - creates user with userName, password and default project projectID

func (*OpenStack) DeleteEndpoint

func (o *OpenStack) DeleteEndpoint(
	log logr.Logger,
	e Endpoint,
) error

DeleteEndpoint - delete endpoint

func (*OpenStack) DeleteRegisteredLimit

func (o *OpenStack) DeleteRegisteredLimit(
	log logr.Logger,
	registeredLimitID string,
) error

DeleteRegisteredLimit - delete limit from keystone

func (*OpenStack) DeleteService

func (o *OpenStack) DeleteService(
	log logr.Logger,
	serviceID string,
) error

DeleteService - delete service with serviceID

func (*OpenStack) DeleteUser

func (o *OpenStack) DeleteUser(
	log logr.Logger,
	userName string,
	domainID string,
) error

DeleteUser - deletes user with userName

func (*OpenStack) GetAuthURL

func (o *OpenStack) GetAuthURL() string

GetAuthURL - returns the region

func (*OpenStack) GetEndpoints

func (o *OpenStack) GetEndpoints(
	log logr.Logger,
	serviceID string,
	endpointInterface string,
) ([]endpoints.Endpoint, error)

GetEndpoints - get endpoints for the registered service. if endpointInterface is provided, just return the endpoint for that type.

func (*OpenStack) GetOSClient

func (o *OpenStack) GetOSClient() *gophercloud.ServiceClient

GetOSClient - returns the client

func (*OpenStack) GetProject added in v0.4.0

func (o *OpenStack) GetProject(
	log logr.Logger,
	projectName string,
	domainID string,
) (*projects.Project, error)

GetProject - gets project with projectName

func (*OpenStack) GetRegion

func (o *OpenStack) GetRegion() string

GetRegion - returns the region

func (*OpenStack) GetRegisteredLimit

func (o *OpenStack) GetRegisteredLimit(
	log logr.Logger,
	registeredLimitID string,
) (*registeredlimits.RegisteredLimit, error)

GetRegisteredLimit - Get existing registered limit by ID

func (*OpenStack) GetRole

func (o *OpenStack) GetRole(
	log logr.Logger,
	roleName string,
) (*roles.Role, error)

GetRole - gets role with roleName

func (*OpenStack) GetService

func (o *OpenStack) GetService(
	log logr.Logger,
	serviceType string,
	serviceName string,
) (*services.Service, error)

GetService - get service with type and name

func (*OpenStack) GetUser

func (o *OpenStack) GetUser(
	log logr.Logger,
	userName string,
	domainID string,
) (*users.User, error)

GetUser - get user with userName

func (*OpenStack) ListRegisteredLimitsByResourceName

func (o *OpenStack) ListRegisteredLimitsByResourceName(
	log logr.Logger,
	resourceName string,
) ([]registeredlimits.RegisteredLimit, error)

ListRegisteredLimitsByResourceName - List all registered limits filtered by resource name

func (*OpenStack) ListRegisteredLimitsByServiceID

func (o *OpenStack) ListRegisteredLimitsByServiceID(
	log logr.Logger,
	serviceID string,
) ([]registeredlimits.RegisteredLimit, error)

ListRegisteredLimitsByServiceID - List all registered limits filtered by service id

func (*OpenStack) UpdateEndpoint

func (o *OpenStack) UpdateEndpoint(
	log logr.Logger,
	e Endpoint,
	endpointID string,
) (string, error)

UpdateEndpoint -

func (*OpenStack) UpdateService

func (o *OpenStack) UpdateService(
	log logr.Logger,
	s Service,
	serviceID string,
) error

UpdateService - update service with type and name

func (*OpenStack) VolumeServiceCheck

func (o *OpenStack) VolumeServiceCheck(
	log logr.Logger,
	serviceName string,
) (bool, error)

VolumeServiceCheck - Check particular cinder service is enabled and running or not

type Project

type Project struct {
	Name        string
	Description string
	DomainID    string
}

Project -

type RegisteredLimit

type RegisteredLimit struct {
	// RegionID is the ID of the region where the limit is applied.
	RegionID string `json:"region_id,omitempty"`

	// ServiceID is the ID of the service where the limit is applied.
	ServiceID string `json:"service_id" required:"true"`

	// Description of the limit.
	Description string `json:"description,omitempty"`

	// ResourceName is the name of the resource that the limit is applied to.
	ResourceName string `json:"resource_name" required:"true"`

	// DefaultLimit is the default limit.
	DefaultLimit int `json:"default_limit"`
}

RegisteredLimit -

type Role

type Role struct {
	Name string
}

Role -

type Service

type Service struct {
	Name        string
	Type        string
	Description string
	Enabled     bool
}

Service -

type TLSConfig added in v0.4.0

type TLSConfig struct {
	CACerts    []string
	Insecure   bool
	ClientCert string
	ClientKey  string
}

TLSConfig - settings

type User

type User struct {
	Name      string
	Password  string
	ProjectID string
	DomainID  string
}

User -

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL