Documentation
¶
Overview ¶
Package addressscopes provides the ability to retrieve and manage Address scopes through the Neutron API.
Example of Listing Address scopes
listOpts := addressscopes.ListOpts{
IPVersion: 6,
}
allPages, err := addressscopes.List(networkClient, listOpts).AllPages(context.TODO())
if err != nil {
panic(err)
}
allAddressScopes, err := addressscopes.ExtractAddressScopes(allPages)
if err != nil {
panic(err)
}
for _, addressScope := range allAddressScopes {
fmt.Printf("%+v\n", addressScope)
}
Example to Get an Address scope
addressScopeID = "9cc35860-522a-4d35-974d-51d4b011801e"
addressScope, err := addressscopes.Get(context.TODO(), networkClient, addressScopeID).Extract()
if err != nil {
panic(err)
}
Example to Create a new Address scope
addressScopeOpts := addressscopes.CreateOpts{
Name: "my_address_scope",
IPVersion: 6,
}
addressScope, err := addressscopes.Create(context.TODO(), networkClient, addressScopeOpts).Extract()
if err != nil {
panic(err)
}
Example to Update an Address scope
addressScopeID = "9cc35860-522a-4d35-974d-51d4b011801e"
newName := "awesome_name"
updateOpts := addressscopes.UpdateOpts{
Name: &newName,
}
addressScope, err := addressscopes.Update(context.TODO(), networkClient, addressScopeID, updateOpts).Extract()
if err != nil {
panic(err)
}
Example to Delete an Address scope
addressScopeID = "9cc35860-522a-4d35-974d-51d4b011801e"
err := addressscopes.Delete(context.TODO(), networkClient, addressScopeID).ExtractErr()
if err != nil {
panic(err)
}
Index ¶
- func List(c *gophercloud.ServiceClient, opts ListOptsBuilder) pagination.Pager
- type AddressScope
- type AddressScopePage
- type CreateOpts
- type CreateOptsBuilder
- type CreateResult
- type DeleteResult
- type GetResult
- type ListOpts
- type ListOptsBuilder
- type UpdateOpts
- type UpdateOptsBuilder
- type UpdateResult
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func List ¶
func List(c *gophercloud.ServiceClient, opts ListOptsBuilder) pagination.Pager
List returns a Pager which allows you to iterate over a collection of address-scopes. It accepts a ListOpts struct, which allows you to filter and sort the returned collection for greater efficiency.
Default policy settings return only the address-scopes owned by the project of the user submitting the request, unless the user has the administrative role.
Types ¶
type AddressScope ¶
type AddressScope struct {
// ID is the id of the address-scope.
ID string `json:"id"`
// Name is the human-readable name of the address-scope.
Name string `json:"name"`
// TenantID is the id of the Identity project.
TenantID string `json:"tenant_id"`
// ProjectID is the id of the Identity project.
ProjectID string `json:"project_id"`
// IPVersion is the IP protocol version.
IPVersion int `json:"ip_version"`
Shared bool `json:"shared"`
}
AddressScope represents a Neutron address-scope.
func ExtractAddressScopes ¶
func ExtractAddressScopes(r pagination.Page) ([]AddressScope, error)
ExtractAddressScopes interprets the results of a single page from a List() API call, producing a slice of AddressScopes structs.
type AddressScopePage ¶
type AddressScopePage struct {
pagination.LinkedPageBase
}
AddressScopePage stores a single page of AddressScopes from a List() API call.
func (AddressScopePage) IsEmpty ¶
func (r AddressScopePage) IsEmpty() (bool, error)
IsEmpty determines whether or not a AddressScopePage is empty.
func (AddressScopePage) NextPageURL ¶
func (r AddressScopePage) NextPageURL() (string, error)
NextPageURL is invoked when a paginated collection of address-scope has reached the end of a page and the pager seeks to traverse over a new one. In order to do this, it needs to construct the next page's URL.
type CreateOpts ¶
type CreateOpts struct {
// Name is the human-readable name of the address-scope.
Name string `json:"name"`
// TenantID is the id of the Identity project.
TenantID string `json:"tenant_id,omitempty"`
// ProjectID is the id of the Identity project.
ProjectID string `json:"project_id,omitempty"`
// IPVersion is the IP protocol version.
IPVersion int `json:"ip_version"`
Shared bool `json:"shared,omitempty"`
}
CreateOpts specifies parameters of a new address-scope.
func (CreateOpts) ToAddressScopeCreateMap ¶
func (opts CreateOpts) ToAddressScopeCreateMap() (map[string]any, error)
ToAddressScopeCreateMap constructs a request body from CreateOpts.
type CreateOptsBuilder ¶
CreateOptsBuilder allows to add additional parameters to the Create request.
type CreateResult ¶
type CreateResult struct {
// contains filtered or unexported fields
}
CreateResult represents the result of a create operation. Call its Extract method to interpret it as a SubnetPool.
func Create ¶
func Create(ctx context.Context, client *gophercloud.ServiceClient, opts CreateOptsBuilder) (r CreateResult)
Create requests the creation of a new address-scope on the server.
func (CreateResult) Extract ¶
func (r CreateResult) Extract() (*AddressScope, error)
Extract is a function that accepts a result and extracts an address-scope resource.
type DeleteResult ¶
type DeleteResult struct {
gophercloud.ErrResult
}
DeleteResult represents the result of a delete operation. Call its ExtractErr method to determine if the request succeeded or failed.
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 SubnetPool.
func (GetResult) Extract ¶
func (r GetResult) Extract() (*AddressScope, error)
Extract is a function that accepts a result and extracts an address-scope resource.
type ListOpts ¶
type ListOpts struct {
ID string `q:"id"`
Name string `q:"name"`
TenantID string `q:"tenant_id"`
ProjectID string `q:"project_id"`
IPVersion int `q:"ip_version"`
Description string `q:"description"`
Limit int `q:"limit"`
Marker string `q:"marker"`
SortKey string `q:"sort_key"`
SortDir string `q:"sort_dir"`
}
ListOpts allows the filtering and sorting of paginated collections through the Neutron API. Filtering is achieved by passing in struct field values that map to the address-scope attributes you want to see returned. SortKey allows you to sort by a particular address-scope attribute. SortDir sets the direction, and is either `asc' or `desc'. Marker and Limit are used for the pagination.
func (ListOpts) ToAddressScopeListQuery ¶
ToAddressScopeListQuery formats a ListOpts into a query string.
type ListOptsBuilder ¶
ListOptsBuilder allows extensions to add additional parameters to the List request.
type UpdateOpts ¶
type UpdateOpts struct {
// Name is the human-readable name of the address-scope.
Name *string `json:"name,omitempty"`
Shared *bool `json:"shared,omitempty"`
}
UpdateOpts represents options used to update an address-scope.
func (UpdateOpts) ToAddressScopeUpdateMap ¶
func (opts UpdateOpts) ToAddressScopeUpdateMap() (map[string]any, error)
ToAddressScopeUpdateMap builds a request body from UpdateOpts.
type UpdateOptsBuilder ¶
UpdateOptsBuilder allows extensions to add additional parameters to the Update request.
type UpdateResult ¶
type UpdateResult struct {
// contains filtered or unexported fields
}
UpdateResult represents the result of an update operation. Call its Extract method to interpret it as an AddressScope.
func Update ¶
func Update(ctx context.Context, c *gophercloud.ServiceClient, addressScopeID string, opts UpdateOptsBuilder) (r UpdateResult)
Update accepts a UpdateOpts struct and updates an existing address-scope using the values provided.
func (UpdateResult) Extract ¶
func (r UpdateResult) Extract() (*AddressScope, error)
Extract is a function that accepts a result and extracts an address-scope resource.