vins

package
v1.4.1 Latest Latest
Warning

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

Go to latest
Published: May 4, 2023 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Overview

API Actor for managing VINS. This actor is a final API for endusers to manage VINS

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AuditsRequest

type AuditsRequest struct {
	// ID of the VINS
	// Required: true
	VINSID uint64 `url:"vinsId" json:"vinsId" validate:"required"`
}

Request struct for get audits

type CreateInAccountRequest

type CreateInAccountRequest struct {
	// VINS name
	// Required: true
	Name string `url:"name" json:"name" validate:"required"`

	// ID of account
	// Required: true
	AccountID uint64 `url:"accountId" json:"accountId" validate:"required"`

	// Grid ID
	// Required: false
	GID uint64 `url:"gid,omitempty" json:"gid,omitempty"`

	// Private network IP CIDR
	// Required: false
	IPCIDR string `url:"ipcidr,omitempty" json:"ipcidr,omitempty"`

	// Description
	// Required: false
	Description string `url:"desc,omitempty" json:"desc,omitempty"`

	// Number of pre created reservations
	// Required: false
	PreReservationsNum uint64 `url:"preReservationsNum,omitempty" json:"preReservationsNum,omitempty"`
}

Request struct for create VINS in account

type CreateInRGRequest

type CreateInRGRequest struct {
	// VINS name
	// Required: true
	Name string `url:"name" json:"name" validate:"required"`

	// Resource group ID
	// Required: true
	RGID uint64 `url:"rgId" json:"rgId" validate:"required"`

	// Private network IP CIDR
	// Required: false
	IPCIDR string `url:"ipcidr,omitempty" json:"ipcidr,omitempty" validate:"required"`

	// External network ID
	// Required: false
	ExtNetID uint64 `url:"extNetId,omitempty" json:"extNetId,omitempty"`

	// External IP, related only for extNetId >= 0
	// Required: false
	ExtIP string `url:"extIp,omitempty" json:"extIp,omitempty"`

	// Description
	// Required: false
	Description string `url:"desc,omitempty" json:"desc,omitempty"`

	// Number of pre created reservations
	// Required: false
	PreReservationsNum uint `url:"preReservationsNum,omitempty" json:"preReservationsNum,omitempty"`
}

Request struct for create VINS in resource group

type DeleteRequest

type DeleteRequest struct {
	// VINS ID
	// Required: true
	VINSID uint64 `url:"vinsId" json:"vinsId" validate:"required"`

	// Set to True if you want force delete non-empty VINS.
	// Primarily, VINS is considered non-empty if it has virtual machines connected to it,
	// and force flag will detach them from the VINS being deleted.
	// Otherwise method will return an error
	// Required: false
	Force bool `url:"force,omitempty" json:"force,omitempty"`

	// Set to True if you want to destroy VINS and all linked resources, if any, immediately.
	// Otherwise, they will be placed into recycle bin and could be restored later within the recycle bin's purge period
	// Required: false
	Permanently bool `url:"permanently,omitempty" json:"permanently,omitempty"`
}

Request struct for delete VINS

type DisableEnableRequest

type DisableEnableRequest struct {
	// VINS ID
	// Required: true
	VINSID uint64 `url:"vinsId" json:"vinsId" validate:"required"`
}

Request struct for disable/enable VINS

type ExtNetConnectRequest

type ExtNetConnectRequest struct {
	// VINS ID
	// Required: true
	VINSID uint64 `url:"vinsId" json:"vinsId" validate:"required"`

	// External network ID
	// Required: false
	NetID uint64 `url:"netId,omitempty" json:"netId,omitempty"`

	// Directly set IP address
	// Required: false
	IP string `url:"ip,omitempty" json:"ip,omitempty"`
}

Request struct for connect external network

type ExtNetDisconnectRequest

type ExtNetDisconnectRequest struct {
	// VINS ID
	// Required: true
	VINSID uint64 `url:"vinsId" json:"vinsId" validate:"required"`
}

