zones

package
v0.0.1 Latest Latest
Warning

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

Go to latest
Published: Jan 7, 2023 License: MIT Imports: 1 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Client

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

func New

func New(c HTTPClient) *Client

func (*Client) Create

func (c *Client) Create(ctx context.Context, req *CreateRequest) (*CreateResponse, error)

Create Create a new sdn zone object.

func (*Client) Delete

func (c *Client) Delete(ctx context.Context, req *DeleteRequest) (*DeleteResponse, error)

Delete Delete sdn zone object configuration.

func (*Client) Find

func (c *Client) Find(ctx context.Context, req *FindRequest) (*FindResponse, error)

Find Read sdn zone configuration.

func (*Client) Index

func (c *Client) Index(ctx context.Context, req *IndexRequest) (*IndexResponse, error)

Index SDN zones index.

func (*Client) Update

func (c *Client) Update(ctx context.Context, req *UpdateRequest) (*UpdateResponse, error)

Update Update sdn zone object configuration.

type CreateRequest

type CreateRequest struct {
	Type string `url:"type",json:"type"` // Plugin type.
	Zone string `url:"zone",json:"zone"` // The SDN zone object identifier.

	// The following parameters are optional
	AdvertiseSubnets         *bool   `url:"advertise-subnets,omitempty",json:"advertise-subnets,omitempty"` // Advertise evpn subnets if you have silent hosts
	Bridge                   *string `url:"bridge,omitempty",json:"bridge,omitempty"`
	BridgeDisableMacLearning *bool   `url:"bridge-disable-mac-learning,omitempty",json:"bridge-disable-mac-learning,omitempty"` // Disable auto mac learning.
	Controller               *string `url:"controller,omitempty",json:"controller,omitempty"`                                   // Frr router name
	DisableArpNdSuppression  *bool   `url:"disable-arp-nd-suppression,omitempty",json:"disable-arp-nd-suppression,omitempty"`   // Disable ipv4 arp && ipv6 neighbour discovery suppression
	Dns                      *string `url:"dns,omitempty",json:"dns,omitempty"`                                                 // dns api server
	Dnszone                  *string `url:"dnszone,omitempty",json:"dnszone,omitempty"`                                         // dns domain zone  ex: mydomain.com
	DpId                     *int    `url:"dp-id,omitempty",json:"dp-id,omitempty"`                                             // Faucet dataplane id
	Exitnodes                *string `url:"exitnodes,omitempty",json:"exitnodes,omitempty"`                                     // List of cluster node names.
	ExitnodesLocalRouting    *bool   `url:"exitnodes-local-routing,omitempty",json:"exitnodes-local-routing,omitempty"`         // Allow exitnodes to connect to evpn guests
	ExitnodesPrimary         *string `url:"exitnodes-primary,omitempty",json:"exitnodes-primary,omitempty"`                     // Force traffic to this exitnode first.
	Ipam                     *string `url:"ipam,omitempty",json:"ipam,omitempty"`                                               // use a specific ipam
	Mac                      *string `url:"mac,omitempty",json:"mac,omitempty"`                                                 // Anycast logical router mac address
	Mtu                      *int    `url:"mtu,omitempty",json:"mtu,omitempty"`                                                 // MTU
	Nodes                    *string `url:"nodes,omitempty",json:"nodes,omitempty"`                                             // List of cluster node names.
	Peers                    *string `url:"peers,omitempty",json:"peers,omitempty"`                                             // peers address list.
	Reversedns               *string `url:"reversedns,omitempty",json:"reversedns,omitempty"`                                   // reverse dns api server
	RtImport                 *string `url:"rt-import,omitempty",json:"rt-import,omitempty"`                                     // Route-Target import
	Tag                      *int    `url:"tag,omitempty",json:"tag,omitempty"`                                                 // Service-VLAN Tag
	VlanProtocol             *string `url:"vlan-protocol,omitempty",json:"vlan-protocol,omitempty"`
	VrfVxlan                 *int    `url:"vrf-vxlan,omitempty",json:"vrf-vxlan,omitempty"` // l3vni.
}

type CreateResponse

type CreateResponse map[string]interface{}

type DeleteRequest

type DeleteRequest struct {
	Zone string `url:"zone",json:"zone"` // The SDN zone object identifier.

}

type DeleteResponse

type DeleteResponse map[string]interface{}

type FindRequest

type FindRequest struct {
	Zone string `url:"zone",json:"zone"` // The SDN zone object identifier.

	// The following parameters are optional
	Pending *bool `url:"pending,omitempty",json:"pending,omitempty"` // Display pending config.
	Running *bool `url:"running,omitempty",json:"running,omitempty"` // Display running config.
}

