flexibleip

package
v1.0.0-beta.14 Latest Latest
Warning

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

Go to latest
Published: Mar 7, 2023 License: Apache-2.0 Imports: 14 Imported by: 1

Documentation

Overview

Package flexibleip provides methods and message types of the flexibleip v1alpha1 API.

Index

Constants

View Source
const (
	FlexibleIPStatusUnknown   = FlexibleIPStatus("unknown")
	FlexibleIPStatusReady     = FlexibleIPStatus("ready")
	FlexibleIPStatusUpdating  = FlexibleIPStatus("updating")
	FlexibleIPStatusAttached  = FlexibleIPStatus("attached")
	FlexibleIPStatusError     = FlexibleIPStatus("error")
	FlexibleIPStatusDetaching = FlexibleIPStatus("detaching")
	FlexibleIPStatusLocked    = FlexibleIPStatus("locked")
)
View Source
const (
	ListFlexibleIPsRequestOrderByCreatedAtAsc  = ListFlexibleIPsRequestOrderBy("created_at_asc")
	ListFlexibleIPsRequestOrderByCreatedAtDesc = ListFlexibleIPsRequestOrderBy("created_at_desc")
)
View Source
const (
	MACAddressStatusUnknown  = MACAddressStatus("unknown")
	MACAddressStatusReady    = MACAddressStatus("ready")
	MACAddressStatusUpdating = MACAddressStatus("updating")
	MACAddressStatusUsed     = MACAddressStatus("used")
	MACAddressStatusError    = MACAddressStatus("error")
	MACAddressStatusDeleting = MACAddressStatus("deleting")
)
View Source
const (
	MACAddressTypeUnknownType = MACAddressType("unknown_type")
	MACAddressTypeVmware      = MACAddressType("vmware")
	MACAddressTypeXen         = MACAddressType("xen")
	MACAddressTypeKvm         = MACAddressType("kvm")
)

Variables

This section is empty.

Functions

This section is empty.

Types

type API

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

API: flexible IP API.

func NewAPI

func NewAPI(client *scw.Client) *API

NewAPI returns a API object from a Scaleway client.

func (*API) AttachFlexibleIP

func (s *API) AttachFlexibleIP(req *AttachFlexibleIPRequest, opts ...scw.RequestOption) (*AttachFlexibleIPsResponse, error)

AttachFlexibleIP: attach a Flexible IP to a server.

func (*API) CreateFlexibleIP

func (s *API) CreateFlexibleIP(req *CreateFlexibleIPRequest, opts ...scw.RequestOption) (*FlexibleIP, error)

CreateFlexibleIP: create a Flexible IP.

func (*API) DeleteFlexibleIP

func (s *API) DeleteFlexibleIP(req *DeleteFlexibleIPRequest, opts ...scw.RequestOption) error

DeleteFlexibleIP: delete a Flexible IP.

func (*API) DeleteMACAddr

func (s *API) DeleteMACAddr(req *DeleteMACAddrRequest, opts ...scw.RequestOption) error

DeleteMACAddr: remove a virtual MAC from a Flexible IP.

func (*API) DetachFlexibleIP

func (s *API) DetachFlexibleIP(req *DetachFlexibleIPRequest, opts ...scw.RequestOption) (*DetachFlexibleIPsResponse, error)

DetachFlexibleIP: detach a Flexible IP from a server.

func (*API) DuplicateMACAddr

func (s *API) DuplicateMACAddr(req *DuplicateMACAddrRequest, opts ...scw.RequestOption) (*FlexibleIP, error)

DuplicateMACAddr: duplicate a Virtual MAC from a given Flexible IP onto another attached on the same server.

func (*API) GenerateMACAddr

func (s *API) GenerateMACAddr(req *GenerateMACAddrRequest, opts ...scw.RequestOption) (*FlexibleIP, error)

GenerateMACAddr: generate a virtual MAC on a given Flexible IP.

func (*API) GetFlexibleIP

func (s *API) GetFlexibleIP(req *GetFlexibleIPRequest, opts ...scw.RequestOption) (*FlexibleIP, error)

GetFlexibleIP: get a Flexible IP.

func (*API) ListFlexibleIPs

