github.com/huaweicloud/golangsdk@v0.0.0-20210831081626-d823fe11ceba/openstack/compute/v2/extensions/limits/results.go (about) 1 package limits 2 3 import ( 4 "github.com/huaweicloud/golangsdk" 5 ) 6 7 // Limits is a struct that contains the response of a limit query. 8 type Limits struct { 9 // Absolute contains the limits and usage information. 10 Absolute Absolute `json:"absolute"` 11 } 12 13 // Usage is a struct that contains the current resource usage and limits 14 // of a tenant. 15 type Absolute struct { 16 // MaxTotalCores is the number of cores available to a tenant. 17 MaxTotalCores int `json:"maxTotalCores"` 18 19 // MaxImageMeta is the amount of image metadata available to a tenant. 20 MaxImageMeta int `json:"maxImageMeta"` 21 22 // MaxServerMeta is the amount of server metadata available to a tenant. 23 MaxServerMeta int `json:"maxServerMeta"` 24 25 // MaxPersonality is the amount of personality/files available to a tenant. 26 MaxPersonality int `json:"maxPersonality"` 27 28 // MaxPersonalitySize is the personality file size available to a tenant. 29 MaxPersonalitySize int `json:"maxPersonalitySize"` 30 31 // MaxTotalKeypairs is the total keypairs available to a tenant. 32 MaxTotalKeypairs int `json:"maxTotalKeypairs"` 33 34 // MaxSecurityGroups is the number of security groups available to a tenant. 35 MaxSecurityGroups int `json:"maxSecurityGroups"` 36 37 // MaxSecurityGroupRules is the number of security group rules available to 38 // a tenant. 39 MaxSecurityGroupRules int `json:"maxSecurityGroupRules"` 40 41 // MaxServerGroups is the number of server groups available to a tenant. 42 MaxServerGroups int `json:"maxServerGroups"` 43 44 // MaxServerGroupMembers is the number of server group members available 45 // to a tenant. 46 MaxServerGroupMembers int `json:"maxServerGroupMembers"` 47 48 // MaxTotalFloatingIps is the number of floating IPs available to a tenant. 49 MaxTotalFloatingIps int `json:"maxTotalFloatingIps"` 50 51 // MaxTotalInstances is the number of instances/servers available to a tenant. 52 MaxTotalInstances int `json:"maxTotalInstances"` 53 54 // MaxTotalRAMSize is the total amount of RAM available to a tenant measured 55 // in megabytes (MB). 56 MaxTotalRAMSize int `json:"maxTotalRAMSize"` 57 58 // TotalCoresUsed is the number of cores currently in use. 59 TotalCoresUsed int `json:"totalCoresUsed"` 60 61 // TotalInstancesUsed is the number of instances/servers in use. 62 TotalInstancesUsed int `json:"totalInstancesUsed"` 63 64 // TotalFloatingIpsUsed is the number of floating IPs in use. 65 TotalFloatingIpsUsed int `json:"totalFloatingIpsUsed"` 66 67 // TotalRAMUsed is the total RAM/memory in use measured in megabytes (MB). 68 TotalRAMUsed int `json:"totalRAMUsed"` 69 70 // TotalSecurityGroupsUsed is the total number of security groups in use. 71 TotalSecurityGroupsUsed int `json:"totalSecurityGroupsUsed"` 72 73 // TotalServerGroupsUsed is the total number of server groups in use. 74 TotalServerGroupsUsed int `json:"totalServerGroupsUsed"` 75 } 76 77 // Extract interprets a limits result as a Limits. 78 func (r GetResult) Extract() (*Limits, error) { 79 var s struct { 80 Limits *Limits `json:"limits"` 81 } 82 err := r.ExtractInto(&s) 83 return s.Limits, err 84 } 85 86 // GetResult is the response from a Get operation. Call its Extract 87 // method to interpret it as an Absolute. 88 type GetResult struct { 89 golangsdk.Result 90 }