Request struct for disconnect VINS from external network

type ExtNetListRequest

type ExtNetListRequest struct {
	// VINS ID
	// Required: true
	VINSID uint64 `url:"vinsId" json:"vinsId" validate:"required"`
}

Request struct for get list VINS external network connections

type GetRequest

type GetRequest struct {
	// VINS ID
	// Required: true
	VINSID uint64 `url:"vinsId" json:"vinsId" validate:"required"`
}

Request struct for get information about VINS

type IPListRequest

type IPListRequest struct {
	// VINS ID
	// Required: true
	VINSID uint64 `url:"vinsId" json:"vinsId" validate:"required"`
}

Request struct for DHCP IP

type IPReleaseRequest

type IPReleaseRequest struct {
	// VINS ID
	// Required: true
	VINSID uint64 `url:"vinsId" json:"vinsId" validate:"required"`

	// IP address
	// Required: false
	IPAddr string `url:"ipAddr,omitempty" json:"ipAddr,omitempty"`

	// MAC address
	// Required: false
	MAC string `url:"mac,omitempty" json:"mac,omitempty"`
}

Request struct for IP relese

type IPReserveRequest

type IPReserveRequest struct {
	// VINS ID
	// Required: true
	VINSID uint64 `url:"vinsId" json:"vinsId" validate:"required"`

	// Type of the reservation
	// Should be one of:
	//	- DHCP
	//	- VIP
	//	- EXCLUDE
	// Required: true
	Type string `url:"type" json:"type" validate:"vinsType"`

	// IP address to use. Non-empty string is required for type "EXCLUDE".
	// Ignored for types "DHCP" and "VIP".
	// Required: false
	IPAddr string `url:"ipAddr,omitempty" json:"ipAddr,omitempty"`

	// MAC address to associate with IP reservation.
	// Ignored for type "EXCLUDE",
	// non-empty string is required for "DHCP" and "VIP"
	// Required: false
	MAC string `url:"mac,omitempty" json:"mac,omitempty"`

	// ID of the compute, associated with this reservation of type "DHCP".
	// Ignored for other types
	// Required: false
	ComputeID uint64 `url:"computeId,omitempty" json:"computeId,omitempty"`
}

Request struct for IP reserve

type ItemAudit

type ItemAudit struct {
	// Call
	Call string `json:"call"`

	// Response time
	ResponseTime float64 `json:"responsetime"`

	// Status code
	StatusCode uint64 `json:"statuscode"`

	// Timestamp
	Timestamp float64 `json:"timestamp"`

	// User
	User string `json:"user"`
}

Main information about audit

type ItemExtNet

type ItemExtNet struct {
	// Default GW
	DefaultGW string `json:"default_gw"`

	// External network ID
	ExtNetID uint64 `json:"ext_net_id"`

	// IP
	IP string `json:"ip"`

	// Prefix len
	PrefixLen uint64 `json:"prefixlen"`

	// Status
	Status string `json:"status"`

	// Tech status
	TechStatus string `json:"techStatus"`
}

Main information about external network

type ItemIP

type ItemIP struct {
	// Client type
	ClientType string `json:"clientType"`

	// Domain name
	DomainName string `json:"domainname"`

	// Hostname
	Hostname string `json:"hostname"`

	// IP
	IP string `json:"ip"`

	// MAC
	MAC string `json:"mac"`

	// Type
	Type string `json:"type"`

	// Virtual machine ID
	VMID uint64 `json:"vmId"`
}

Main information about IP

type ItemNATRule

type ItemNATRule struct {
	// ID
	ID uint64 `json:"id"`

	// Local IP
	LocalIP string `json:"localIp"`

	// Local port
	LocalPort uint64 `json:"localPort"`

	// Protocol
	Protocol string `json:"protocol"`

	// Public port end
	PublicPortEnd uint64 `json:"publicPortEnd"`

	// Public port start
	PublicPortStart uint64 `json:"publicPortStart"`

	// Virtual machine ID
	VMID uint64 `json:"vmId"`

	// Virtual machine name
	VMName string `json:"vmName"`
}