type FindResponse

type FindResponse map[string]interface{}

type HTTPClient

type HTTPClient interface {
	Do(context.Context, string, string, interface{}, interface{}) error
}

type IndexRequest

type IndexRequest map[string]interface{}

type IndexResponse

type IndexResponse []*struct {
	Type string `url:"type",json:"type"`
	Zone string `url:"zone",json:"zone"`

	// The following parameters are optional
	Dns        *string `url:"dns,omitempty",json:"dns,omitempty"`
	Dnszone    *string `url:"dnszone,omitempty",json:"dnszone,omitempty"`
	Ipam       *string `url:"ipam,omitempty",json:"ipam,omitempty"`
	Mtu        *int    `url:"mtu,omitempty",json:"mtu,omitempty"`
	Nodes      *string `url:"nodes,omitempty",json:"nodes,omitempty"`
	Reversedns *string `url:"reversedns,omitempty",json:"reversedns,omitempty"`
	State      *string `url:"state,omitempty",json:"state,omitempty"`
}

type UpdateRequest

type UpdateRequest struct {
	Zone string `url:"zone",json:"zone"` // The SDN zone object identifier.

	// The following parameters are optional
	AdvertiseSubnets         *bool   `url:"advertise-subnets,omitempty",json:"advertise-subnets,omitempty"` // Advertise evpn subnets if you have silent hosts
	Bridge                   *string `url:"bridge,omitempty",json:"bridge,omitempty"`
	BridgeDisableMacLearning *bool   `url:"bridge-disable-mac-learning,omitempty",json:"bridge-disable-mac-learning,omitempty"` // Disable auto mac learning.
	Controller               *string `url:"controller,omitempty",json:"controller,omitempty"`                                   // Frr router name
	Delete                   *string `url:"delete,omitempty",json:"delete,omitempty"`                                           // A list of settings you want to delete.
	Digest                   *string `url:"digest,omitempty",json:"digest,omitempty"`                                           // Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.
	DisableArpNdSuppression  *bool   `url:"disable-arp-nd-suppression,omitempty",json:"disable-arp-nd-suppression,omitempty"`   // Disable ipv4 arp && ipv6 neighbour discovery suppression
	Dns                      *string `url:"dns,omitempty",json:"dns,omitempty"`                                                 // dns api server
	Dnszone                  *string `url:"dnszone,omitempty",json:"dnszone,omitempty"`                                         // dns domain zone  ex: mydomain.com
	DpId                     *int    `url:"dp-id,omitempty",json:"dp-id,omitempty"`                                             // Faucet dataplane id
	Exitnodes                *string `url:"exitnodes,omitempty",json:"exitnodes,omitempty"`                                     // List of cluster node names.
	ExitnodesLocalRouting    *bool   `url:"exitnodes-local-routing,omitempty",json:"exitnodes-local-routing,omitempty"`         // Allow exitnodes to connect to evpn guests
	ExitnodesPrimary         *string `url:"exitnodes-primary,omitempty",json:"exitnodes-primary,omitempty"`                     // Force traffic to this exitnode first.
	Ipam                     *string `url:"ipam,omitempty",json:"ipam,omitempty"`                                               // use a specific ipam
	Mac                      *string `url:"mac,omitempty",json:"mac,omitempty"`                                                 // Anycast logical router mac address
	Mtu                      *int    `url:"mtu,omitempty",json:"mtu,omitempty"`                                                 // MTU
	Nodes                    *string `url:"nodes,omitempty",json:"nodes,omitempty"`                                             // List of cluster node names.
	Peers                    *string `url:"peers,omitempty",json:"peers,omitempty"`                                             // peers address list.
	Reversedns               *string `url:"reversedns,omitempty",json:"reversedns,omitempty"`                                   // reverse dns api server
	RtImport                 *string `url:"rt-import,omitempty",json:"rt-import,omitempty"`                                     // Route-Target import
	Tag                      *int    `url:"tag,omitempty",json:"tag,omitempty"`                                                 // Service-VLAN Tag
	VlanProtocol             *string `url:"vlan-protocol,omitempty",json:"vlan-protocol,omitempty"`
	VrfVxlan                 *int    `url:"vrf-vxlan,omitempty",json:"vrf-vxlan,omitempty"` // l3vni.
}

type UpdateResponse

type UpdateResponse map[string]interface{}

Jump to

Keyboard shortcuts

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