Documentation
¶
Overview ¶
Package resourceclasses manages resource classes from the OpenStack Placement service.
Resource Class API requests are available starting from microversion 1.2.
Example to list resource classes
placementClient.Microversion = "1.2"
allPages, err := resourceclasses.List(placementClient).AllPages(context.TODO())
if err != nil {
panic(err)
}
allResourceClasses, err := resourceclasses.ExtractResourceClasses(allPages)
if err != nil {
panic(err)
}
for _, rc := range allResourceClasses {
fmt.Printf("%+v\n", rc)
}
Example to Get a resource class
placementClient.Microversion = "1.2"
resourceClassName := "VCPU"
resourceClass, err := resourceclasses.Get(context.TODO(), placementClient, resourceClassName).Extract()
if err != nil {
panic(err)
}
fmt.Printf("%+v\n", resourceClass)
Example to Create a resource class using POST
placementClient.Microversion = "1.2"
createOpts := resourceclasses.CreateOpts{
Name: "CUSTOM_RESOURCE_CLASS",
}
err := resourceclasses.Create(context.TODO(), placementClient, createOpts).ExtractErr()
if err != nil {
panic(err)
}
Example to ensure the existence of a resource class using PUT (idempotent creation)
placementClient.Microversion = "1.7"
err := resourceclasses.Update(context.TODO(), placementClient, "CUSTOM_RESOURCE_CLASS").ExtractErr()
if err != nil {
panic(err)
}
Example to delete a resource class
placementClient.Microversion = "1.2"
err := resourceclasses.Delete(context.TODO(), placementClient, "CUSTOM_RESOURCE_CLASS").ExtractErr()
if err != nil {
panic(err)
}
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func List ¶
func List(client *gophercloud.ServiceClient) pagination.Pager
List retrieves a list of resource classes.
Types ¶
type CreateOpts ¶
type CreateOpts struct {
Name string `json:"name" required:"true"`
}
CreateOpts represents the attributes of a new resource class.
func (CreateOpts) ToResourceClassCreateMap ¶
func (opts CreateOpts) ToResourceClassCreateMap() (map[string]any, error)
ToResourceClassCreateMap formats a CreateOpts into a create request.
type CreateOptsBuilder ¶
CreateOptsBuilder allows extensions to add additional parameters to the Create request.
type CreateResult ¶
type CreateResult struct {
gophercloud.ErrResult
}
CreateResult is the response from a Create operation. Call its ExtractErr to determine if the request succeeded or failed.
func Create ¶
func Create(ctx context.Context, client *gophercloud.ServiceClient, opts CreateOptsBuilder) (r CreateResult)
Create creates a new resource class.
type DeleteResult ¶
type DeleteResult struct {
gophercloud.ErrResult
}
DeleteResult is the response from a Delete operation. Call its ExtractErr to determine if the request succeeded or failed.
func Delete ¶
func Delete(ctx context.Context, client *gophercloud.ServiceClient, name string) (r DeleteResult)
Delete deletes the resource class with the provided name.
type GetResult ¶
type GetResult struct {
// contains filtered or unexported fields
}
GetResult represents the result of a Get operation. Call its Extract method to interpret it as a ResourceClass.
func Get ¶
func Get(ctx context.Context, client *gophercloud.ServiceClient, name string) (r GetResult)
Get retrieves the resource class with the provided name.
func (GetResult) Extract ¶
func (r GetResult) Extract() (*ResourceClass, error)
Extract interprets any resourceClassResult-base result as a ResourceClass.
type ResourceClass ¶
type ResourceClass struct {
Name string `json:"name"`
// Links is a list of links associated with the resource class.
Links []Link `json:"links"`
}
func ExtractResourceClasses ¶
func ExtractResourceClasses(p pagination.Page) ([]ResourceClass, error)
ExtractResourceClasses takes a List result and extracts the collection of resource classes returned by the API.
type ResourceClassesPage ¶
type ResourceClassesPage struct {
pagination.SinglePageBase
}
ResourceClassesPage contains a single page of all resource classes from a List call.
func (ResourceClassesPage) IsEmpty ¶
func (r ResourceClassesPage) IsEmpty() (bool, error)
IsEmpty satisfies the IsEmpty method of the Page interface. It returns true if a List contains no results.
type UpdateResult ¶
type UpdateResult struct {
gophercloud.ErrResult
}
UpdateResult is the response from an Update operation. Call its ExtractErr to determine if the request succeeded or failed.
func Update ¶
func Update(ctx context.Context, client *gophercloud.ServiceClient, name string) (r UpdateResult)
Update ensures the existence of a custom resource class with the provided name (can be safely called multiple times).