Main information about NAT rule

type ItemReservation

type ItemReservation struct {
	// Client type
	ClientType string `json:"clientType"`

	// Description
	Description string `json:"desc"`

	// Domain name
	DomainName string `json:"domainname"`

	// Hostname
	Hostname string `json:"hostname"`

	// IP
	IP string `json:"ip"`

	// MAC
	MAC string `json:"mac"`

	// Type
	Type string `json:"type"`

	// Virtual machine ID
	VMID uint64 `json:"vmId"`
}

Main information about reservation

type ItemVINS

type ItemVINS struct {
	// Account ID
	AccountID uint64 `json:"accountId"`

	// Account name
	AccountName string `json:"accountName"`

	// Created by
	CreatedBy string `json:"createdBy"`

	// Created time
	CreatedTime uint64 `json:"createdTime"`

	// Deleted by
	DeletedBy string `json:"deletedBy"`

	// Deleted time
	DeletedTime uint64 `json:"deletedTime"`

	// External IP
	ExternalIP string `json:"externalIP"`

	// ID
	ID uint64 `json:"id"`

	// Name
	Name string `json:"name"`

	// Network
	Network string `json:"network"`

	// Resource group ID
	RGID uint64 `json:"rgId"`

	// Resource group name
	RGName string `json:"rgName"`

	// Status
	Status string `json:"status"`

	// Updated by
	UpdatedBy string `json:"updatedBy"`

	// Updated time
	UpdatedTime uint64 `json:"updatedTime"`

	// VXLAN ID
	VXLANID uint64 `json:"vxlanId"`
}

Main information about VINS

func (ItemVINS) Serialize

func (iv ItemVINS) Serialize(params ...string) (serialization.Serialized, error)

Serialize returns JSON-serialized []byte. Used as a wrapper over json.Marshal and json.MarshalIndent functions.

In order to serialize with indent make sure to follow these guidelines:

  • First argument -> prefix
  • Second argument -> indent

type ItemVINSCompute

type ItemVINSCompute struct {
	// ID
	ID uint64 `json:"id"`

	// Name
	Name string `json:"name"`
}

Main information about VINS compute

type ItemVNFInterface

type ItemVNFInterface struct {
	// Connection ID
	ConnID uint64 `json:"connId"`

	// Connection type
	ConnType string `json:"connType"`

	// Default GW
	DefGW string `json:"defGw"`

	// FLIPGroup ID
	FLIPGroupID uint64 `json:"flipgroupId"`

	// GUID
	GUID string `json:"guid"`

	// IP address
	IPAddress string `json:"ipAddress"`

	// Listen SSH
	ListenSSH bool `json:"listenSsh"`

	// MAC
	MAC string `json:"mac"`

	// Name
	Name string `json:"name"`

	// Network type
	NetID uint64 `json:"netId"`

	// Network mask
	NetMask uint64 `json:"netMask"`

	// Network type
	NetType string `json:"netType"`

	// PCI slot
	PCISlot int64 `json:"pciSlot"`

	// QOS
	QOS QOS `json:"qos"`

	// Target
	Target string `json:"target"`

	// Type
	Type string `json:"type"`

	// List of VNF IDs
	VNFs []uint64 `json:"vnfs"`
}

Main information about VNF interface

type ListAudits

type ListAudits []ItemAudit

List of audits

type ListDeletedRequest

type ListDeletedRequest struct {
	// Page number
	// Required: false
	Page uint64 `url:"page,omitempty" json:"page,omitempty"`

	// Page size
	// Required: false
	Size uint64 `url:"size,omitempty" json:"size,omitempty"`
}

Request struct for get list of deleted VINSes

type ListExtNets

type ListExtNets []ItemExtNet

List of external networks

type ListIPs

type ListIPs []ItemIP

List of IPs

type ListNATRules

type ListNATRules []ItemNATRule

