Documentation ¶
Overview ¶
Package limits provides information and interaction with limits for the Openstack Identity service.
Example to Get EnforcementModel
model, err := limits.GetEnforcementModel(identityClient).Extract() if err != nil { panic(err) }
Example to List Limits
listOpts := limits.ListOpts{ ProjectID: "3d596369fd2043bf8aca3c8decb0189e", } allPages, err := limits.List(identityClient, listOpts).AllPages() if err != nil { panic(err) } allLimits, err := limits.ExtractLimits(allPages) if err != nil { panic(err) }
Example to Create Limits
batchCreateOpts := limits.BatchCreateOpts{ limits.CreateOpts{ ServiceID: "9408080f1970482aa0e38bc2d4ea34b7", ProjectID: "3a705b9f56bb439381b43c4fe59dccce", RegionID: "RegionOne", ResourceName: "snapshot", ResourceLimit: 5, }, limits.CreateOpts{ ServiceID: "9408080f1970482aa0e38bc2d4ea34b7", DomainID: "edbafc92be354ffa977c58aa79c7bdb2", ResourceName: "volume", ResourceLimit: 10, Description: "Number of volumes for project 3a705b9f56bb439381b43c4fe59dccce", }, } createdLimits, err := limits.Create(identityClient, batchCreateOpts).Extract() if err != nil { panic(err) }
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func List ¶
func List(client *gophercloud.ServiceClient, opts ListOptsBuilder) pagination.Pager
List enumerates the limits.
Types ¶
type BatchCreateOpts ¶
type BatchCreateOpts []CreateOpts
BatchCreateOpts provides options used to create limits.
func (BatchCreateOpts) ToLimitsCreateMap ¶
func (opts BatchCreateOpts) ToLimitsCreateMap() (map[string]interface{}, error)
ToLimitsCreateMap formats a BatchCreateOpts into a create request.
type BatchCreateOptsBuilder ¶
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"` // ProjectID is the ID of the project where the limit is applied. ProjectID string `json:"project_id,omitempty"` // DomainID is the ID of the domain where the limit is applied. DomainID string `json:"domain_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"` }
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 Limits.
func BatchCreate ¶
func BatchCreate(client *gophercloud.ServiceClient, opts BatchCreateOptsBuilder) (r CreateResult)
BatchCreate creates new Limits.
func (CreateResult) Extract ¶
func (r CreateResult) Extract() ([]Limit, error)
Extract interprets CreateResult as slice of Limits.
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 GetEnforcementModel ¶
func GetEnforcementModel(client *gophercloud.ServiceClient) (r EnforcementModelResult)
Get retrieves details on a single limit, by ID.
func (EnforcementModelResult) Extract ¶
func (r EnforcementModelResult) Extract() (*EnforcementModel, error)
Extract interprets EnforcementModelResult as a EnforcementModel.
type Limit ¶
type Limit 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"` // ProjectID is the ID of the project where the limit is applied. ProjectID string `json:"project_id"` // DomainID is the ID of the domain where the limit is applied. DomainID string `json:"domain_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"` // ResourceLimit is the override limit. ResourceLimit int `json:"resource_limit"` // Links contains referencing links to the limit. Links map[string]interface{} `json:"links"` }
A limit is the limit that override the registered limit for each project.
func ExtractLimits ¶
func ExtractLimits(r pagination.Page) ([]Limit, error)
ExtractLimits returns a slice of Limits contained in a single page of results.
type LimitPage ¶
type LimitPage struct {
pagination.LinkedPageBase
}
LimitPage is a single page of Limit results.
func (LimitPage) NextPageURL ¶
NextPageURL extracts the "next" link from the links section of the result.
type LimitsOutput ¶
type LimitsOutput struct {
Limits []Limit `json:"limits"`
}
A LimitsOutput is an array of limits returned by List and BatchCreate operations
type ListOpts ¶
type ListOpts struct { // Filters the response by a region ID. RegionID string `q:"region_id"` // Filters the response by a project ID. ProjectID string `q:"project_id"` // Filters the response by a domain ID. DomainID string `q:"domain_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) ToLimitListQuery ¶
ToLimitListQuery formats a ListOpts into a query string.
type ListOptsBuilder ¶
ListOptsBuilder allows extensions to add additional parameters to the List request