func (s *API) ListFlexibleIPs(req *ListFlexibleIPsRequest, opts ...scw.RequestOption) (*ListFlexibleIPsResponse, error)

ListFlexibleIPs: list Flexible IPs.

func (*API) MoveMACAddr

func (s *API) MoveMACAddr(req *MoveMACAddrRequest, opts ...scw.RequestOption) (*FlexibleIP, error)

func (*API) UpdateFlexibleIP

func (s *API) UpdateFlexibleIP(req *UpdateFlexibleIPRequest, opts ...scw.RequestOption) (*FlexibleIP, error)

UpdateFlexibleIP: update a Flexible IP.

func (*API) WaitForFlexibleIP

func (s *API) WaitForFlexibleIP(req *WaitForFlexibleIPRequest, opts ...scw.RequestOption) (*FlexibleIP, error)

WaitForFlexibleIP waits for the FlexibleIP to be in a ready state before returning.

func (*API) Zones

func (s *API) Zones() []scw.Zone

Zones list localities the api is available in

type AttachFlexibleIPRequest

type AttachFlexibleIPRequest struct {
	// Zone: zone to target. If none is passed will use default zone from the config.
	Zone scw.Zone `json:"-"`
	// FipsIDs: multiple IDs can be provided as long as Flexible IPs belong to the same MAC groups (see details about MAC groups).
	FipsIDs []string `json:"fips_ids"`
	// ServerID: a server ID on which to attach the Flexible IPs.
	ServerID string `json:"server_id"`
}

type AttachFlexibleIPsResponse

type AttachFlexibleIPsResponse struct {
	// TotalCount: total count of Flexible IPs being updated.
	TotalCount uint32 `json:"total_count"`
	// FlexibleIPs: listing of Flexible IPs in updating state.
	FlexibleIPs []*FlexibleIP `json:"flexible_ips"`
}

AttachFlexibleIPsResponse: attach flexible i ps response.

type CreateFlexibleIPRequest

type CreateFlexibleIPRequest struct {
	// Zone: zone to target. If none is passed will use default zone from the config.
	Zone scw.Zone `json:"-"`
	// ProjectID: ID of the project to associate with the Flexible IP.
	ProjectID string `json:"project_id"`
	// Description: description to associate with the Flexible IP, max 255 characters.
	Description string `json:"description"`
	// Tags: tags to associate to the Flexible IP.
	Tags []string `json:"tags"`
	// ServerID: server ID on which to attach the created Flexible IP.
	ServerID *string `json:"server_id"`
	// Reverse: reverse DNS value.
	Reverse *string `json:"reverse"`
	// IsIPv6: if true, creates a Flexible IP with an ipv6 address.
	IsIPv6 bool `json:"is_ipv6"`
}

type DeleteFlexibleIPRequest

type DeleteFlexibleIPRequest struct {
	// Zone: zone to target. If none is passed will use default zone from the config.
	Zone scw.Zone `json:"-"`
	// FipID: ID of the Flexible IP to delete.
	FipID string `json:"-"`
}

type DeleteMACAddrRequest

type DeleteMACAddrRequest struct {
	// Zone: zone to target. If none is passed will use default zone from the config.
	Zone scw.Zone `json:"-"`
	// FipID: if the Flexible IP belongs to a MAC group, the MAC will be removed from the MAC group and from the Flexible IP.
	FipID string `json:"-"`
}

type DetachFlexibleIPRequest

type DetachFlexibleIPRequest struct {
	// Zone: zone to target. If none is passed will use default zone from the config.
	Zone scw.Zone `json:"-"`
	// FipsIDs: multiple IDs can be provided as long as Flexible IPs belong to the same MAC groups (see details about MAC groups).
	FipsIDs []string `json:"fips_ids"`
}

type DetachFlexibleIPsResponse

type DetachFlexibleIPsResponse struct {
	// TotalCount: total count of Flexible IPs being detached.
	TotalCount uint32 `json:"total_count"`
	// FlexibleIPs: listing of Flexible IPs in detaching state.
	FlexibleIPs []*FlexibleIP `json:"flexible_ips"`
}

DetachFlexibleIPsResponse: detach flexible i ps response.

type DuplicateMACAddrRequest