List of NAT rules

type ListRequest

type ListRequest struct {
	// Include deleted
	// Required: false
	IncludeDeleted bool `url:"includeDeleted,omitempty" json:"includeDeleted,omitempty"`

	// Page number
	// Required: false
	Page uint64 `url:"page,omitempty" json:"page,omitempty"`

	// Page size
	// Required: false
	Size uint64 `url:"size,omitempty" json:"size,omitempty"`
}

Request struct for get list of VINSes

type ListReservations

type ListReservations []ItemReservation

List of reservations

type ListVINS

type ListVINS []ItemVINS

List of VINSes

func (ListVINS) FilterByAccountID

func (lv ListVINS) FilterByAccountID(accountID uint64) ListVINS

FilterByAccountID returns ListVINS with specified AccountID.

func (ListVINS) FilterByCreatedBy

func (lv ListVINS) FilterByCreatedBy(createdBy string) ListVINS

FilterByCreatedBy returns ListVINS created by specified user.

func (ListVINS) FilterByDeletedBy

func (lv ListVINS) FilterByDeletedBy(deletedBy string) ListVINS

FilterByDeletedBy returns ListVINS deleted by specified user.

func (ListVINS) FilterByID

func (lv ListVINS) FilterByID(id uint64) ListVINS

FilterByID returns ListVINS with specified ID.

func (ListVINS) FilterByName

func (lv ListVINS) FilterByName(name string) ListVINS

FilterByName returns ListVINS with specified Name.

func (ListVINS) FilterByUpdatedBy

func (lv ListVINS) FilterByUpdatedBy(updatedBy string) ListVINS

FilterByUpdatedBy returns ListVINS updated by specified user.

func (ListVINS) FilterFunc

func (lv ListVINS) FilterFunc(predicate func(ItemVINS) bool) ListVINS

FilterFunc allows filtering ListVINS based on a user-specified predicate.

func (ListVINS) FindOne

func (lv ListVINS) FindOne() ItemVINS

FindOne returns first found ItemVINS If none was found, returns an empty struct.

func (ListVINS) Serialize

func (lv ListVINS) Serialize(params ...string) (serialization.Serialized, error)

Serialize returns JSON-serialized []byte. Used as a wrapper over json.Marshal and json.MarshalIndent functions.

In order to serialize with indent make sure to follow these guidelines:

  • First argument -> prefix
  • Second argument -> indent

func (ListVINS) SortByCreatedTime

func (lv ListVINS) SortByCreatedTime(inverse bool) ListVINS

SortByCreatedTime sorts ListVINS by the CreatedTime field in ascending order.

If inverse param is set to true, the order is reversed.

func (ListVINS) SortByDeletedTime

func (lv ListVINS) SortByDeletedTime(inverse bool) ListVINS

SortByDeletedTime sorts ListVINS by the DeletedTime field in ascending order.

If inverse param is set to true, the order is reversed.

func (ListVINS) SortByUpdatedTime

func (lv ListVINS) SortByUpdatedTime(inverse bool) ListVINS

SortByUpdatedTime sorts ListVINS by the UpdatedTime field in ascending order.

If inverse param is set to true, the order is reversed.

type ListVINSComputes

type ListVINSComputes []ItemVINSCompute

List of VINS computes

type ListVNFInterfaces

type ListVNFInterfaces []ItemVNFInterface

List of VNF interfaces

type NATConfig

type NATConfig struct {
	// Network mask
	NetMask uint64 `json:"netmask"`

	// Network
	Network string `json:"network"`

	// List NAT rules
	Rules ListNATRules `json:"rules"`
}

NAT configuration

type NATRuleAddRequest

