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

quotasets

package
v0.16.0 Latest Latest
Warning

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

Go to latest
Published: Dec 31, 2020 License: Apache-2.0 Imports: 2 Imported by: 0

Documentation

Overview

Package quotasets enables retrieving and managing Compute quotas.

Example to Get a Quota Set

quotaset, err := quotasets.Get(computeClient, "tenant-id").Extract()
if err != nil {
	panic(err)
}

fmt.Printf("%+v\n", quotaset)

Example to Get a Detailed Quota Set

quotaset, err := quotasets.GetDetail(computeClient, "tenant-id").Extract()
if err != nil {
	panic(err)
}

fmt.Printf("%+v\n", quotaset)

Example to Update a Quota Set

updateOpts := quotasets.UpdateOpts{
	FixedIPs: gophercloud.IntToPointer(100),
	Cores:    gophercloud.IntToPointer(64),
}

quotaset, err := quotasets.Update(computeClient, "tenant-id", updateOpts).Extract()
if err != nil {
	panic(err)
}

fmt.Printf("%+v\n", quotaset)

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type DeleteResult

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

DeleteResult is the response from a Delete operation. Call its Extract method to interpret it as a QuotaSet.

func Delete

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

Resets the quotas for the given tenant to their default values.

func (DeleteResult) Extract

func (r DeleteResult) Extract() (*QuotaSet, error)

Extract is a method that attempts to interpret any QuotaSet resource response as a QuotaSet struct.

type GetDetailResult

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

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

func GetDetail

func GetDetail(client *gophercloud.ServiceClient, tenantID string) (r GetDetailResult)

GetDetail returns detailed public data about a previously created QuotaSet.

func (GetDetailResult) Extract

func (r GetDetailResult) Extract() (QuotaDetailSet, error)

Extract is a method that attempts to interpret any QuotaDetailSet resource response as a set of QuotaDetailSet structs.

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 QuotaSet.

func Get

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

Get returns public data about a previously created QuotaSet.

func (GetResult) Extract

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

Extract is a method that attempts to interpret any QuotaSet resource response as a QuotaSet struct.

type QuotaDetail

type QuotaDetail struct {
	// InUse is the current number of provisioned/allocated resources of the
	// given type.
	InUse int `json:"in_use"`

	// Reserved is a transitional state when a claim against quota has been made
	// but the resource is not yet fully online.
	Reserved int `json:"reserved"`

	// Limit is the maximum number of a given resource that can be
	// allocated/provisioned.  This is what "quota" usually refers to.
	Limit int `json:"limit"`
}

QuotaDetail is a set of details about a single operational limit that allows for control of compute usage.

type QuotaDetailSet

type QuotaDetailSet struct {
	// ID is the tenant ID associated with this QuotaDetailSet.
	ID string `json:"id"`

	// FixedIPs is number of fixed ips alloted this QuotaDetailSet.
	FixedIPs QuotaDetail `json:"fixed_ips"`

	// FloatingIPs is number of floating ips alloted this QuotaDetailSet.
	FloatingIPs QuotaDetail `json:"floating_ips"`

	// InjectedFileContentBytes is the allowed bytes for each injected file.
	InjectedFileContentBytes QuotaDetail `json:"injected_file_content_bytes"`

	// InjectedFilePathBytes is allowed bytes for each injected file path.
	InjectedFilePathBytes QuotaDetail `json:"injected_file_path_bytes"`

	// InjectedFiles is the number of injected files allowed for each project.
	InjectedFiles QuotaDetail `json:"injected_files"`

	// KeyPairs is number of ssh keypairs.
	KeyPairs QuotaDetail `json:"key_pairs"`

	// MetadataItems is number of metadata items allowed for each instance.
	MetadataItems QuotaDetail `json:"metadata_items"`

	// RAM is megabytes allowed for each instance.
	RAM QuotaDetail `json:"ram"`

	// SecurityGroupRules is number of security group rules allowed for each
	// security group.
	SecurityGroupRules QuotaDetail `json:"security_group_rules"`

	// SecurityGroups is the number of security groups allowed for each project.
	SecurityGroups QuotaDetail `json:"security_groups"`

	// Cores is number of instance cores allowed for each project.
	Cores QuotaDetail `json:"cores"`

	// Instances is number of instances allowed for each project.
	Instances QuotaDetail `json:"instances"`

	// ServerGroups is the number of ServerGroups allowed for the project.
	ServerGroups QuotaDetail `json:"server_groups"`

	// ServerGroupMembers is the number of members for each ServerGroup.
	ServerGroupMembers QuotaDetail `json:"server_group_members"`
}

QuotaDetailSet represents details of both operational limits of compute resources and the current usage of those resources.

type QuotaSet

