registeredlimits

package
v1.14.0 Latest Latest
Warning

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

Go to latest
Published: Jul 24, 2024 License: Apache-2.0 Imports: 2 Imported by: 1

Documentation

Overview

Package registeredlimits provides information and interaction with registered limits for the Openstack Identity service.

Example to List RegisteredLimits

listOpts := registeredlimits.ListOpts{
	ResourceName: "image_size_total",
}

allPages, err := registeredlimits.List(identityClient, listOpts).AllPages()
if err != nil {
	panic(err)
}

allLimits, err := limits.ExtractLimits(allPages)
if err != nil {
	panic(err)
}

Example to Create a RegisteredLimit

batchCreateOpts := registeredlimits.BatchCreateOpts{
	registeredlimits.CreateOpts{
		ServiceID:     "9408080f1970482aa0e38bc2d4ea34b7",
		RegionID:      "RegionOne",
		ResourceName:  "snapshot",
		DefaultLimit: 5,
	},
	registeredlimits.CreateOpts{
		ServiceID:     "9408080f1970482aa0e38bc2d4ea34b7",
		RegionID:      "RegionOne",
		ResourceName:  "volume",
		DefaultLimit: 10,
		Description:   "Number of volumes for service 9408080f1970482aa0e38bc2d4ea34b7",
	},
}

createdRegisteredLimits, err := limits.Create(identityClient, batchCreateOpts).Extract()
if err != nil {
	panic(err)
}

Example to Get a RegisteredLimit

    registeredLimitID := "966b3c7d36a24facaf20b7e458bf2192"
    registered_limit, err := registeredlimits.Get(client, registeredLimitID).Extract()
	if err != nil {
		panic(err)
	}

Example to Update a RegisteredLimit

    Either ServiceID, ResourceName, or RegionID must be different than existing value otherwise it will raise 409.

	registeredLimitID := "966b3c7d36a24facaf20b7e458bf2192"

	resourceName := "images"
	description := "Number of images for service 9408080f1970482aa0e38bc2d4ea34b7"
	defaultLimit := 10
	updateOpts := registeredlimits.UpdateOpts{
		Description:  &description,
		DefaultLimit: &defaultLimit,
		ResourceName: resourceName,
		ServiceID:    "9408080f1970482aa0e38bc2d4ea34b7",
	}

	registered_limit, err := registeredlimits.Update(client, registeredLimitID, updateOpts).Extract()
	if err != nil {
		panic(err)
	}

Example to Delete a RegisteredLimit

registeredLimitID := "966b3c7d36a24facaf20b7e458bf2192"
err := registeredlimits.Delete(identityClient, registeredLimitID).ExtractErr()
if err != nil {
	panic(err)
}

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func List

List enumerates the registered limits.

Types

type BatchCreateOpts

type BatchCreateOpts []CreateOpts

BatchCreateOpts provides options used to create limits.

func (BatchCreateOpts) ToRegisteredLimitsCreateMap

func (opts BatchCreateOpts) ToRegisteredLimitsCreateMap() (map[string]interface{}, error)

ToRegisteredLimitsCreateMap formats a BatchCreateOpts into a create request.

type BatchCreateOptsBuilder

type BatchCreateOptsBuilder interface {
	ToRegisteredLimitsCreateMap() (map[string]interface{}, error)
}

BatchCreateOptsBuilder allows extensions to add additional parameters to the Create request.

type CreateOpts

type CreateOpts 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" required:"true"`
}

func (CreateOpts) ToMap

func (opts CreateOpts) ToMap() (map[string]interface{}, error)

type CreateResult

type CreateResult struct {
	gophercloud.Result
}

CreateResult is the response from a Create operation. Call its Extract method to interpret it as a Registered Limits.

func BatchCreate

func BatchCreate(client *gophercloud.ServiceClient, opts BatchCreateOptsBuilder) (r CreateResult)

BatchCreate creates new Limits.

func (CreateResult) Extract

func (r CreateResult) Extract() ([]RegisteredLimit, error)

Extract interprets CreateResult as slice of RegisteredLimits.

type DeleteResult

type DeleteResult struct {
	gophercloud.ErrResult
}

DeleteResult is the result of a Delete request. Call its ExtractErr method to determine if the request succeeded or failed.

func Delete

func Delete(client *gophercloud.ServiceClient, registeredLimitID string) (r DeleteResult)

Delete deletes a registered_limit.

type EnforcementModel

type EnforcementModel struct {
	// The name of the enforcement model.
	Name string `json:"name"`

	// A short description of the enforcement model used.
	Description string `json:"description"`
}