type NATRuleAddRequest struct {
	// VINS ID
	// Required: true
	VINSID uint64 `url:"vinsId" json:"vinsId" validate:"required"`

	// Internal IP address to apply this rule to
	// Required: true
	IntIP string `url:"intIp" json:"intIp" validate:"required"`

	// Internal IP port number to use for this rule
	// Required: true
	IntPort uint `url:"intPort" json:"intPort" validate:"required"`

	// External IP start port to use for this rule
	// Required: true
	ExtPortStart uint `url:"extPortStart" json:"extPortStart" validate:"required"`

	// External IP end port to use for this rule
	// Required: false
	ExtPortEnd uint `url:"extPortEnd,omitempty" json:"extPortEnd,omitempty"`

	// IP protocol type
	// Should be one of:
	//	- "tcp"
	//	- "udp"
	// Required: false
	Proto string `url:"proto,omitempty" json:"proto,omitempty" validate:"omitempty,proto"`
}

Request struct for create NAT rules

type NATRuleDelRequest

type NATRuleDelRequest struct {
	// VINS ID
	// Required: true
	VINSID uint64 `url:"vinsId" json:"vinsId" validate:"required"`

	// ID of the rule to delete.
	// Pass -1 to clear all rules at once
	// Required: true
	RuleID uint64 `url:"ruleId" json:"ruleId" validate:"required"`
}

Request struct for delete NAT rule

type NATRuleListRequest

type NATRuleListRequest struct {
	// VINS ID
	// Required: true
	VINSID uint64 `url:"vinsId" json:"vinsId" validate:"required"`
}

Request struct for get list of NAT rules

type QOS

type QOS struct {
	// ERate
	ERate uint64 `json:"eRate"`

	// GUID
	GUID string `json:"guid"`

	// InBurst
	InBurst uint64 `json:"inBurst"`

	// InRate
	InRate uint64 `json:"inRate"`
}

Main information about QOS

type RecordDHCP

type RecordDHCP struct {
	// CKey
	CKey string `json:"_ckey"`

	// Account ID
	AccountID uint64 `json:"accountId"`

	// Config
	Config RecordDHCPConfig `json:"config"`

	// Created time
	CreatedTime uint64 `json:"createdTime"`

	// Detailed information about devices
	Devices RecordDevices `json:"devices"`

	// Grid ID
	GID uint64 `json:"gid"`

	// GUID
	GUID uint64 `json:"guid"`

	// ID
	ID uint64 `json:"id"`

	// Lock status
	LockStatus string `json:"lockStatus"`

	// Milestones
	Milestones uint64 `json:"milestones"`

	// Owner ID
	OwnerID uint64 `json:"ownerId"`

	// Owner type
	OwnerType string `json:"ownerType"`

	// Pure virtual
	PureVirtual bool `json:"pureVirtual"`

	// Status
	Status string `json:"status"`

	// Tech status
	TechStatus string `json:"techStatus"`

	// Type
	Type string `json:"type"`
}

Main information about DHCP

type RecordDHCPConfig

type RecordDHCPConfig struct {
	// Default GW
	DefaultGW string `json:"default_gw"`

	// List of DNS
	DNS []string `json:"dns"`

	// IP end
	IPEnd string `json:"ip_end"`

	// IP start
	IPStart string `json:"ip_start"`

	// Lease
	Lease uint64 `json:"lease"`

	// Network mask
	NetMask uint64 `json:"netmask"`

	// Network
	Network string `json:"network"`

	// List of reservations
	Reservations ListReservations `json:"reservations"`
}

DHCP configuration

type RecordDevices

type RecordDevices struct {
	// Main information about primary device
	Primary RecordPrimary `json:"primary"`
}

Information about devices

type RecordGW

type RecordGW struct {
	// CKey
	CKey string `json:"_ckey"`

	// Account ID
	AccountID uint64 `json:"accountId"`

	// Config
	Config RecordGWConfig `json:"config"`

	// Created time
	CreatedTime uint64 `json:"createdTime"`

	// Detailed information about devices
	Devices RecordDevices `json:"devices"`

	// Grid ID
	GID uint64 `json:"gid"`

	// GUID
	GUID uint64 `json:"guid"`

	// ID
	ID uint64 `json:"id"`

	// Lock status
	LockStatus string `json:"lockStatus"`

	// Milestones
	Milestones uint64 `json:"milestones"`

	// Owner ID
	OwnerID uint64 `json:"ownerId"`

	// Owner type
	OwnerType string `json:"ownerType"`

	// Pure virtual
	PureVirtual bool `json:"pureVirtual"`

	// Status
	Status string `json:"status"`

	// Tech status
	TechStatus string `json:"techStatus"`

	// Type
	Type string `json:"type"`
}

