Documentation ¶
Overview ¶
Package zones provides information and interaction with the zone API resource for the OpenStack DNS service.
Example to List Zone Transfer Requests
allPages, err := transferRequests.List(dnsClient, nil).AllPages() if err != nil { panic(err) } allTransferRequests, err := transferRequests.ExtractTransferRequests(allPages) if err != nil { panic(err) } for _, transferRequest := range allTransferRequests { fmt.Printf("%+v\n", transferRequest) }
Example to Create a Zone Transfer Request
zoneID := "99d10f68-5623-4491-91a0-6daafa32b60e" targetProjectID := "f977bd7c-6485-4385-b04f-b5af0d186fcc" createOpts := transferRequests.CreateOpts{ TargetProjectID: targetProjectID, Description: "This is a zone transfer request.", } transferRequest, err := transferRequests.Create(dnsClient, zoneID, createOpts).Extract() if err != nil { panic(err) }
Example to Delete a Zone Transfer Request
transferID := "99d10f68-5623-4491-91a0-6daafa32b60e" err := transferRequests.Delete(dnsClient, transferID).ExtractErr() if err != nil { panic(err) }
Index ¶
- func List(client *gophercloud.ServiceClient, opts ListOptsBuilder) pagination.Pager
- type CreateOpts
- type CreateOptsBuilder
- type CreateResult
- type DeleteResult
- type GetResult
- type ListOpts
- type ListOptsBuilder
- type TransferRequest
- type TransferRequestPage
- type UpdateOpts
- type UpdateOptsBuilder
- type UpdateResult
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func List ¶
func List(client *gophercloud.ServiceClient, opts ListOptsBuilder) pagination.Pager
List implements a transfer request List request.
Types ¶
type CreateOpts ¶
type CreateOpts struct { // TargetProjectID is ID that the request will be limited to. No other project // will be allowed to accept this request. TargetProjectID string `json:"target_project_id,omitempty"` // Description of the transfer request. Description string `json:"description,omitempty"` }
CreateOpts specifies the attributes used to create a transfer request.
func (CreateOpts) ToTransferRequestCreateMap ¶
func (opts CreateOpts) ToTransferRequestCreateMap() (map[string]interface{}, error)
ToTransferRequestCreateMap formats an CreateOpts structure into a request body.
type CreateOptsBuilder ¶
CreateOptsBuilder allows extensions to add additional attributes to the Create request.
type CreateResult ¶
type CreateResult struct {
// contains filtered or unexported fields
}
CreateResult is the result of a Create request. Call its Extract method to interpret the result as a TransferRequest.
func Create ¶
func Create(client *gophercloud.ServiceClient, zoneID string, opts CreateOptsBuilder) (r CreateResult)
Create implements a transfer request create request.
func (CreateResult) Extract ¶
func (r CreateResult) Extract() (*TransferRequest, error)
Extract interprets a GetResult, CreateResult or UpdateResult as a TransferRequest. An error is returned if the original call or the extraction failed.
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, transferID string) (r DeleteResult)
Delete implements a transfer request delete request.
type GetResult ¶
type GetResult struct {
// contains filtered or unexported fields
}
GetResult is the result of a Get request. Call its Extract method to interpret the result as a TransferRequest.
func Get ¶
func Get(client *gophercloud.ServiceClient, transferRequestID string) (r GetResult)
Get returns information about a transfer request, given its ID.
func (GetResult) Extract ¶
func (r GetResult) Extract() (*TransferRequest, error)
Extract interprets a GetResult, CreateResult or UpdateResult as a TransferRequest. An error is returned if the original call or the extraction failed.
type ListOpts ¶
type ListOpts struct {
Status string `q:"status"`
}
ListOpts allows the filtering and sorting of paginated collections through the API. Filtering is achieved by passing in struct field values that map to the server attributes you want to see returned. https://developer.openstack.org/api-ref/dns/
func (ListOpts) ToTransferRequestListQuery ¶
ToTransferRequestListQuery formats a ListOpts into a query string.
type ListOptsBuilder ¶
ListOptsBuilder allows extensions to add parameters to the List request.
type TransferRequest ¶
type TransferRequest struct { // ID uniquely identifies this transfer request zone amongst all other transfer requests, // including those not accessible to the current tenant. ID string `json:"id"` // ZoneID is the ID for the zone that is being exported. ZoneID string `json:"zone_id"` // Name is the name of the zone that is being exported. ZoneName string `json:"zone_name"` // ProjectID identifies the project/tenant owning this resource. ProjectID string `json:"project_id"` // TargetProjectID identifies the project/tenant to transfer this resource. TargetProjectID string `json:"target_project_id"` // Key is used as part of the zone transfer accept process. // This is only shown to the creator, and must be communicated out of band. Key string `json:"key"` // Description for the resource. Description string `json:"description"` // Status is the status of the resource. Status string `json:"status"` // CreatedAt is the date when the zone transfer request was created. CreatedAt time.Time `json:"-"` // UpdatedAt is the date when the last change was made to the zone transfer request. UpdatedAt time.Time `json:"-"` // Links includes HTTP references to the itself, useful for passing along // to other APIs that might want a server reference. Links map[string]interface{} `json:"links"` }
TransferRequest represents a Zone transfer request task.
func ExtractTransferRequests ¶
func ExtractTransferRequests(r pagination.Page) ([]TransferRequest, error)
ExtractTransferRequests extracts a slice of TransferRequest from a List result.
func (*TransferRequest) UnmarshalJSON ¶
func (r *TransferRequest) UnmarshalJSON(b []byte) error
type TransferRequestPage ¶
type TransferRequestPage struct {
pagination.LinkedPageBase
}
TransferRequestPage is a single page of TransferRequest results.
func (TransferRequestPage) IsEmpty ¶
func (r TransferRequestPage) IsEmpty() (bool, error)
IsEmpty returns true if the page contains no results.
type UpdateOpts ¶
type UpdateOpts struct { // TargetProjectID is ID that the request will be limited to. No other project // will be allowed to accept this request. TargetProjectID string `json:"target_project_id,omitempty"` // Description of the transfer request. Description string `json:"description,omitempty"` }
UpdateOpts specifies the attributes to update a transfer request.
func (UpdateOpts) ToTransferRequestUpdateMap ¶
func (opts UpdateOpts) ToTransferRequestUpdateMap() (map[string]interface{}, error)
ToTransferRequestUpdateMap formats an UpdateOpts structure into a request body.
type UpdateOptsBuilder ¶
UpdateOptsBuilder allows extensions to add additional attributes 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 the result as a TransferRequest.
func Update ¶
func Update(client *gophercloud.ServiceClient, transferID string, opts UpdateOptsBuilder) (r UpdateResult)
Update implements a transfer request update request.
func (UpdateResult) Extract ¶
func (r UpdateResult) Extract() (*TransferRequest, error)
Extract interprets a GetResult, CreateResult or UpdateResult as a TransferRequest. An error is returned if the original call or the extraction failed.