type DuplicateMACAddrRequest struct {
	// Zone: zone to target. If none is passed will use default zone from the config.
	Zone scw.Zone `json:"-"`
	// FipID: flexible IPs need to be attached to the same server.
	FipID string `json:"-"`
	// DuplicateFromFipID: flexible IPs need to be attached to the same server.
	DuplicateFromFipID string `json:"duplicate_from_fip_id"`
}

type FlexibleIP

type FlexibleIP struct {
	// ID: ID of the Flexible IP.
	ID string `json:"id"`
	// OrganizationID: organization ID the Flexible IP is attached to.
	OrganizationID string `json:"organization_id"`
	// ProjectID: project ID the Flexible IP is attached to.
	ProjectID string `json:"project_id"`
	// Description: description of the Flexible IP.
	Description string `json:"description"`
	// Tags: tags associated with the Flexible IP.
	Tags []string `json:"tags"`
	// UpdatedAt: date of last update of the Flexible IP.
	UpdatedAt *time.Time `json:"updated_at"`
	// CreatedAt: date of creation of the Flexible IP.
	CreatedAt *time.Time `json:"created_at"`
	// Status: - ready : Flexible IP is created and ready to be attached to a server or to have a virtual MAC generated.
	// - updating: Flexible IP is being attached to a server or a virtual MAC operation is ongoing
	// - attached: Flexible IP is attached to a server
	// - error: a Flexible IP operation resulted in an error
	// - detaching: Flexible IP is being detached from a server
	// - locked: Flexible IP resource is locked.
	// Default value: unknown
	Status FlexibleIPStatus `json:"status"`
	// IPAddress: IP of the Flexible IP.
	IPAddress scw.IPNet `json:"ip_address"`
	// MacAddress: mAC address of the Flexible IP.
	MacAddress *MACAddress `json:"mac_address"`
	// ServerID: ID of the server linked to the Flexible IP.
	ServerID *string `json:"server_id"`
	// Reverse: reverse DNS value.
	Reverse string `json:"reverse"`
	// Zone: flexible IP Availability Zone.
	Zone scw.Zone `json:"zone"`
}

FlexibleIP: flexible ip.

type FlexibleIPStatus

type FlexibleIPStatus string

func (FlexibleIPStatus) MarshalJSON

func (enum FlexibleIPStatus) MarshalJSON() ([]byte, error)

func (FlexibleIPStatus) String

func (enum FlexibleIPStatus) String() string

func (*FlexibleIPStatus) UnmarshalJSON

func (enum *FlexibleIPStatus) UnmarshalJSON(data []byte) error

type GenerateMACAddrRequest

type GenerateMACAddrRequest struct {
	// Zone: zone to target. If none is passed will use default zone from the config.
	Zone scw.Zone `json:"-"`
	// FipID: flexible IP ID on which to generate a Virtual MAC.
	FipID string `json:"-"`
	// MacType: tODO.
	// Default value: unknown_type
	MacType MACAddressType `json:"mac_type"`
}

type GetFlexibleIPRequest

type GetFlexibleIPRequest struct {
	// Zone: zone to target. If none is passed will use default zone from the config.
	Zone scw.Zone `json:"-"`
	// FipID: flexible IP ID.
	FipID string `json:"-"`
}

type ListFlexibleIPsRequest

type ListFlexibleIPsRequest struct {
	// Zone: zone to target. If none is passed will use default zone from the config.
	Zone scw.Zone `json:"-"`
	// OrderBy: the sort order of the returned Flexible IPs.
	// Default value: created_at_asc
	OrderBy ListFlexibleIPsRequestOrderBy `json:"-"`
	// Page: the page number for the returned Flexible IPs.
	Page *int32 `json:"-"`
	// PageSize: the maximum number of Flexible IPs per page.
	PageSize *uint32 `json:"-"`
	// Tags: filter Flexible IPs with one or more matching tags.
	Tags []string `json:"-"`
	// Status: filter Flexible IPs by status.
	Status []FlexibleIPStatus `json:"-"`
	// ServerIDs: filter Flexible IPs by server IDs.
	ServerIDs []string `json:"-"`
	// OrganizationID: filter Flexible IPs by organization ID.
	OrganizationID *string `json:"-"`
	// ProjectID: filter Flexible IPs by project ID.
	ProjectID *string `json:"-"`
}