Main information about GW

type RecordGWConfig

type RecordGWConfig struct {
	// Default GW
	DefaultGW string `json:"default_gw"`

	// External network ID
	ExtNetID uint64 `json:"ext_net_id"`

	// External network IP
	ExtNetIP string `json:"ext_net_ip"`

	// External network mask
	ExtNetMask uint64 `json:"ext_netmask"`

	// QOS
	QOS QOS `json:"qos"`
}

GW configuration

type RecordMGMT

type RecordMGMT struct {
	// IP address
	IPAddress string `json:"ipaddr"`

	// Password
	Password string `json:"password"`

	// SSH key
	SSHKey string `json:"sshkey"`

	// User
	User string `json:"user"`
}

Main information about MGMT

type RecordNAT

type RecordNAT struct {
	// CKey
	CKey string `json:"_ckey"`

	// Account ID
	AccountID uint64 `json:"accountId"`

	// Config
	Config NATConfig `json:"config"`

	// Created time
	CreatedTime uint64 `json:"createdTime"`

	// Detailed information about devices
	Devices RecordDevices `json:"devices"`

	// Grid ID
	GID uint64 `json:"gid"`

	// GUID
	GUID uint64 `json:"guid"`

	// ID
	ID uint64 `json:"id"`

	// Lock status
	LockStatus string `json:"lockStatus"`

	// Milestones
	Milestones uint64 `json:"milestones"`

	// Owner ID
	OwnerID uint64 `json:"ownerId"`

	// Owner type
	OwnerType string `json:"ownerType"`

	// Pure virtual
	PureVirtual bool `json:"pureVirtual"`

	// Status
	Status string `json:"status"`

	// Tech status
	TechStatus string `json:"techStatus"`

	// Type
	Type string `json:"type"`
}

Main information about NAT

type RecordPrimary

type RecordPrimary struct {
	// Device ID
	DevID uint64 `json:"devId"`

	// IFace01
	IFace01 string `json:"iface01"`

	// IFace02
	IFace02 string `json:"iface02"`
}

Main information about primary device

type RecordResources

type RecordResources struct {
	// Number of CPU
	CPU uint64 `json:"cpu"`

	// Number of RAM
	RAM uint64 `json:"ram"`

	// Stack ID
	StackID uint64 `json:"stackId"`

	// UUID
	UUID string `json:"uuid"`
}

Main information about resource

type RecordVINS

type RecordVINS struct {
	// Main information about VNF device
	VNFDev RecordVNFDev `json:"VNFDev"`

	// CKey
	CKey string `json:"_ckey"`

	// Account ID
	AccountID uint64 `json:"accountId"`

	// Account name
	AccountName string `json:"accountName"`

	// List of VINS computes
	Computes ListVINSComputes `json:"computes"`

	// Default GW
	DefaultGW string `json:"defaultGW"`

	// Default QOS
	DefaultQOS QOS `json:"defaultQos"`

	// Description
	Description string `json:"desc"`

	// Grid ID
	GID uint64 `json:"gid"`

	// GUID
	GUID uint64 `json:"guid"`

	// ID
	ID uint64 `json:"id"`

	// Lock status
	LockStatus string `json:"lockStatus"`

	// Manager ID
	ManagerID uint64 `json:"managerId"`

	// Manager type
	ManagerType string `json:"managerType"`

	// Milestones
	Milestones uint64 `json:"milestones"`

	// Name
	Name string `json:"name"`

	// Network mask
	NetMask uint64 `json:"netMask"`

	// Network
	Network string `json:"network"`

	// Pre reservaions number
	PreReservaionsNum uint64 `json:"preReservationsNum"`

	// Redundant
	Redundant bool `json:"redundant"`

	// Resource group ID
	RGID uint64 `json:"rgId"`

	// Resource group name
	RGName string `json:"rgName"`

	// SecVNFDevID
	SecVNFDevID uint64 `json:"secVnfDevId"`

	// Status
	Status string `json:"status"`

	// User managed
	UserManaged bool `json:"userManaged"`

	// Main information about VNFs
	VNFs RecordVNFs `json:"vnfs"`

	//  VXLAN ID
	VXLANID uint64 `json:"vxlanId"`
}