A model describing the configured enforcement model used by the deployment.

type EnforcementModelResult

type EnforcementModelResult struct {
	gophercloud.Result
}

EnforcementModelResult is the response from a GetEnforcementModel operation. Call its Extract method to interpret it as a EnforcementModel.

func (EnforcementModelResult) Extract

Extract interprets EnforcementModelResult as a EnforcementModel.

type GetResult

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

GetResult is the response from a Get operation. Call its Extract method to interpret it as a RegisteredLimit.

func Get

func Get(client *gophercloud.ServiceClient, registeredLimitID string) (r GetResult)

Get retrieves details on a single registered_limit, by ID.

func (GetResult) Extract

func (r GetResult) Extract() (*RegisteredLimit, error)

Extract interprets any commonResult as a RegisteredLimit.

type ListOpts

type ListOpts struct {
	// Filters the response by a region ID.
	RegionID string `q:"region_id"`

	// Filters the response by a service ID.
	ServiceID string `q:"service_id"`

	// Filters the response by a resource name.
	ResourceName string `q:"resource_name"`
}

ListOpts provides options to filter the List results.

func (ListOpts) ToRegisteredLimitListQuery

func (opts ListOpts) ToRegisteredLimitListQuery() (string, error)

ToRegisteredLimitListQuery formats a ListOpts into a query string.

type ListOptsBuilder

type ListOptsBuilder interface {
	ToRegisteredLimitListQuery() (string, error)
}

ListOptsBuilder allows extensions to add additional parameters to the List request

type RegisteredLimit

type RegisteredLimit struct {
	// ID is the unique ID of the limit.
	ID string `json:"id"`

	// RegionID is the ID of the region where the limit is applied.
	RegionID string `json:"region_id"`

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

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

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

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

	// Links contains referencing links to the limit.
	Links map[string]interface{} `json:"links"`
}

A registered limit is the limit that is default for all projects.

func ExtractRegisteredLimits

func ExtractRegisteredLimits(r pagination.Page) ([]RegisteredLimit, error)

ExtractRegisteredLimits returns a slice of Registered Limits contained in a single page of results.

type RegisteredLimitOutput

type RegisteredLimitOutput struct {
	RegisteredLimit *RegisteredLimit `json:"registered_limit"`
}

A RegisteredLimitOutput is an encapsulated Limit returned by Get and Update operations

type RegisteredLimitPage

type RegisteredLimitPage struct {
	pagination.LinkedPageBase
}

RegisteredLimitPage is a single page of Registered Limit results.

func (RegisteredLimitPage) IsEmpty

func (r RegisteredLimitPage) IsEmpty() (bool, error)

IsEmpty determines whether or not a page of Limits contains any results.

func (RegisteredLimitPage) NextPageURL

func (r RegisteredLimitPage) NextPageURL() (string, error)

NextPageURL extracts the "next" link from the links section of the result.

type RegisteredLimitsOutput

type RegisteredLimitsOutput struct {
	RegisteredLimits []RegisteredLimit `json:"registered_limits"`
}

A LimitsOutput is an array of limits returned by List and BatchCreate operations

type UpdateOpts

type UpdateOpts struct {
	// Description of the registered_limit.
	Description *string `json:"description,omitempty"`

	// DefaultLimit is the override limit.
	DefaultLimit *int `json:"default_limit,omitempty"`

	// 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,omitempty"`

	// ResourceName is the name of the resource that the limit is applied to.
	ResourceName string `json:"resource_name,omitempty"`
}

UpdateOpts represents parameters to update a domain.

func (UpdateOpts) ToRegisteredLimitUpdateMap

func (opts UpdateOpts) ToRegisteredLimitUpdateMap() (map[string]interface{}, error)

ToRegisteredLimitUpdateMap formats UpdateOpts into an update request.

type UpdateOptsBuilder

type UpdateOptsBuilder interface {
	ToRegisteredLimitUpdateMap() (map[string]interface{}, error)
}

UpdateOptsBuilder allows extensions to add additional parameters to the Update request.

type UpdateResult

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

UpdateResult is the result of an Update request. Call its Extract method to interpret it as a Limit.

func Update

func Update(client *gophercloud.ServiceClient, id string, opts UpdateOptsBuilder) (r UpdateResult)

Update modifies the attributes of a registered limit.

func (UpdateResult) Extract

func (r UpdateResult) Extract() (*RegisteredLimit, error)

Extract interprets any commonResult as a RegisteredLimit.

Jump to

Keyboard shortcuts

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