type ListFlexibleIPsRequestOrderBy

type ListFlexibleIPsRequestOrderBy string

func (ListFlexibleIPsRequestOrderBy) MarshalJSON

func (enum ListFlexibleIPsRequestOrderBy) MarshalJSON() ([]byte, error)

func (ListFlexibleIPsRequestOrderBy) String

func (enum ListFlexibleIPsRequestOrderBy) String() string

func (*ListFlexibleIPsRequestOrderBy) UnmarshalJSON

func (enum *ListFlexibleIPsRequestOrderBy) UnmarshalJSON(data []byte) error

type ListFlexibleIPsResponse

type ListFlexibleIPsResponse struct {
	// TotalCount: total count of matching Flexible IPs.
	TotalCount uint32 `json:"total_count"`
	// FlexibleIPs: listing of Flexible IPs.
	FlexibleIPs []*FlexibleIP `json:"flexible_ips"`
}

ListFlexibleIPsResponse: list flexible i ps response.

func (*ListFlexibleIPsResponse) UnsafeAppend

func (r *ListFlexibleIPsResponse) UnsafeAppend(res interface{}) (uint32, error)

UnsafeAppend should not be used Internal usage only

func (*ListFlexibleIPsResponse) UnsafeGetTotalCount

func (r *ListFlexibleIPsResponse) UnsafeGetTotalCount() uint32

UnsafeGetTotalCount should not be used Internal usage only

type MACAddress

type MACAddress struct {
	// ID: ID of the Flexible IP.
	ID string `json:"id"`
	// MacAddress: mAC address of the Virtual MAC.
	MacAddress string `json:"mac_address"`
	// MacType: virtual MAC type.
	// Default value: unknown_type
	MacType MACAddressType `json:"mac_type"`
	// Status: virtual MAC status.
	// Default value: unknown
	Status MACAddressStatus `json:"status"`
	// UpdatedAt: date of last update of the Virtual MAC.
	UpdatedAt *time.Time `json:"updated_at"`
	// CreatedAt: date of creation of the Virtual MAC.
	CreatedAt *time.Time `json:"created_at"`
	// Zone: mAC Addr IP Availability Zone.
	Zone scw.Zone `json:"zone"`
}

MACAddress: mac address.

type MACAddressStatus

type MACAddressStatus string

func (MACAddressStatus) MarshalJSON

func (enum MACAddressStatus) MarshalJSON() ([]byte, error)

func (MACAddressStatus) String

func (enum MACAddressStatus) String() string

func (*MACAddressStatus) UnmarshalJSON

func (enum *MACAddressStatus) UnmarshalJSON(data []byte) error

type MACAddressType

type MACAddressType string

func (MACAddressType) MarshalJSON

func (enum MACAddressType) MarshalJSON() ([]byte, error)

func (MACAddressType) String

func (enum MACAddressType) String() string

func (*MACAddressType) UnmarshalJSON

func (enum *MACAddressType) UnmarshalJSON(data []byte) error

type MoveMACAddrRequest

type MoveMACAddrRequest struct {
	// Zone: zone to target. If none is passed will use default zone from the config.
	Zone scw.Zone `json:"-"`

	FipID string `json:"-"`

	DstFipID string `json:"dst_fip_id"`
}

type UpdateFlexibleIPRequest

type UpdateFlexibleIPRequest struct {
	// Zone: zone to target. If none is passed will use default zone from the config.
	Zone scw.Zone `json:"-"`
	// FipID: ID of the Flexible IP to update.
	FipID string `json:"-"`
	// Description: description to associate with the Flexible IP, max 255 characters.
	Description *string `json:"description"`
	// Tags: tags to associate with the Flexible IP.
	Tags *[]string `json:"tags"`
	// Reverse: reverse DNS value.
	Reverse *string `json:"reverse"`
}

type WaitForFlexibleIPRequest

type WaitForFlexibleIPRequest struct {
	FipID         string
	Zone          scw.Zone
	Timeout       *time.Duration
	RetryInterval *time.Duration
}

WaitForFlexibleIPRequest is used by WaitForFlexibleIP method.

Jump to

Keyboard shortcuts

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