Detailed information about VINS

type RecordVNFConfig

type RecordVNFConfig struct {
	// MGMT
	MGMT RecordMGMT `json:"mgmt"`

	// Resources
	Resources RecordResources `json:"resources"`
}

VNF config

type RecordVNFDev

type RecordVNFDev struct {
	// CKey
	CKey string `json:"_ckey"`

	// Account ID
	AccountID uint64 `json:"accountId"`

	// Capabilities
	Capabilities []string `json:"capabilities"`

	// Config
	Config RecordVNFConfig `json:"config"`

	// Config saved
	ConfigSaved bool `json:"configSaved"`

	// CustomPreConfig
	CustomPreConfig bool `json:"customPrecfg"`

	// Description
	Description string `json:"desc"`

	// Grid ID
	GID uint64 `json:"gid"`

	// GUID
	GUID uint64 `json:"guid"`

	// ID
	ID uint64 `json:"id"`

	// List of interfaces
	Interfaces ListVNFInterfaces `json:"interfaces"`

	// Lock status
	LockStatus string `json:"lockStatus"`

	// Milestones
	Milestones uint64 `json:"milestones"`

	// Name
	Name string `json:"name"`

	// Status
	Status string `json:"status"`

	// Tech status
	TechStatus string `json:"techStatus"`

	// Type
	Type string `json:"type"`

	// List of VINS IDs
	VINS []uint64 `json:"vins"`
}

Main information about VNF device

type RecordVNFs

type RecordVNFs struct {
	// DHCP
	DHCP RecordDHCP `json:"DHCP"`

	// GW
	GW RecordGW `json:"GW"`

	// NAT
	NAT RecordNAT `json:"NAT"`
}

Detailed information about VNF

type RestoreRequest

type RestoreRequest struct {
	// VINS ID
	// Required: true
	VINSID uint64 `url:"vinsId" json:"vinsId" validate:"required"`
}

Request struct for restore

type SearchRequest

type SearchRequest struct {
	// ID of the account to search for the ViNSes
	// Required: false
	AccountID uint64 `url:"accountId,omitempty" json:"accountId,omitempty"`

	// ID of the resource group to limit search to the specified RG level only
	// Required: false
	RGID uint64 `url:"rgId,omitempty" json:"rgId,omitempty"`

	// Name of the ViNS to search for
	// Required: false
	Name string `url:"name,omitempty" json:"name,omitempty"`

	// If False, then VINSes having one of the statuses are not listed for
	// Required: false
	ShowAll bool `url:"show_all,omitempty" json:"show_all,omitempty"`
}

Request struct for search VINSes

type VINS

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

Structure for creating request to VINS

func New

func New(client interfaces.Caller) *VINS

Builder for VINS endpoints

func (VINS) Audits

func (v VINS) Audits(ctx context.Context, req AuditsRequest) (ListAudits, error)

Audits gets audit records for the specified VINS object

func (VINS) CreateInAccount

func (v VINS) CreateInAccount(ctx context.Context, req CreateInAccountRequest) (uint64, error)

CreateInAccount creates VINS in account level

func (VINS) CreateInRG

func (v VINS) CreateInRG(ctx context.Context, req CreateInRGRequest) (uint64, error)

CreateInRG creates VINS in resource group level

