address

package
v0.3.17 Latest Latest
Warning

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

Go to latest
Published: Mar 19, 2021 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Overview

Package address implements API functions residing under /ipam/address. This path contains methods for managing IPs.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type API

type API interface {
	List(ctx context.Context, page, limit int, search string) ([]Summary, error)
	Get(ctx context.Context, id string) (Address, error)
	Delete(ctx context.Context, id string) error
	Create(ctx context.Context, create Create) (Summary, error)
	Update(ctx context.Context, id string, update Update) (Summary, error)
	ReserveRandom(ctx context.Context, reserve ReserveRandom) (ReserveRandomSummary, error)
}

API contains methods for IP manipulation.

func NewAPI

func NewAPI(c client.Client) API

NewAPI creates a new IP API instance with the given client.

type Address

type Address struct {
	ID                  string `json:"identifier"`
	Name                string `json:"name"`
	DescriptionCustomer string `json:"description_customer"`
	DescriptionInternal string `json:"description_internal"`
	Role                string `json:"role_text"`
	Version             int    `json:"version"`
	Status              string `json:"status"`
	VLANID              string `json:"vlan"`
	PrefixID            string `json:"prefix"`
}

Address contains all the information about a specific address.

type Create added in v0.3.3

type Create struct {
	PrefixID            string `json:"prefix"`
	Address             string `json:"name"`
	DescriptionCustomer string `json:"description_customer"`
	Role                string `json:"role"`
	Organization        string `json:"organization"`
}

Create defines meta data of an address to create.

func NewCreate added in v0.3.3

func NewCreate(prefixID string, address string) Create

NewCreate creates a new address definition with required vlaues.

type ReserveRandom added in v0.3.8

type ReserveRandom struct {
	LocationID string `json:"location_identifier"`
	VlanID     string `json:"vlan_identifier"`
	Count      int    `json:"count"`
}

ReserveRandom defines metadata of addresses to reserve randomly.

type ReserveRandomSummary added in v0.3.8

type ReserveRandomSummary struct {
	Limit      int          `json:"limit"`
	Page       int          `json:"page"`
	TotalItems int          `json:"total_items"`
	TotalPages int          `json:"total_pages"`
	Data       []ReservedIP `json:"data"`
}

ReserveRandomSummary is the reserved IPs information returned by list request.

type ReservedIP added in v0.3.8

type ReservedIP struct {
	ID      string `json:"identifier"`
	Address string `json:"text"`
	Prefix  string `json:"prefix"`
}

ReservedIP returns details about reserved ip.

type Summary

type Summary struct {
	ID                  string `json:"identifier"`
	Name                string `json:"name"`
	DescriptionCustomer string `json:"description_customer"`
	Role                string `json:"role_text"`
}

Summary is the address information returned by a listing.

type Update added in v0.3.3

type Update struct {
	Name                string `json:"name,omitempty"`
	DescriptionCustomer string `json:"description_customer,omitempty"`
	Role                string `json:"role,omitempty"`
}

Update contains fields to change on a prefix.

Jump to

Keyboard shortcuts

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