type QuotaSet struct {
	// ID is tenant associated with this QuotaSet.
	ID string `json:"id"`

	// FixedIPs is number of fixed ips alloted this QuotaSet.
	FixedIPs int `json:"fixed_ips"`

	// FloatingIPs is number of floating ips alloted this QuotaSet.
	FloatingIPs int `json:"floating_ips"`

	// InjectedFileContentBytes is the allowed bytes for each injected file.
	InjectedFileContentBytes int `json:"injected_file_content_bytes"`

	// InjectedFilePathBytes is allowed bytes for each injected file path.
	InjectedFilePathBytes int `json:"injected_file_path_bytes"`

	// InjectedFiles is the number of injected files allowed for each project.
	InjectedFiles int `json:"injected_files"`

	// KeyPairs is number of ssh keypairs.
	KeyPairs int `json:"key_pairs"`

	// MetadataItems is number of metadata items allowed for each instance.
	MetadataItems int `json:"metadata_items"`

	// RAM is megabytes allowed for each instance.
	RAM int `json:"ram"`

	// SecurityGroupRules is number of security group rules allowed for each
	// security group.
	SecurityGroupRules int `json:"security_group_rules"`

	// SecurityGroups is the number of security groups allowed for each project.
	SecurityGroups int `json:"security_groups"`

	// Cores is number of instance cores allowed for each project.
	Cores int `json:"cores"`

	// Instances is number of instances allowed for each project.
	Instances int `json:"instances"`

	// ServerGroups is the number of ServerGroups allowed for the project.
	ServerGroups int `json:"server_groups"`

	// ServerGroupMembers is the number of members for each ServerGroup.
	ServerGroupMembers int `json:"server_group_members"`
}

QuotaSet is a set of operational limits that allow for control of compute usage.

func ExtractQuotaSets

func ExtractQuotaSets(r pagination.Page) ([]QuotaSet, error)

ExtractQuotaSets interprets a page of results as a slice of QuotaSets.

type QuotaSetPage

type QuotaSetPage struct {
	pagination.SinglePageBase
}

QuotaSetPage stores a single page of all QuotaSet results from a List call.

func (QuotaSetPage) IsEmpty

func (page QuotaSetPage) IsEmpty() (bool, error)

IsEmpty determines whether or not a QuotaSetsetPage is empty.

type UpdateOpts

type UpdateOpts struct {
	// FixedIPs is number of fixed ips alloted this quota_set.
	FixedIPs *int `json:"fixed_ips,omitempty"`

	// FloatingIPs is number of floating ips alloted this quota_set.
	FloatingIPs *int `json:"floating_ips,omitempty"`

	// InjectedFileContentBytes is content bytes allowed for each injected file.
	InjectedFileContentBytes *int `json:"injected_file_content_bytes,omitempty"`

	// InjectedFilePathBytes is allowed bytes for each injected file path.
	InjectedFilePathBytes *int `json:"injected_file_path_bytes,omitempty"`

	// InjectedFiles is injected files allowed for each project.
	InjectedFiles *int `json:"injected_files,omitempty"`

	// KeyPairs is number of ssh keypairs.
	KeyPairs *int `json:"key_pairs,omitempty"`

	// MetadataItems is number of metadata items allowed for each instance.
	MetadataItems *int `json:"metadata_items,omitempty"`

	// RAM is megabytes allowed for each instance.
	RAM *int `json:"ram,omitempty"`

	// SecurityGroupRules is rules allowed for each security group.
	SecurityGroupRules *int `json:"security_group_rules,omitempty"`

	// SecurityGroups security groups allowed for each project.
	SecurityGroups *int `json:"security_groups,omitempty"`

	// Cores is number of instance cores allowed for each project.
	Cores *int `json:"cores,omitempty"`

	// Instances is number of instances allowed for each project.
	Instances *int `json:"instances,omitempty"`

	// Number of ServerGroups allowed for the project.
	ServerGroups *int `json:"server_groups,omitempty"`

	// Max number of Members for each ServerGroup.
	ServerGroupMembers *int `json:"server_group_members,omitempty"`

	// Force will update the quotaset even if the quota has already been used
	// and the reserved quota exceeds the new quota.
	Force bool `json:"force,omitempty"`
}

Options for Updating the quotas of a Tenant. All int-values are pointers so they can be nil if they are not needed. You can use gopercloud.IntToPointer() for convenience

func (UpdateOpts) ToComputeQuotaUpdateMap

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

ToComputeQuotaUpdateMap builds the update options into a serializable format.

type UpdateOptsBuilder

type UpdateOptsBuilder interface {
	// Extra specific name to prevent collisions with interfaces for other quotas
	// (e.g. neutron)
	ToComputeQuotaUpdateMap() (map[string]interface{}, error)
}

UpdateOptsBuilder enables extensins to add parameters to the update request.

type UpdateResult

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

UpdateResult is the response from a Update operation. Call its Extract method to interpret it as a QuotaSet.

func Update

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

Updates the quotas for the given tenantID and returns the new QuotaSet.

func (UpdateResult) Extract

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

Extract is a method that attempts to interpret any QuotaSet resource response as a QuotaSet struct.

Directories

Path Synopsis
quotasets unit tests
quotasets unit tests

Jump to

Keyboard shortcuts

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