func (VINS) Delete

func (v VINS) Delete(ctx context.Context, req DeleteRequest) (bool, error)

Delete deletes VINS

func (VINS) Disable

func (v VINS) Disable(ctx context.Context, req DisableEnableRequest) (bool, error)

Disable disables VINS

func (VINS) Enable

func (v VINS) Enable(ctx context.Context, req DisableEnableRequest) (bool, error)

Enable enables VINS

func (VINS) ExtNetConnect

func (v VINS) ExtNetConnect(ctx context.Context, req ExtNetConnectRequest) (bool, error)

ExtNetConnect connect VINS to external network

func (VINS) ExtNetDisconnect

func (v VINS) ExtNetDisconnect(ctx context.Context, req ExtNetDisconnectRequest) (bool, error)

ExtNetDisconnect disconnect VINS from external network

func (VINS) ExtNetList

func (v VINS) ExtNetList(ctx context.Context, req ExtNetListRequest) (ListExtNets, error)

ExtNetList show list of VINS external network connections

func (VINS) Get

func (v VINS) Get(ctx context.Context, req GetRequest) (*RecordVINS, error)

Get gets information about VINS by ID

func (VINS) IPList

func (v VINS) IPList(ctx context.Context, req IPListRequest) (ListIPs, error)

IPList show DHCP IP reservations on VINS

func (VINS) IPRelese

func (v VINS) IPRelese(ctx context.Context, req IPReleaseRequest) (bool, error)

IPRelese delete IP reservation matched by specified IP & MAC address combination. If both IP and MAC address are empty strings, all IP reservations will be deleted.

func (VINS) IPReserve

func (v VINS) IPReserve(ctx context.Context, req IPReserveRequest) (string, error)

IPReserve creates reservation on ViNS DHCP

func (VINS) List

func (v VINS) List(ctx context.Context, req ListRequest) (ListVINS, error)

List gets list of VINSes available for current user

func (VINS) ListDeleted

func (v VINS) ListDeleted(ctx context.Context, req ListDeletedRequest) (ListVINS, error)

ListDeleted gets list of deleted VINSes available for current user

func (VINS) NATRuleAdd

func (v VINS) NATRuleAdd(ctx context.Context, req NATRuleAddRequest) (bool, error)

NATRuleAdd create NAT (port forwarding) rule on VINS

func (VINS) NATRuleDel

func (v VINS) NATRuleDel(ctx context.Context, req NATRuleDelRequest) (bool, error)

NATRuleDel delete NAT (port forwarding) rule on VINS

func (VINS) NATRuleList

func (v VINS) NATRuleList(ctx context.Context, req NATRuleListRequest) (ListNATRules, error)

NATRuleList gets list of NAT (port forwarding) rules

func (VINS) Restore

func (v VINS) Restore(ctx context.Context, req RestoreRequest) (bool, error)

Restore restores VINS from recycle bin

func (VINS) Search

func (v VINS) Search(ctx context.Context, req SearchRequest) (ListVINS, error)

Search search VINSes

func (VINS) VNFDevRedeploy

func (v VINS) VNFDevRedeploy(ctx context.Context, req VNFDevRedeployRequest) (bool, error)

VNFDevRedeploy redeploy VINS VNFDevs

func (VINS) VNFDevRestart

func (v VINS) VNFDevRestart(ctx context.Context, req VNFDevRestartRequest) (bool, error)

VNFDevRestart reboot VINSes primary VNF device

type VNFDevRedeployRequest

type VNFDevRedeployRequest struct {
	// VINS ID
	// Required: true
	VINSID uint64 `url:"vinsId" json:"vinsId" validate:"required"`
}

Request struct for redeploy VNFDevs

type VNFDevRestartRequest

type VNFDevRestartRequest struct {
	// VINS ID
	// Required: true
	VINSID uint64 `url:"vinsId" json:"vinsId" validate:"required"`
}

Request struct for reboot VINSes primary VNF device

Jump to

Keyboard shortcuts

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