goaviatrix

package
v1.14.15 Latest Latest
Warning

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

Go to latest
Published: Jul 11, 2019 License: MPL-2.0 Imports: 20 Imported by: 0

Documentation

Index

Constants

View Source
const Phase1AuthDefault = "SHA-1"
View Source
const Phase1DhGroupDefault = "2"
View Source
const Phase1EncryptionDefault = "AES-256-CBC"
View Source
const Phase2AuthDefault = "HMAC-SHA-1"
View Source
const Phase2DhGroupDefault = "2"
View Source
const Phase2EncryptionDefault = "AES-256-CBC"
View Source
const SslServerPoolDefault = "192.168.44.0/24"

Variables

View Source
var ErrNotFound = fmt.Errorf("ErrNotFound")

Functions

func Contains added in v1.7.18

func Contains(slice []string, item string) bool

func Difference

func Difference(a, b []string) []string

difference returns the elements in a that aren't in b

func DifferenceSlice

func DifferenceSlice(a, b [][]string) [][]string

DifferenceSlice returns the one-dimension elements in two-dimension slice a that aren't in two-dimension b

func ExpandStringList

func ExpandStringList(configured []interface{}) []string

func ReadFile

func ReadFile(local_filepath string) (string, string, error)

Types

type APIRequest

type APIRequest struct {
	CID    string `form:"CID,omitempty" json:"CID" url:"CID"`
	Action string `form:"action,omitempty" json:"action" url:"action"`
}

APIRequest represents the basic fields for any request

type APIResp

type APIResp struct {
	Return bool   `json:"return"`
	Reason string `json:"reason"`
}

APIResp represents the basic response from any action

type ARMPeer added in v1.8.26

type ARMPeer struct {
	Action       string `form:"action,omitempty"`
	CID          string `form:"CID,omitempty"`
	AccountName1 string `form:"req_account_name,omitempty"`
	AccountName2 string `form:"acc_account_name,omitempty"`
	VNet1        string `form:"req_vpc_id,omitempty"`
	VNet2        string `form:"acc_vpc_id,omitempty"`
	Region1      string `form:"req_region,omitempty"`
	Region2      string `form:"acc_region,omitempty"`
	VNetCidr1    []string
	VNetCidr2    []string
}

ARMPeer simple struct to hold arm_peer details

type AWSPeer

type AWSPeer struct {
	Action       string `form:"action,omitempty"`
	CID          string `form:"CID,omitempty"`
	AccountName1 string `form:"peer1_account_name,omitempty"`
	AccountName2 string `form:"peer2_account_name,omitempty"`
	VpcID1       string `form:"peer1_vpc_id,omitempty"`
	VpcID2       string `form:"peer2_vpc_id,omitempty"`
	Region1      string `form:"peer1_region,omitempty"`
	Region2      string `form:"peer2_region,omitempty"`
	RtbList1     string `form:"peer1_rtb_id,omitempty"`
	RtbList2     string `form:"peer2_rtb_id,omitempty"`
}

AWSPeer simple struct to hold aws_peer details

type AWSTgw

type AWSTgw struct {
	Action                    string               `form:"action,omitempty"`
	CID                       string               `form:"CID,omitempty"`
	Name                      string               `form:"tgw_name,omitempty"`
	AccountName               string               `form:"account_name,omitempty"`
	Region                    string               `form:"region,omitempty"`
	AwsSideAsNumber           string               `form:"aws_side_asn,omitempty"`
	AttachedAviatrixTransitGW []string             `form:"attached_aviatrix_transit_gateway,omitempty"`
	SecurityDomains           []SecurityDomainRule `form:"security_domains,omitempty"`
	ManageVpcAttachment       string
}

AwsTGW simple struct to hold aws_tgw details

type AWSTgwAPIResp

type AWSTgwAPIResp struct {
	Return  bool     `json:"return"`
	Results []string `json:"results"`
	Reason  string   `json:"reason"`
}

type AWSTgwList

type AWSTgwList struct {
	Return  bool     `json:"return"`
	Results []AWSTgw `json:"results"`
	Reason  string   `json:"reason"`
}

type Account

type Account struct {
	CID                                        string `form:"CID,omitempty"`
	Action                                     string `form:"action,omitempty"`
	AccountName                                string `form:"account_name,omitempty" json:"account_name,omitempty"`
	CloudType                                  int    `form:"cloud_type,omitempty" json:"cloud_type,omitempty"`
	AwsAccountNumber                           string `form:"aws_account_number,omitempty" json:"account_number,omitempty"`
	AwsIam                                     string `form:"aws_iam,omitempty" json:"aws_iam,omitempty"`
	AwsAccessKey                               string `form:"aws_access_key,omitempty" json:"account_access_key,omitempty"`
	AwsSecretKey                               string `form:"aws_secret_key,omitempty" json:"account_secret_access_key,omitempty"`
	AwsRoleApp                                 string `form:"aws_role_arn,omitempty" json:"aws_role_arn,omitempty"`
	AwsRoleEc2                                 string `form:"aws_role_ec2,omitempty" json:"aws_role_ec2,omitempty"`
	AzureSubscriptionId                        string `form:"azure_subscription_id,omitempty" json:"azure_subscription_id,omitempty"`
	ArmSubscriptionId                          string `form:"arm_subscription_id,omitempty" json:"arm_subscription_id,omitempty"`
	ArmApplicationEndpoint                     string `form:"arm_application_endpoint,omitempty" json:"arm_ad_tenant_id,omitempty"`
	ArmApplicationClientId                     string `form:"arm_application_client_id,omitempty" json:"arm_ad_client_id,omitempty"`
	ArmApplicationClientSecret                 string `form:"arm_application_client_secret,omitempty" json:"arm_ad_client_secret,omitempty"`
	AwsgovAccountNumber                        string `form:"awsgov_account_number,omitempty" json:"awsgov_account_number,omitempty"`
	AwsgovAccessKey                            string `form:"awsgov_access_key,omitempty" json:"awsgov_access_key,omitempty"`
	AwsgovSecretKey                            string `form:"awsgov_secret_key,omitempty" json:"awsgov_secret_key,omitempty"`
	AwsgovCloudtrailBucket                     string `form:"awsgov_cloudtrail_bucket,omitempty" json:"awsgov_cloudtrail_bucket,omitempty"`
	AzurechinaSubscriptionId                   string `form:"azurechina_subscription_id,omitempty" json:"azurechina_subscription_id,omitempty"`
	AwschinaAccountNumber                      string `form:"awschina_account_number,omitempty" json:"awschina_account_number,omitempty"`
	AwschinaAccessKey                          string `form:"awschina_access_key,omitempty" json:"awschinacloud_access_key,omitempty"`
	AwschinaSecretKey                          string `form:"awschina_secret_key,omitempty" json:"awschinacloud_secret_key,omitempty"`
	ArmChinaSubscriptionId                     string `form:"arm_china_subscription_id,omitempty" json:"arm_china_subscription_id,omitempty"`
	ArmChinaApplicationEndpoint                string `form:"arm_china_application_endpoint,omitempty" json:"arm_china_application_endpoint,omitempty"`
	ArmChinaApplicationClientId                string `form:"arm_china_application_client_id,omitempty" json:"arm_china_application_client_id,omitempty"`
	ArmChinaApplicationClientSecret            string `form:"arm_china_application_client_secret,omitempty" json:"arm_china_application_client_secret,omitempty"`
	GcloudProjectCredentialsFilename           string `form:"filename,omitempty"`
	GcloudProjectCredentialsContents           string `form:"contents,omitempty"`
	GcloudProjectCredentialsFilepathLocal      string `form:"gcloud_project_credentials_local,omitempty"`
	GcloudProjectCredentialsFilepathController string `form:"gcloud_project_credentials,omitempty"`
	GcloudProjectName                          string `form:"gcloud_project_name,omitempty" json:"project,omitempty"`
}

type AccountListResp

type AccountListResp struct {
	Return  bool          `json:"return"`
	Results AccountResult `json:"results"`
	Reason  string        `json:"reason"`
}

type AccountResult

type AccountResult struct {
	AccountList []Account `json:"account_list"`
}

type AccountUser

type AccountUser struct {
	CID         string `form:"CID,omitempty"`
	Action      string `form:"action,omitempty"`
	UserName    string `form:"username,omitempty" json:"user_name,omitempty"`
	AccountName string `form:"account_name,omitempty" json:"acct_names,omitempty"`
	Email       string `form:"email,omitempty" json:"user_email,omitempty"`
	Password    string `form:"password,omitempty" json:"password,omitempty"`
}

type AccountUserEdit

type AccountUserEdit struct {
	CID         string `form:"CID,omitempty"`
	Action      string `form:"action,omitempty"`
	UserName    string `form:"username,omitempty" json:"user_name,omitempty"`
	AccountName string `form:"account_name,omitempty" json:"account_name,omitempty"`
	Email       string `form:"email,omitempty" json:"email,omitempty"`
	What        string `form:"what,omitempty" json:"what,omitempty"`
	OldPassword string `form:"old_password,omitempty" json:"old_password,omitempty"`
	NewPassword string `form:"new_password,omitempty" json:"new_password,omitempty"`
}

type AccountUserListResp

type AccountUserListResp struct {
	Return          bool          `json:"return"`
	AccountUserList []AccountUser `json:"results"`
	Reason          string        `json:"reason"`
}

type AlgorithmInfo added in v1.9.28

type AlgorithmInfo struct {
	Phase1Auth      []string `json:"ph1_auth,omitempty"`
	Phase1DhGroups  []string `json:"ph1_dh,omitempty"`
	Phase1Encrption []string `json:"ph1_encr,omitempty"`
	Phase2Auth      []string `json:"ph2_auth,omitempty"`
	Phase2DhGroups  []string `json:"ph2_dh,omitempty"`
	Phase2Encrption []string `json:"ph2_encr,omitempty"`
}

type AllVpcPoolVpcListResp added in v1.7.18

type AllVpcPoolVpcListResp struct {
	AllVpcPoolVpcList []VpcEdit `json:"all_vpc_pool_vpc_list, omitempty"`
}

type ArmPeerAPIResp added in v1.8.26

type ArmPeerAPIResp struct {
	Return  bool   `json:"return"`
	Reason  string `json:"reason"`
	Results string `json:"results"`
}

type AttachedVPCDetail

type AttachedVPCDetail struct {
	TgwName      string   `json:"tgw_name"`
	Region       string   `json:"region"`
	VPCName      string   `json:"vpc_name"`
	AttachmentId string   `json:"attachment_id"`
	RouteDomain  string   `json:"route_domain"`
	VPCCidr      []string `json:"vpc_cidr"`
	VPCId        string   `json:"vpc_id"`
	AccountName  string   `json:"account_name"`
}

type AviatrixVersion

type AviatrixVersion struct {
	Major int64
	Minor int64
	Build int64
}

func ParseVersion added in v1.11.16

func ParseVersion(version string) (string, *AviatrixVersion, error)

type AwsPeerAPIResp

type AwsPeerAPIResp struct {
	Return  bool              `json:"return"`
	Reason  string            `json:"reason"`
	Results map[string]string `json:"results"`
}

type AwsTgwVpcAttachment

type AwsTgwVpcAttachment struct {
	Action             string `form:"action,omitempty"`
	CID                string `form:"CID,omitempty"`
	TgwName            string `form:"tgw_name"`
	Region             string `form:"region"`
	SecurityDomainName string `form:"security_domain_name"`
	VpcAccountName     string `form:"vpc_account_name"`
	VpcID              string `form:"vpc_id"`
}

type AwsTgwVpnConn added in v1.11.16

type AwsTgwVpnConn struct {
	Action           string `form:"action,omitempty"`
	TgwName          string `form:"tgw_name,omitempty"`
	RouteDomainName  string `form:"route_domain_name,omitempty"`
	CID              string `form:"CID,omitempty"`
	ConnName         string `form:"connection_name,omitempty"`
	PublicIP         string `form:"public_ip,omitempty"`
	OnpremASN        string `form:"onprem_asn,omitempty"`
	RemoteCIDR       string `form:"remote_cidr,omitempty"`
	VpnID            string `form:"vpn_id,omitempty"`
	InsideIpCIDRTun1 string `form:"inside_ip_cidr_tun_1,omitempty"`
	InsideIpCIDRTun2 string `form:"inside_ip_cidr_tun_2,omitempty"`
	PreSharedKeyTun1 string `form:"pre_shared_key_tun_1,omitempty"`
	PreSharedKeyTun2 string `form:"pre_shared_key_tun_2,omitempty"`
}

VGWConn simple struct to hold VGW Connection details

type AwsTgwVpnConnCreateResp added in v1.11.16

type AwsTgwVpnConnCreateResp struct {
	Return  bool    `json:"return"`
	Results vpnInfo `json:"results"`
	Reason  string  `json:"reason"`
}

type AwsTgwVpnConnEdit added in v1.11.16

type AwsTgwVpnConnEdit struct {
	TgwName          string   `json:"tgw_name,omitempty"`
	RouteDomainName  string   `json:"associated_route_domain_name,omitempty"`
	ConnName         string   `json:"vpc_name,omitempty"`
	PublicIP         string   `json:"public_ip,omitempty"`
	OnpremASN        string   `json:"aws_side_asn,omitempty"`
	RemoteCIDR       []string `json:"remote_cidrs,omitempty"`
	VpnID            string   `json:"vpc_id,omitempty"`
	InsideIpCIDRTun1 string   `json:"inside_ip_cidr_tun_1,omitempty"`
	InsideIpCIDRTun2 string   `json:"inside_ip_cidr_tun_2,omitempty"`
	PreSharedKeyTun1 string   `json:"pre_shared_key_tun_1,omitempty"`
	PreSharedKeyTun2 string   `json:"pre_shared_key_tun_2,omitempty"`
}

type AwsTgwVpnConnResp added in v1.11.16

type AwsTgwVpnConnResp struct {
	Return  bool                `json:"return"`
	Results []AwsTgwVpnConnEdit `json:"results"`
	Reason  string              `json:"reason"`
}

type CIDRMember

type CIDRMember struct {
	CIDRTag string `form:"name,omitempty" json:"name,omitempty"`
	CIDR    string `form:"cidr,omitempty" json:"cidr,omitempty"`
}

type Client

type Client struct {
	HTTPClient   *http.Client
	Username     string
	Password     string
	CID          string
	ControllerIP string
	// contains filtered or unexported fields
}

Client for accessing the Aviatrix Controller

func NewClient

func NewClient(username string, password string, controllerIP string, HTTPClient *http.Client) (*Client, error)

NewClient creates a Client object using the arguments provided. Arguments:

username - the controller username
password - the controller password
controllerIP - the controller IP/host
HTTPClient - the http client object

Returns:

Client - the newly created client
error - if any

See Also:

init()

func (*Client) AddTags

func (c *Client) AddTags(tags *Tags) error

func (*Client) AttachAviatrixTransitGWToAWSTgw

func (c *Client) AttachAviatrixTransitGWToAWSTgw(awsTgw *AWSTgw, gateway *Gateway, SecurityDomainName string) error

func (*Client) AttachGws

func (c *Client) AttachGws(fqdn *FQDN) error

func (*Client) AttachTagToGw added in v1.6.29

func (c *Client) AttachTagToGw(fqdn *FQDN, gateway *Gateway) error

func (*Client) AttachTransitGWForHybrid

func (c *Client) AttachTransitGWForHybrid(gateway *TransitVpc) error

func (*Client) AttachUsers

func (c *Client) AttachUsers(profile *Profile) error

func (*Client) AttachVpcToAWSTgw

func (c *Client) AttachVpcToAWSTgw(awsTgw *AWSTgw, vpcSolo VPCSolo, SecurityDomainName string) error

func (*Client) ControllerVersionValidation added in v1.6.29

func (c *Client) ControllerVersionValidation(supportedVersion string) error

func (*Client) CreateARMPeer added in v1.8.26

func (c *Client) CreateARMPeer(armPeer *ARMPeer) error

func (*Client) CreateAWSPeer

func (c *Client) CreateAWSPeer(awsPeer *AWSPeer) (string, error)

func (*Client) CreateAWSTgw

func (c *Client) CreateAWSTgw(awsTgw *AWSTgw) error

func (*Client) CreateAccount

func (c *Client) CreateAccount(account *Account) error

func (*Client) CreateAccountUser

func (c *Client) CreateAccountUser(user *AccountUser) error

func (*Client) CreateAwsTgwVpcAttachment

func (c *Client) CreateAwsTgwVpcAttachment(awsTgwVpcAttachment *AwsTgwVpcAttachment) error

func (*Client) CreateAwsTgwVpnConn added in v1.11.16

func (c *Client) CreateAwsTgwVpnConn(awsTgwVpnConn *AwsTgwVpnConn) (string, error)

func (*Client) CreateDomainConnection

func (c *Client) CreateDomainConnection(awsTgw *AWSTgw, sourceDomain string, destinationDomain string) error

func (*Client) CreateFQDN

func (c *Client) CreateFQDN(fqdn *FQDN) error

func (*Client) CreateFirewallTag

func (c *Client) CreateFirewallTag(firewall_tag *FirewallTag) error

func (*Client) CreateGateway

func (c *Client) CreateGateway(gateway *Gateway) error

func (*Client) CreateProfile

func (c *Client) CreateProfile(profile *Profile) error

func (*Client) CreateSecurityDomain

func (c *Client) CreateSecurityDomain(securityDomain *SecurityDomain) error

func (*Client) CreateSite2Cloud

func (c *Client) CreateSite2Cloud(site2cloud *Site2Cloud) error

func (*Client) CreateTransPeer

func (c *Client) CreateTransPeer(transPeer *TransPeer) error

func (*Client) CreateTransitGatewayPeering

func (c *Client) CreateTransitGatewayPeering(transitGatewayPeering *TransitGatewayPeering) error

func (*Client) CreateTunnel

func (c *Client) CreateTunnel(tunnel *Tunnel) error

func (*Client) CreateVGWConn

func (c *Client) CreateVGWConn(vgwConn *VGWConn) error

func (*Client) CreateVPNUser

func (c *Client) CreateVPNUser(vpnUser *VPNUser) error

func (*Client) CreateVpc added in v1.7.18

func (c *Client) CreateVpc(vpc *Vpc) error

func (*Client) Delete

func (c *Client) Delete(path string, i interface{}) (*http.Response, error)

Delete issues an HTTP DELETE request.

func (*Client) DeleteARMPeer added in v1.8.26

func (c *Client) DeleteARMPeer(armPeer *ARMPeer) error

func (*Client) DeleteAWSPeer

func (c *Client) DeleteAWSPeer(awsPeer *AWSPeer) error

func (*Client) DeleteAWSTgw

func (c *Client) DeleteAWSTgw(awsTgw *AWSTgw) error

func (*Client) DeleteAccount

func (c *Client) DeleteAccount(account *Account) error

func (*Client) DeleteAccountUser

func (c *Client) DeleteAccountUser(user *AccountUser) error

func (*Client) DeleteAwsTgwVpcAttachment

func (c *Client) DeleteAwsTgwVpcAttachment(awsTgwVpcAttachment *AwsTgwVpcAttachment) error

func (*Client) DeleteAwsTgwVpnConn added in v1.11.16

func (c *Client) DeleteAwsTgwVpnConn(awsTgwVpnConn *AwsTgwVpnConn) error

func (*Client) DeleteDomainConnection

func (c *Client) DeleteDomainConnection(awsTgw *AWSTgw, sourceDomain string, destinationDomain string) error

func (*Client) DeleteFQDN

func (c *Client) DeleteFQDN(fqdn *FQDN) error

func (*Client) DeleteFirewallTag

func (c *Client) DeleteFirewallTag(firewall_tag *FirewallTag) error

func (*Client) DeleteGateway

func (c *Client) DeleteGateway(gateway *Gateway) error

func (*Client) DeleteProfile

func (c *Client) DeleteProfile(profile *Profile) error

func (*Client) DeleteSecurityDomain

func (c *Client) DeleteSecurityDomain(securityDomain *SecurityDomain) error

func (*Client) DeleteSite2Cloud

func (c *Client) DeleteSite2Cloud(site2cloud *Site2Cloud) error

func (*Client) DeleteTags

func (c *Client) DeleteTags(tags *Tags) error

func (*Client) DeleteTransPeer

func (c *Client) DeleteTransPeer(transPeer *TransPeer) error

func (*Client) DeleteTransitGatewayPeering

func (c *Client) DeleteTransitGatewayPeering(transitGatewayPeering *TransitGatewayPeering) error

func (*Client) DeleteTunnel

func (c *Client) DeleteTunnel(tunnel *Tunnel) error

func (*Client) DeleteVGWConn

func (c *Client) DeleteVGWConn(vgwConn *VGWConn) error

func (*Client) DeleteVPNUser

func (c *Client) DeleteVPNUser(vpnUser *VPNUser) error

func (*Client) DeleteVpc added in v1.7.18

func (c *Client) DeleteVpc(vpc *Vpc) error

func (*Client) DetachAviatrixTransitGWFromAWSTgw

func (c *Client) DetachAviatrixTransitGWFromAWSTgw(awsTgw *AWSTgw, gateway *Gateway, SecurityDomainName string) error

func (*Client) DetachGws

func (c *Client) DetachGws(fqdn *FQDN, gwList []string) error

func (*Client) DetachTransitGWForHybrid

func (c *Client) DetachTransitGWForHybrid(gateway *TransitVpc) error

func (*Client) DetachUsers

func (c *Client) DetachUsers(profile *Profile) error

func (*Client) DetachVpcFromAWSTgw

func (c *Client) DetachVpcFromAWSTgw(awsTgw *AWSTgw, vpcID string) error

func (*Client) DisableAdvertiseTransitCidr added in v1.9.28

func (c *Client) DisableAdvertiseTransitCidr(vgwConn *VGWConn) error

func (*Client) DisableBgpManualSpokeAdvertisedNetworks added in v1.9.28

func (c *Client) DisableBgpManualSpokeAdvertisedNetworks(vgwConn *VGWConn) error

func (*Client) DisableConnectedTransit

func (c *Client) DisableConnectedTransit(gateway *TransitVpc) error

func (*Client) DisableDeadPeerDetection added in v1.9.28

func (c *Client) DisableDeadPeerDetection(site2cloud *Site2Cloud) error

func (*Client) DisableExceptionRule added in v1.6.29

func (c *Client) DisableExceptionRule() error

func (*Client) DisableGatewayFireNetInterfaces added in v1.9.28

func (c *Client) DisableGatewayFireNetInterfaces(gateway *TransitVpc) error

func (*Client) DisableHttpAccess added in v1.6.29

func (c *Client) DisableHttpAccess() error

func (*Client) DisableSNat

func (c *Client) DisableSNat(gateway *Gateway) error

func (*Client) DisableSecurityGroupManagement added in v1.6.29

func (c *Client) DisableSecurityGroupManagement() error

func (*Client) DisableSingleAZGateway

func (c *Client) DisableSingleAZGateway(gateway *Gateway) error

func (*Client) Do

func (c *Client) Do(verb string, req interface{}) (*http.Response, []byte, error)

Do performs the HTTP request. Arguments:

verb - GET, PUT, POST, DELETE, etc
req  - the query string (for GET) or body for others

Returns:

http.Response - the HTTP response object (body is closed)
[]byte - the body string as a byte array
error - if any

func (*Client) EnableAdvertiseTransitCidr added in v1.9.28

func (c *Client) EnableAdvertiseTransitCidr(vgwConn *VGWConn) error

func (*Client) EnableConnectedTransit

func (c *Client) EnableConnectedTransit(gateway *TransitVpc) error

func (*Client) EnableDeadPeerDetection added in v1.9.28

func (c *Client) EnableDeadPeerDetection(site2cloud *Site2Cloud) error

func (*Client) EnableExceptionRule added in v1.6.29

func (c *Client) EnableExceptionRule() error

func (*Client) EnableGatewayFireNetInterfaces added in v1.9.28

func (c *Client) EnableGatewayFireNetInterfaces(gateway *TransitVpc) error

func (*Client) EnableHaSpokeVpc

func (c *Client) EnableHaSpokeVpc(spoke *SpokeVpc) error

func (*Client) EnableHaTransitVpc

func (c *Client) EnableHaTransitVpc(gateway *TransitVpc) error

func (*Client) EnableHttpAccess added in v1.6.29

func (c *Client) EnableHttpAccess() error

func (*Client) EnableNatGateway

func (c *Client) EnableNatGateway(gateway *Gateway) error

func (*Client) EnablePeeringHaGateway

func (c *Client) EnablePeeringHaGateway(gateway *Gateway) error

func (*Client) EnableSNat

func (c *Client) EnableSNat(gateway *Gateway) error

func (*Client) EnableSecurityGroupManagement added in v1.6.29

func (c *Client) EnableSecurityGroupManagement(account string) error

func (*Client) EnableSingleAZGateway

func (c *Client) EnableSingleAZGateway(gateway *Gateway) error

func (*Client) Get

func (c *Client) Get(path string, i interface{}) (*http.Response, error)

func (*Client) GetARMPeer added in v1.8.26

func (c *Client) GetARMPeer(armPeer *ARMPeer) (*ARMPeer, error)

func (*Client) GetAWSPeer

func (c *Client) GetAWSPeer(awsPeer *AWSPeer) (*AWSPeer, error)

func (*Client) GetAWSTgw

func (c *Client) GetAWSTgw(awsTgw *AWSTgw) (*AWSTgw, error)

func (*Client) GetAccount

func (c *Client) GetAccount(account *Account) (*Account, error)

func (*Client) GetAccountUser

func (c *Client) GetAccountUser(user *AccountUser) (*AccountUser, error)

func (*Client) GetAwsTgwDetail

func (c *Client) GetAwsTgwDetail(awsTgw *AWSTgw) (*AWSTgw, error)

func (*Client) GetAwsTgwDomain

func (c *Client) GetAwsTgwDomain(awsTgw *AWSTgw, sDM string) error

func (*Client) GetAwsTgwDomainAttachedVpc

func (c *Client) GetAwsTgwDomainAttachedVpc(awsTgwVpcAttachment *AwsTgwVpcAttachment) (*AwsTgwVpcAttachment, error)

func (*Client) GetAwsTgwVpcAttachment

func (c *Client) GetAwsTgwVpcAttachment(awsTgwVpcAttachment *AwsTgwVpcAttachment) (*AwsTgwVpcAttachment, error)

func (*Client) GetAwsTgwVpnConn added in v1.11.16

func (c *Client) GetAwsTgwVpnConn(awsTgwVpnConn *AwsTgwVpnConn) (*AwsTgwVpnConn, error)

func (*Client) GetCurrentVersion

func (c *Client) GetCurrentVersion() (string, *AviatrixVersion, error)

func (*Client) GetExceptionRuleStatus added in v1.6.29

func (c *Client) GetExceptionRuleStatus() (bool, error)

func (*Client) GetFQDNTag

func (c *Client) GetFQDNTag(fqdn *FQDN) (*FQDN, error)

func (*Client) GetFirewallTag

func (c *Client) GetFirewallTag(firewall_tag *FirewallTag) (*FirewallTag, error)

func (*Client) GetGateway

func (c *Client) GetGateway(gateway *Gateway) (*Gateway, error)

func (*Client) GetGatewayDetail added in v1.9.28

func (c *Client) GetGatewayDetail(gateway *Gateway) (*GatewayDetail, error)

func (*Client) GetGwFilterTagList added in v1.6.29

func (c *Client) GetGwFilterTagList(fqdn *FQDN) (*FQDN, error)

func (*Client) GetHttpAccessEnabled added in v1.6.29

func (c *Client) GetHttpAccessEnabled() (string, error)

func (*Client) GetLatestVersion added in v1.6.29

func (c *Client) GetLatestVersion() (string, error)

func (*Client) GetPolicy

func (c *Client) GetPolicy(firewall *Firewall) (*Firewall, error)

func (*Client) GetProfile

func (c *Client) GetProfile(profile *Profile) (*Profile, error)

func (*Client) GetProfileBasePolicy

func (c *Client) GetProfileBasePolicy(profile *Profile) (*Profile, error)

func (*Client) GetSecurityDomain

func (c *Client) GetSecurityDomain(securityDomain *SecurityDomain) (string, error)

func (*Client) GetSecurityGroupManagementStatus added in v1.6.29

func (c *Client) GetSecurityGroupManagementStatus() (*SecurityGroupInfo, error)

func (*Client) GetSite2Cloud

func (c *Client) GetSite2Cloud(site2cloud *Site2Cloud) (*Site2Cloud, error)

func (*Client) GetSite2CloudConnDetail added in v1.7.18

func (c *Client) GetSite2CloudConnDetail(site2cloud *Site2Cloud) (*Site2Cloud, error)

func (*Client) GetSplitTunnel

func (c *Client) GetSplitTunnel(splitTunnel *SplitTunnel) (*SplitTunnelUnit, error)

func (*Client) GetTags

func (c *Client) GetTags(tags *Tags) ([]string, error)

func (*Client) GetTransPeer

func (c *Client) GetTransPeer(transPeer *TransPeer) (*TransPeer, error)

func (*Client) GetTransitGatewayPeering

func (c *Client) GetTransitGatewayPeering(transitGatewayPeering *TransitGatewayPeering) error

func (*Client) GetTransitGwFromVpcID

func (c *Client) GetTransitGwFromVpcID(gateway *Gateway) (*Gateway, error)

func (*Client) GetTunnel

func (c *Client) GetTunnel(tunnel *Tunnel) (*Tunnel, error)

func (*Client) GetVGWConn

func (c *Client) GetVGWConn(vgwConn *VGWConn) (*VGWConn, error)

func (*Client) GetVGWConnDetail added in v1.7.18

func (c *Client) GetVGWConnDetail(vgwConn *VGWConn) (*VGWConn, error)

func (*Client) GetVPNUser

func (c *Client) GetVPNUser(vpnUser *VPNUser) (*VPNUser, error)

func (*Client) GetVpc added in v1.7.18

func (c *Client) GetVpc(vpc *Vpc) (*Vpc, error)

func (*Client) GetVpnUserAccelerator added in v1.11.16

func (c *Client) GetVpnUserAccelerator() ([]string, error)

func (*Client) IsVpcAttachedToTgw

func (c *Client) IsVpcAttachedToTgw(awsTgw *AWSTgw, vpcSolo *VPCSolo) (bool, error)

func (*Client) LaunchSpokeVpc

func (c *Client) LaunchSpokeVpc(spoke *SpokeVpc) error

func (*Client) LaunchTransitVpc

func (c *Client) LaunchTransitVpc(gateway *TransitVpc) error

func (*Client) ListDomains

func (c *Client) ListDomains(fqdn *FQDN) (*FQDN, error)

func (*Client) ListFQDNTags

func (c *Client) ListFQDNTags() ([]*FQDN, error)

func (*Client) ListGws

func (c *Client) ListGws(fqdn *FQDN) ([]string, error)

func (*Client) ListTgwDetails

func (c *Client) ListTgwDetails(awsTgw *AWSTgw) (*AWSTgw, error)

func (*Client) Login

func (c *Client) Login() error

Login to the Aviatrix controller with the username/password provided in the client structure. Arguments:

None

Returns:

error - if any

func (*Client) ModifySplitTunnel

func (c *Client) ModifySplitTunnel(splitTunnel *SplitTunnel) error

func (*Client) Post

func (c *Client) Post(path string, i interface{}) (*http.Response, error)

Post issues an HTTP POST request with the given interface form-encoded.

func (*Client) Pre32Upgrade

func (c *Client) Pre32Upgrade() error

func (*Client) Put

func (c *Client) Put(path string, i interface{}) (*http.Response, error)

Put issues an HTTP PUT request with the given interface form-encoded.

func (*Client) Request

func (c *Client) Request(verb string, path string, i interface{}) (*http.Response, error)

Request makes an HTTP request with the given interface being encoded as form data.

func (*Client) SetBasePolicy

func (c *Client) SetBasePolicy(firewall *Firewall) error

func (*Client) SetBgpManualSpokeAdvertisedNetworks added in v1.9.28

func (c *Client) SetBgpManualSpokeAdvertisedNetworks(vgwConn *VGWConn) error

func (*Client) SetVpnGatewayAuthentication

func (c *Client) SetVpnGatewayAuthentication(gateway *VpnGatewayAuth) error

func (*Client) Site2CloudAlgorithmCheck added in v1.9.28

func (c *Client) Site2CloudAlgorithmCheck(site2cloud *Site2Cloud) error

func (*Client) SpokeJoinTransit

func (c *Client) SpokeJoinTransit(spoke *SpokeVpc) error

func (*Client) SpokeLeaveTransit

func (c *Client) SpokeLeaveTransit(spoke *SpokeVpc) error

func (*Client) UpdateARMPeer added in v1.8.26

func (c *Client) UpdateARMPeer(armPeer *ARMPeer) error

func (*Client) UpdateAWSPeer

func (c *Client) UpdateAWSPeer(awsPeer *AWSPeer) error

func (*Client) UpdateAWSTgw

func (c *Client) UpdateAWSTgw(awsTgw *AWSTgw) error

func (*Client) UpdateAccount

func (c *Client) UpdateAccount(account *Account) error

func (*Client) UpdateAccountUserObject

func (c *Client) UpdateAccountUserObject(user *AccountUserEdit) error

func (*Client) UpdateAwsTgwVpcAttachment

func (c *Client) UpdateAwsTgwVpcAttachment(awsTgwVpcAttachment *AwsTgwVpcAttachment) error

func (*Client) UpdateDomains

func (c *Client) UpdateDomains(fqdn *FQDN) error

func (*Client) UpdateFQDNMode

func (c *Client) UpdateFQDNMode(fqdn *FQDN) error

Change default mode to 'white' or 'black'

func (*Client) UpdateFQDNStatus

func (c *Client) UpdateFQDNStatus(fqdn *FQDN) error

change state to 'enabled' or 'disabled'

func (*Client) UpdateFirewallTag

func (c *Client) UpdateFirewallTag(firewall_tag *FirewallTag) error

func (*Client) UpdateGateway

func (c *Client) UpdateGateway(gateway *Gateway) error

func (*Client) UpdateMaxVpnConn added in v1.14.15

func (c *Client) UpdateMaxVpnConn(gateway *Gateway) error

func (*Client) UpdatePolicy

func (c *Client) UpdatePolicy(firewall *Firewall) error

func (*Client) UpdateProfilePolicy

func (c *Client) UpdateProfilePolicy(profile *Profile) error

func (*Client) UpdateSecurityDomain

func (c *Client) UpdateSecurityDomain(securityDomain *SecurityDomain) error

func (*Client) UpdateSite2Cloud

func (c *Client) UpdateSite2Cloud(site2cloud *EditSite2Cloud) error

func (*Client) UpdateSourceIPFilters added in v1.6.29

func (c *Client) UpdateSourceIPFilters(fqdn *FQDN, gateway *Gateway, sourceIPs []string) error

func (*Client) UpdateTransPeer

func (c *Client) UpdateTransPeer(transPeer *TransPeer) error

func (*Client) UpdateTransitGatewayPeering

func (c *Client) UpdateTransitGatewayPeering(transitGatewayPeering *TransitGatewayPeering) error

func (*Client) UpdateTunnel

func (c *Client) UpdateTunnel(tunnel *Tunnel) error

func (*Client) UpdateVGWConn

func (c *Client) UpdateVGWConn(vgwConn *VGWConn) error

func (*Client) UpdateVpc added in v1.7.18

func (c *Client) UpdateVpc(vpc *Vpc) error

func (*Client) UpdateVpnCidr

func (c *Client) UpdateVpnCidr(gateway *Gateway) error

func (*Client) UpdateVpnUserAccelerator added in v1.11.16

func (c *Client) UpdateVpnUserAccelerator(xlr *VpnUserXlr) error

func (*Client) Upgrade

func (c *Client) Upgrade(version *Version) error

func (*Client) UploadGcloudProjectCredentialsFile

func (c *Client) UploadGcloudProjectCredentialsFile(account *Account) error

func (*Client) ValidateAWSTgwDomains

func (c *Client) ValidateAWSTgwDomains(domainsAll []string, domainConnAll [][]string, attachedVPCAll [][]string,
) ([]string, [][]string, [][]string, error)

func (*Client) ValidatePolicy

func (c *Client) ValidatePolicy(policy *Policy) error

func (*Client) ValidateProfileRule

func (c *Client) ValidateProfileRule(profileRule *ProfileRule) error

type ConnectionDetail added in v1.7.18

type ConnectionDetail struct {
	ConnName                     []string   `json:"name"`
	GwName                       []string   `json:"gw_name"`
	VPCId                        []string   `json:"vpc_id"`
	BgpVGWId                     []string   `json:"bgp_vgw_id"`
	BgpLocalAsNum                []string   `json:"bgp_local_asn_number"`
	AdvertiseTransitCidr         string     `json:"advertise_transit_cidr"`
	BgpManualSpokeAdvertiseCidrs [][]string `json:"bgp_manual_spoke_advertise_cidrs"`
}

type ControllerHttpAccessResp added in v1.6.29

type ControllerHttpAccessResp struct {
	Return bool   `json:"return"`
	Result string `json:"results"`
	Reason string `json:"reason"`
}

Controller Http Access enabled get result struct

type DomainListResp

type DomainListResp struct {
	Return  bool     `json:"return,omitempty"`
	Results []string `json:"results,omitempty"`
	Reason  string   `json:"reason,omitempty"`
}

type EditSite2Cloud

type EditSite2Cloud struct {
	Action          string `form:"action,omitempty"`
	CID             string `form:"CID,omitempty"`
	VpcID           string `form:"vpc_id,omitempty"`
	ConnName        string `form:"conn_name"`
	GwName          string `form:"primary_cloud_gateway_name,omitempty"`
	NetworkType     string `form:"network_type,omitempty"`
	CloudSubnetCidr string `form:"cloud_subnet_cidr,omitempty"`
}

type EditSite2CloudConnDetail added in v1.7.18

type EditSite2CloudConnDetail struct {
	VpcID                   []string      `json:"vpc_id,omitempty"`
	TunnelName              []string      `json:"name,omitempty"`
	ConnType                string        `json:"type,omitempty"`
	TunnelType              []string      `json:"tunnel_type,omitempty"`
	GwName                  []string      `json:"gw_name,omitempty"`
	BackupGwName            []string      `json:"backup_gateway_name,omitempty"`
	RemoteGwIP              []string      `json:"remote_gateway_ip,omitempty"`
	RemoteGwIP2             []string      `json:"backup_remote_gateway_ip,omitempty"`
	Tunnels                 []TunnelInfo  `json:"tunnels,omitempty"`
	RemoteSubnet            string        `json:"real_remote_cidr,omitempty"`
	LocalSubnet             string        `json:"real_local_cidr,omitempty"`
	RemoteCidr              string        `json:"remote_cidr,omitempty"`
	LocalCidr               string        `json:"local_cidr,omitempty"`
	HAEnabled               string        `json:"ha_status,omitempty"`
	PeerType                string        `json:"peer_type,omitempty"`
	RemoteSubnetVirtual     string        `json:"virt_remote_cidr,omitempty"`
	LocalSubnetVirtual      string        `json:"virt_local_cidr,omitempty"`
	Algorithm               AlgorithmInfo `json:"algorithm,omitempty"`
	RouteTableList          []string      `json:"rtbls,omitempty"`
	SslServerPool           []string      `json:"ssl_server_pool,omitempty"`
	DeadPeerDetectionConfig string        `json:"dpd_config,omitempty"`
}

type FQDN

type FQDN struct {
	FQDNTag         string        `form:"tag_name,omitempty" json:"tag_name,omitempty"`
	Action          string        `form:"action,omitempty"`
	CID             string        `form:"CID,omitempty"`
	FQDNStatus      string        `form:"status,omitempty" json:"status,omitempty"`
	FQDNMode        string        `form:"color,omitempty" json:"color,omitempty"`
	GwFilterTagList []GwFilterTag `form:"gw_name,omitempty" json:"gw_name,omitempty"`
	DomainList      []*Filters    `form:"domain_names[],omitempty" json:"domain_names,omitempty"`
}

Gateway simple struct to hold fqdn details

type Filters

type Filters struct {
	FQDN     string `form:"fqdn,omitempty" json:"fqdn,omitempty"`
	Protocol string `form:"proto,omitempty" json:"proto,omitempty"`
	Port     string `form:"port,omitempty" json:"port,omitempty"`
}

type Firewall

type Firewall struct {
	CID           string    `form:"CID,omitempty"`
	Action        string    `form:"action,omitempty"`
	GwName        string    `form:"vpc_name,omitempty" json:"vpc_name,omitempty"`
	BaseAllowDeny string    `form:"base_policy,omitempty" json:"base_policy,omitempty"`
	BaseLogEnable string    `form:"base_policy_log_enable,omitempty" json:"base_policy_log_enable,omitempty"`
	PolicyList    []*Policy `form:"new_policy[],omitempty" json:"security_rules,omitempty"`
}

Gateway simple struct to hold firewall details

type FirewallResp

type FirewallResp struct {
	Return  bool     `json:"return"`
	Results Firewall `json:"results"`
	Reason  string   `json:"reason"`
}

type FirewallTag

type FirewallTag struct {
	CID      string       `form:"CID,omitempty"`
	Action   string       `form:"action,omitempty"`
	Name     string       `form:"tag_name,omitempty" json:"tag_name,omitempty"`
	CIDRList []CIDRMember `form:"new_policies,omitempty" json:"members,omitempty"`
}

Gateway simple struct to hold firewall_tag details

type FirewallTagResp

type FirewallTagResp struct {
	Return  bool        `json:"return"`
	Results FirewallTag `json:"results"`
	Reason  string      `json:"reason"`
}

type Gateway

type Gateway struct {
	AccountName             string `form:"account_name,omitempty" json:"account_name,omitempty"`
	Action                  string `form:"action,omitempty"`
	AdditionalCidrs         string `form:"additional_cidrs,omitempty"`
	AuthMethod              string `form:"auth_method,omitempty" json:"auth_method,omitempty"`
	AllocateNewEip          string `form:"allocate_new_eip,omitempty"`
	AllocateNewEipRead      bool   `json:"newly_allocated_eip,omitempty"`
	BkupGatewayZone         string `form:"bkup_gateway_zone,omitempty" json:"bkup_gateway_zone,omitempty"`
	BkupPrivateIP           string `form:"bkup_private_ip,omitempty" json:"bkup_private_ip,omitempty"`
	CID                     string `form:"CID,omitempty"`
	CIDR                    string `form:"cidr,omitempty"`
	ClientCertAuth          string `form:"client_cert_auth,omitempty" json:"client_cert_auth,omitempty"`
	ClientCertSharing       string `form:"client_cert_sharing,omitempty" json:"client_cert_sharing,omitempty"`
	CloudType               int    `form:"cloud_type,omitempty" json:"cloud_type,omitempty"`
	CloudnBkupGatewayInstID string `form:"cloudn_bkup_gateway_inst_id,omitempty" json:"cloudn_bkup_gateway_inst_id,omitempty"`
	CloudnGatewayInstID     string `form:"cloudn_gateway_inst_id,omitempty" json:"cloudn_gateway_inst_id,omitempty"`
	ConnectedTransit        string `json:"connected_transit,omitempty"`
	DirectInternet          string `form:"direct_internet,omitempty" json:"direct_internet,omitempty"`
	DockerConsulIP          string `form:"docker_consul_ip,omitempty" json:"docker_consul_ip,omitempty"`
	DockerNtwkCidr          string `form:"docker_ntwk_cidr,omitempty" json:"docker_ntwk_cidr,omitempty"`
	DockerNtwkName          string `form:"docker_ntwk_name,omitempty" json:"docker_ntwk_name,omitempty"`
	DuoAPIHostname          string `form:"duo_api_hostname,omitempty" json:"duo_api_hostname,omitempty"`
	DuoIntegrationKey       string `form:"duo_integration_key,omitempty" json:"duo_integration_key,omitempty"`
	DuoPushMode             string `form:"duo_push_mode,omitempty" json:"duo_push_mode,omitempty"`
	DuoSecretKey            string `form:"duo_secret_key,omitempty" json:"duo_secret_key,omitempty"`
	Eip                     string `form:"eip,omitempty" json:"eip,omitempty"`
	ElbDNSName              string `form:"elb_dns_name,omitempty" json:"elb_dns_name,omitempty"`
	ElbName                 string `form:"elb_name,omitempty" json:"lb_name,omitempty"`
	ElbState                string `form:"elb_state,omitempty" json:"elb_state,omitempty"`
	EnableClientCertSharing string `form:"enable_client_cert_sharing,omitempty"`
	EnableElb               string `form:"enable_elb,omitempty"`
	EnableLdap              string `form:"enable_ldap,omitempty"`
	EnableLdapRead          bool   `json:"enable_ldap,omitempty"`
	DnsServer               string `form:"dns_server,omitempty"`
	PublicDnsServer         string `form:"public_dns_server,omitempty" json:"public_dns_server,omitempty"`
	EnableNat               string `form:"enable_nat,omitempty" json:"enable_nat,omitempty"`
	SingleAZ                string `form:"single_az_ha,omitempty" json:"single_az_ha,omitempty"`
	EnableHybridConnection  bool   `json:"tgw_enabled,omitempty"`
	EnablePbr               string `form:"enable_pbr,omitempty"`
	Expiration              string `form:"expiration,omitempty" json:"expiration,omitempty"`
	GatewayZone             string `form:"gateway_zone,omitempty" json:"gateway_zone,omitempty"`
	GwName                  string `form:"gw_name,omitempty" json:"vpc_name,omitempty"`
	GwSecurityGroupID       string `form:"gw_security_group_id,omitempty" json:"gw_security_group_id,omitempty"`
	GwSize                  string `form:"gw_size,omitempty" json:"vpc_size,omitempty"`
	GwSubnetID              string `form:"gw_subnet_id,omitempty" json:"gw_subnet_id,omitempty"`
	PeeringHASubnet         string `form:"public_subnet,omitempty"`
	NewZone                 string `form:"new_zone,omitempty"`
	InsaneMode              string `form:"insane_mode,omitempty" json:"high_perf,omitempty"`
	InstState               string `form:"inst_state,omitempty" json:"inst_state,omitempty"`
	IntraVMRoute            string `form:"intra_vm_route,omitempty" json:"intra_vm_route,omitempty"`
	IsHagw                  string `form:"is_hagw,omitempty" json:"is_hagw,omitempty"`
	LdapAdditionalReq       string `form:"ldap_additional_req,omitempty"`
	LdapBaseDn              string `form:"ldap_base_dn,omitempty" json:"ldap_base_dn,omitempty"`
	LdapBindDn              string `form:"ldap_bind_dn,omitempty" json:"ldap_bind_dn,omitempty"`
	LdapCaCert              string `form:"ldap_ca_cert,omitempty" json:"ldap_ca_cert,omitempty"`
	LdapClientCert          string `form:"ldap_client_cert,omitempty" json:"ldap_client_cert,omitempty"`
	LdapPassword            string `form:"ldap_password,omitempty" json:"ldap_password,omitempty"`
	LdapServer              string `form:"ldap_server,omitempty" json:"ldap_server,omitempty"`
	LdapUseSsl              string `form:"ldap_use_ssl,omitempty" json:"ldap_use_ssl,omitempty"`
	LdapUserAttr            string `form:"ldap_username_attribute,omitempty" json:"ldap_username_attribute,omitempty"`
	LicenseID               string `form:"license_id,omitempty" json:"license_id,omitempty"`
	MaxConn                 string `form:"max_conn,omitempty" json:"max_connections,omitempty"`
	NameServers             string `form:"nameservers,omitempty"`
	OktaToken               string `form:"okta_token,omitempty" json:"okta_token,omitempty"`
	OktaURL                 string `form:"okta_url,omitempty" json:"okta_url,omitempty"`
	OktaUsernameSuffix      string `form:"okta_username_suffix,omitempty" json:"okta_username_suffix,omitempty"`
	OtpMode                 string `form:"otp_mode,omitempty" json:"otp_mode,omitempty"`
	PbrDefaultGateway       string `form:"pbr_default_gateway,omitempty"`
	PbrEnabled              string `form:"pbr_enabled,omitempty" json:"pbr_enabled,omitempty"`
	PbrLogging              string `form:"pbr_logging,omitempty"`
	PbrSubnet               string `form:"pbr_subnet,omitempty"`
	PrivateIP               string `form:"private_ip,omitempty" json:"private_ip,omitempty"`
	PublicIP                string `form:"public_ip,omitempty" json:"public_ip,omitempty"`
	SamlEnabled             string `form:"saml_enabled,omitempty" json:"saml_enabled,omitempty"`
	SandboxIP               string `form:"sandbox_ip,omitempty" json:"sandbox_ip,omitempty"`
	SaveTemplate            string `form:"save_template,omitempty"`
	SearchDomains           string `form:"search_domains,omitempty"`
	SplitTunnel             string `form:"split_tunnel,omitempty" json:"split_tunnel,omitempty"`
	SpokeVpc                string `json:"spoke_vpc,omitempty"`
	TagList                 string `form:"tags,omitempty"`
	TransitGwName           string `form:"transit_gw_name,omitempty" json:"transit_gw_name,omitempty"`
	TunnelName              string `form:"tunnel_name,omitempty" json:"tunnel_name,omitempty"`
	TunnelType              string `form:"tunnel_type,omitempty" json:"tunnel_type,omitempty"`
	VendorName              string `form:"vendor_name,omitempty" json:"vendor_name,omitempty"`
	VpcID                   string `form:"vpc_id,omitempty" json:"vpc_id,omitempty"`
	VpcNet                  string `form:"vpc_net,omitempty" json:"public_subnet,omitempty"`
	VpcRegion               string `form:"vpc_reg,omitempty" json:"vpc_region,omitempty"`
	VpcSplunkIPPort         string `form:"vpc_splunk_ip_port,omitempty" json:"vpc_splunk_ip_port,omitempty"`
	VpcState                string `form:"vpc_state,omitempty" json:"vpc_state,omitempty"`
	VpcType                 string `form:"vpc_type,omitempty" json:"vpc_type,omitempty"`
	VpnCidr                 string `form:"cidr,omitempty" json:"vpn_cidr,omitempty"`
	VpnStatus               string `form:"vpn_access,omitempty" json:"vpn_status,omitempty"`
	Zone                    string `form:"zone,omitempty" json:"zone,omitempty"`
	VpcSize                 string `form:"vpc_size,omitempty" ` //Only use for gateway create
	DMZEnabled              string `json:"dmz_enabled,omitempty"`
}

Gateway simple struct to hold gateway details

type GatewayDetail added in v1.9.28

type GatewayDetail struct {
	AccountName string `form:"account_name,omitempty" json:"account_name,omitempty"`
	Action      string `form:"action,omitempty"`
	GwName      string `form:"gw_name,omitempty" json:"vpc_name,omitempty"`
	DMZEnabled  bool   `json:"dmz_enabled,omitempty"`
}

type GatewayDetailApiResp added in v1.9.28

type GatewayDetailApiResp struct {
	Return  bool          `json:"return"`
	Results GatewayDetail `json:"results"`
	Reason  string        `json:"reason"`
}

type GatewayListResp

type GatewayListResp struct {
	Return  bool      `json:"return"`
	Results []Gateway `json:"results"`
	Reason  string    `json:"reason"`
}

type GetAwsTgwVpnConnVpnIdResp added in v1.11.16

type GetAwsTgwVpnConnVpnIdResp struct {
	Return  bool     `json:"return"`
	Results []string `json:"results"`
	Reason  string   `json:"reason"`
}

type GetFqdnExceptionRuleResp added in v1.6.29

type GetFqdnExceptionRuleResp struct {
	Return  bool   `json:"return"`
	Results string `json:"results"`
	Reason  string `json:"reason"`
}

type GetSecurityGroupManagementResp added in v1.6.29

type GetSecurityGroupManagementResp struct {
	Return  bool              `json:"return"`
	Results SecurityGroupInfo `json:"results"`
	Reason  string            `json:"reason"`
}

type GwFilterTag added in v1.6.29

type GwFilterTag struct {
	Name         string   `json:"gw_name, omitempty"`
	SourceIPList []string `json:"source_ip_list, omitempty"`
}

type GwSourceIP added in v1.6.29

type GwSourceIP struct {
	ConfiguredIPs []string `json:"configured_ips"`
	VpcSubnets    []string `json:"vpc_subnets"`
}

type LoginResp

type LoginResp struct {
	Return  bool   `json:"return"`
	Results string `json:"results"`
	Reason  string `json:"reason"`
	CID     string `json:"CID"`
}

LoginResp represents the response object from the `login` action

type Policy

type Policy struct {
	SrcIP     string `form:"s_ip,omitempty" json:"s_ip,omitempty"`
	DstIP     string `form:"d_ip,omitempty" json:"d_ip,omitempty"`
	Protocol  string `form:"protocol,omitempty" json:"protocol,omitempty"`
	Port      string `form:"port,omitempty" json:"port,omitempty"`
	AllowDeny string `form:"deny_allow,omitempty" json:"deny_allow,omitempty"`
	LogEnable string `form:"log_enable,omitempty" json:"log_enable,omitempty"`
}

type Profile

type Profile struct {
	Action   string        `form:"action,omitempty"`
	CID      string        `form:"CID,omitempty"`
	Name     string        `form:"tag_name,omitempty" json:"tag_name,omitempty"`
	BaseRule string        `form:"base_rule,omitempty" json:"status,omitempty"`
	Policy   []ProfileRule `form:"domain_names[],omitempty" json:"domain_names,omitempty"`
	UserList []string      `form:"user_names,omitempty" json:"user_names,omitempty"`
}

Gateway simple struct to hold profile details

type ProfileBasePolicyResp

type ProfileBasePolicyResp struct {
	Return  bool   `json:"return"`
	Results string `json:"results"`
	Reason  string `json:"reason"`
}

type ProfilePolicyListResp

type ProfilePolicyListResp struct {
	Return  bool          `json:"return"`
	Results []ProfileRule `json:"results"`
	Reason  string        `json:"reason"`
}

type ProfilePolicyListRule

type ProfilePolicyListRule struct {
	Return  bool     `json:"return"`
	Results []string `json:"results"`
	Reason  string   `json:"reason"`
}

type ProfileRule

type ProfileRule struct {
	Protocol string `form:"proto,omitempty" json:"protocol,omitempty"`
	Target   string `form:"target,omitempty" json:"target,omitempty"`
	Port     string `form:"port,omitempty" json:"port,omitempty"`
	Action   string `form:"action,omitempty" json:"action,omitempty"`
}

type ProfileUserListResp

type ProfileUserListResp struct {
	Return  bool                `json:"return"`
	Results map[string][]string `json:"results"`
	Reason  string              `json:"reason"`
}

type ResultListResp

type ResultListResp struct {
	Return  bool     `json:"return"`
	Results []string `json:"results"`
	Reason  string   `json:"reason"`
}

type ResultListSourceIPResp added in v1.6.29

type ResultListSourceIPResp struct {
	Return  bool       `json:"return"`
	Results GwSourceIP `json:"results"`
	Reason  string     `json:"reason"`
}

type RouteDomainAPIResp

type RouteDomainAPIResp struct {
	Return  bool                `json:"return"`
	Results []RouteDomainDetail `json:"results"`
	Reason  string              `json:"reason"`
}

type RouteDomainDetail

type RouteDomainDetail struct {
	Associations         []string             `json:"associations"`
	Name                 string               `json:"name"`
	ConnectedRouteDomain []string             `json:"connected_route_domain"`
	AttachedVPC          []AttachedVPCDetail  `json:"attached_vpc"`
	RoutesInRouteTable   []RoutesInRouteTable `json:"routes_in_route_table"`
	RouteTableId         string               `json:"route_table_id"`
}

type RoutesInRouteTable

type RoutesInRouteTable struct {
	VPCId           string `json:"vpc_id"`
	CidrBlock       string `json:"cidr_block"`
	Type            string `json:"type"`
	State           string `json:"state"`
	TgwAttachmentId string `json:"tgw_attachment_id"`
}

type SecurityDomain

type SecurityDomain struct {
	Action      string `form:"action, omitempty"`
	CID         string `form:"CID, omitempty"`
	Name        string `form:"route_domain_name, omitempty"`
	AccountName string `form:"account_name, omitempty"`
	Region      string `form:"region, omitempty"`
	AwsTgwName  string `form:"tgw_name, omitempty"`
}

AwsTGW simple struct to hold aws_tgw details

type SecurityDomainAPIResp

type SecurityDomainAPIResp struct {
	Return  bool     `json:"return"`
	Results []string `json:"results"`
	Reason  string   `json:"reason"`
}

type SecurityDomainList

type SecurityDomainList struct {
	Return  bool     `json:"return"`
	Results []string `json:"results"`
	Reason  string   `json:"reason"`
}

type SecurityDomainRule

type SecurityDomainRule struct {
	Name            string    `json:"security_domain_name, omitempty"`
	ConnectedDomain []string  `json:"connected_domains, omitempty"`
	AttachedVPCs    []VPCSolo `json:"attached_vpc, omitempty"`
}

type SecurityGroupInfo added in v1.6.29

type SecurityGroupInfo struct {
	State       string `json:"state"`
	AccountName string `json:"account_name"`
	Response    string `json:"response"`
}

type Site2Cloud

type Site2Cloud struct {
	Action                  string   `form:"action,omitempty"`
	CID                     string   `form:"CID,omitempty"`
	VpcID                   string   `form:"vpc_id,omitempty" json:"vpc_id,omitempty"`
	TunnelName              string   `form:"connection_name" json:"name,omitempty"`
	RemoteGwType            string   `form:"remote_gateway_type,omitempty"`
	ConnType                string   `form:"connection_type,omitempty" json:"type,omitempty"`
	TunnelType              string   `form:"tunnel_type,omitempty" json:"tunnel_type,omitempty"`
	GwName                  string   `form:"primary_cloud_gateway_name,omitempty" json:"gw_name,omitempty"`
	BackupGwName            string   `form:"backup_gateway_name,omitempty"`
	RemoteGwIP              string   `form:"remote_gateway_ip,omitempty" json:"peer_ip,omitempty"`
	RemoteGwIP2             string   `form:"backup_remote_gateway_ip,omitempty"`
	PreSharedKey            string   `form:"pre_shared_key,omitempty"`
	BackupPreSharedKey      string   `form:"backup_pre_shared_key,omitempty"`
	RemoteSubnet            string   `form:"remote_subnet_cidr,omitempty" json:"remote_cidr,omitempty"`
	LocalSubnet             string   `form:"local_subnet_cidr,omitempty" json:"local_cidr,omitempty"`
	HAEnabled               string   `form:"ha_enabled,omitempty" json:"ha_status,omitempty"`
	PeerType                string   `form:"peer_type,omitempty"`
	SslServerPool           string   `form:"ssl_server_pool,omitempty"`
	NetworkType             string   `form:"network_type,omitempty"`
	CloudSubnetCidr         string   `form:"cloud_subnet_cidr,omitempty"`
	RemoteCidr              string   `form:"remote_cidr,omitempty"`
	RemoteSubnetVirtual     string   `form:"virtual_remote_subnet_cidr,omitempty" json:"virtual_remote_subnet_cidr,omitempty"`
	LocalSubnetVirtual      string   `form:"virtual_local_subnet_cidr,omitempty" json:"virtual_local_subnet_cidr,omitempty"`
	Phase1Auth              string   `form:"phase1_auth,omitempty"`
	Phase1DhGroups          string   `form:"phase1_dh_group,omitempty"`
	Phase1Encryption        string   `form:"phase1_encryption,omitempty"`
	Phase2Auth              string   `form:"phase2_auth,omitempty"`
	Phase2DhGroups          string   `form:"phase2_dh_group,omitempty"`
	Phase2Encryption        string   `form:"phase2_encryption,omitempty"`
	PrivateRouteEncryption  string   `form:"private_route_encryption,omitempty"`
	RemoteGwLatitude        float64  `form:"remote_gateway_latitude,omitempty"`
	RemoteGwLongitude       float64  `form:"remote_gateway_longitude,omitempty"`
	BackupRemoteGwLatitude  float64  `form:"backup_remote_gateway_latitude,omitempty"`
	BackupRemoteGwLongitude float64  `form:"backup_remote_gateway_longitude,omitempty"`
	RouteTableList          []string `form:"route_table_list,omitempty"`
	CustomAlgorithms        bool
	DeadPeerDetection       bool
}

Site2Cloud simple struct to hold site2cloud details

type Site2CloudConnDetailList added in v1.7.18

type Site2CloudConnDetailList struct {
	Connections EditSite2CloudConnDetail `json:"connections"`
}

type Site2CloudConnDetailResp added in v1.7.18

type Site2CloudConnDetailResp struct {
	Return  bool                     `json:"return"`
	Results Site2CloudConnDetailList `json:"results"`
	Reason  string                   `json:"reason"`
}

type Site2CloudConnList

type Site2CloudConnList struct {
	Connections []Site2Cloud `json:"connections"`
}

type Site2CloudResp

type Site2CloudResp struct {
	Return  bool               `json:"return"`
	Results Site2CloudConnList `json:"results"`
	Reason  string             `json:"reason"`
}

type SplitTunnel

type SplitTunnel struct {
	Action          string `form:"action,omitempty"`
	CID             string `form:"CID,omitempty"`
	Command         string `form:"command,omitempty"`
	VpcID           string `form:"vpc_id,omitempty"`
	ElbName         string `form:"lb_name,omitempty"`
	SplitTunnel     string `form:"split_tunnel,omitempty"`
	AdditionalCidrs string `form:"additional_cidrs,omitempty"`
	NameServers     string `form:"nameservers,omitempty"`
	SearchDomains   string `form:"search_domains,omitempty"`
	SaveTemplate    string `form:"save_template,omitempty"`
}

type SplitTunnelResp

type SplitTunnelResp struct {
	Return  bool            `json:"return"`
	Results SplitTunnelUnit `json:"results"`
	Reason  string          `json:"reason"`
}

type SplitTunnelUnit

type SplitTunnelUnit struct {
	NameServers     string `json:"name_servers"`
	SplitTunnel     string `json:"split_tunnel"`
	SearchDomains   string `json:"search_domains"`
	AdditionalCidrs string `json:"additional_cidrs"`
}

type SpokeVpc

type SpokeVpc struct {
	AccountName           string `form:"account_name,omitempty" json:"account_name,omitempty"`
	Action                string `form:"action,omitempty"`
	CID                   string `form:"CID,omitempty"`
	CloudType             int    `form:"cloud_type,omitempty" json:"cloud_type,omitempty"`
	DnsServer             string `form:"dns_server,omitempty" json:"dns_server,omitempty"`
	GwName                string `form:"gw_name,omitempty" json:"vpc_name,omitempty"`
	GwSize                string `form:"gw_size,omitempty"`
	VpcID                 string `form:"vpc_id,omitempty" json:"vpc_id,omitempty"`
	VNetNameResourceGroup string `form:"vnet_and_resource_group_names,omitempty"`
	Subnet                string `form:"public_subnet,omitempty" json:"public_subnet,omitempty"`
	VpcRegion             string `form:"region,omitempty" json:"vpc_region,omitempty"`
	VpcSize               string `form:"gw_size,omitempty" json:"vpc_size,omitempty"`
	EnableNAT             string `form:"nat_enabled,omitempty" json:"enable_nat,omitempty"`
	HASubnet              string `form:"ha_subnet,omitempty"`
	HAZone                string `form:"new_zone,omitempty"`
	SingleAzHa            string `form:"single_az_ha,omitempty"`
	TransitGateway        string `form:"transit_gw,omitempty"`
	TagList               string `form:"tags,omitempty"`
}

Spoke gateway simple struct to hold spoke details

type SubnetInfo added in v1.7.18

type SubnetInfo struct {
	Cidr string `json:"cidr, omitempty"`
	Name string `json:"name, omitempty"`
}

type TGWInfoList

type TGWInfoList struct {
	TgwInfo TgwInfoDetail `json:"tgw_info"`
	TgwID   string        `json:"_id"`
	Name    string        `json:"name"`
}

type TGWInfoResp

type TGWInfoResp struct {
	Return  bool        `json:"return"`
	Results TGWInfoList `json:"results"`
	Reason  string      `json:"reason"`
}

type TagAPIResp

type TagAPIResp struct {
	Return  bool                         `json:"return"`
	Results map[string]map[string]string `json:"results"`
	Reason  string                       `json:"reason"`
}

type Tags

type Tags struct {
	Action       string `form:"action,omitempty"`
	CID          string `form:"CID,omitempty"`
	CloudType    int    `form:"cloud_type,omitempty"`
	ResourceType string `form:"resource_type,omitempty"`
	ResourceName string `form:"resource_name,omitempty"`
	TagList      string `form:"new_tag_list,omitempty"`
}

Tags simple struct to hold tag details

type TgwInfoDetail

type TgwInfoDetail struct {
	AccountName     string `json:"acct_name"`
	Region          string `json:"region"`
	AwsSideAsNumber int    `json:"tgw_aws_asn"`
}

type TransPeer

type TransPeer struct {
	CID           string `form:"CID,omitempty"`
	Action        string `form:"action,omitempty"`
	Source        string `form:"source" json:"source"`
	Nexthop       string `form:"nexthop" json:"nexthop"`
	ReachableCidr string `form:"reachable_cidr" json:"reachable_cidr"`
}

type TransPeerListResp

type TransPeerListResp struct {
	Return  bool        `json:"return"`
	Results []TransPeer `json:"results"`
	Reason  string      `json:"reason"`
}

type TransitGatewayPeering

type TransitGatewayPeering struct {
	TransitGatewayName1 string `form:"gateway_1,omitempty" json:"gateway_1,omitempty"`
	TransitGatewayName2 string `form:"gateway_2,omitempty" json:"gateway_2,omitempty"`
}

type TransitGatewayPeeringAPIResp

type TransitGatewayPeeringAPIResp struct {
	Return  bool                      `json:"return"`
	Results [][]TransitGatewayPeering `json:"results"`
	Reason  string                    `json:"reason"`
}

type TransitGwFireNetInterfaces added in v1.9.28

type TransitGwFireNetInterfaces struct {
	VpcName                  string `json:"vpc_name"`
	VpcRegion                string `json:"vpc_region"`
	TransitVpc               string `json:"transit_vpc"`
	FireNetInterfacesEnabled bool   `json:"dmz_enabled"`
	Name                     string `json:"name"`
}

type TransitGwFireNetInterfacesResp added in v1.9.28

type TransitGwFireNetInterfacesResp struct {
	Return  bool                       `json:"return"`
	Results TransitGwFireNetInterfaces `json:"results"`
	Reason  string                     `json:"reason"`
}

type TransitVpc

type TransitVpc struct {
	AccountName            string `form:"account_name,omitempty" json:"account_name,omitempty"`
	Action                 string `form:"action,omitempty"`
	CID                    string `form:"CID,omitempty"`
	CloudType              int    `form:"cloud_type,omitempty" json:"cloud_type,omitempty"`
	DnsServer              string `form:"dns_server,omitempty" json:"dns_server,omitempty"`
	GwName                 string `form:"gw_name,omitempty" json:"vpc_name,omitempty"`
	GwSize                 string `form:"gw_size,omitempty"`
	VpcID                  string `form:"vpc_id,omitempty" json:"vpc_id,omitempty"`
	VNetNameResourceGroup  string `form:"vnet_and_resource_group_names,omitempty" json:"vpc_id,omitempty"`
	Subnet                 string `form:"public_subnet,omitempty" json:"vpc_net,omitempty"`
	HASubnet               string `form:"ha_subnet,omitempty"`
	PeeringHASubnet        string `json:"public_subnet,omitempty"`
	VpcRegion              string `form:"region,omitempty" json:"vpc_region,omitempty"`
	VpcSize                string `form:"gw_size,omitempty" json:"gw_size,omitempty"`
	EnableNAT              string `form:"nat_enabled,omitempty" json:"enable_nat,omitempty"`
	TagList                string `form:"tags,omitempty"`
	EnableHybridConnection bool   `form:"enable_hybrid_connection" json:"tgw_enabled,omitempty"`
	ConnectedTransit       string `form:"connected_transit" json:"connected_transit,omitempty"`
	InsaneMode             string `form:"insane_mode,omitempty"`
}

Gateway simple struct to hold gateway details

type Tunnel

type Tunnel struct {
	VpcName1        string `json:"vpc_name1"`
	VpcName2        string `json:"vpc_name2"`
	PeeringState    string `json:"peering_state"`
	PeeringHaStatus string `json:"peering_ha_status"`
	PeeringLink     string `json:"peering_link"`
	EnableHA        string `json:"enable_ha"`
}

type TunnelInfo added in v1.7.18

type TunnelInfo struct {
	Status       string `json:"status"`
	IPAddr       string `json:"ip_addr"`
	Name         string `json:"name"`
	PeerIP       string `json:"peer_ip"`
	GwName       string `json:"gw_name"`
	TunnelStatus string `json:"tunnel_status"`
}

type TunnelListResp

type TunnelListResp struct {
	Return  bool         `json:"return"`
	Results TunnelResult `json:"results"`
	Reason  string       `json:"reason"`
}

type TunnelResult

type TunnelResult struct {
	PairList []Tunnel `json:"pair_list"`
}

type UpgradeResp

type UpgradeResp struct {
	Return  bool   `json:"return"`
	Results string `json:"results"`
	Reason  string `json:"reason"`
}

type VGWConn

type VGWConn struct {
	Action                       string `form:"action,omitempty"`
	BgpLocalAsNum                string `form:"bgp_local_asn_num,omitempty" json:"bgp_local_asn_num,omitempty"`
	BgpVGWId                     string `form:"vgw_id,omitempty" json:"bgp_vgw_id,omitempty"`
	CID                          string `form:"CID,omitempty"`
	ConnName                     string `form:"connection_name,omitempty" json:"name,omitempty"`
	GwName                       string `form:"gw_name,omitempty" json:"gw_name,omitempty"`
	VPCId                        string `form:"vpc_id,omitempty" json:"vpc_id,omitempty"`
	EnableAdvertiseTransitCidr   bool
	BgpManualSpokeAdvertiseCidrs string `form:"cidr,omitempty"`
}

VGWConn simple struct to hold VGW Connection details

type VGWConnBgpManualSpokeAdvertisedNetworksResp added in v1.9.28

type VGWConnBgpManualSpokeAdvertisedNetworksResp struct {
	Return  bool   `json:"return"`
	Results string `json:"results"`
	Reason  string `json:"reason"`
}

type VGWConnDetail added in v1.7.18

type VGWConnDetail struct {
	Connections ConnectionDetail `json:"connections"`
}

type VGWConnDetailResp added in v1.7.18

type VGWConnDetailResp struct {
	Return  bool          `json:"return"`
	Results VGWConnDetail `json:"results"`
	Reason  string        `json:"reason"`
}

type VGWConnEnableAdvertiseTransitCidrResp added in v1.9.28

type VGWConnEnableAdvertiseTransitCidrResp struct {
	Return  bool   `json:"return"`
	Results string `json:"results"`
	Reason  string `json:"reason"`
}

type VGWConnList

type VGWConnList struct {
	Return  bool      `json:"return"`
	Results []VGWConn `json:"results"`
	Reason  string    `json:"reason"`
}

type VGWConnListResp

type VGWConnListResp struct {
	Return  bool     `json:"return"`
	Results []string `json:"results"`
	Reason  string   `json:"reason"`
}

type VPCInfo

type VPCInfo struct {
	AccountName string `json:"account_name,omitempty"`
	CloudType   int    `json:"cloud_type,omitempty"`
	Region      string `json:"vpc_region,omitempty"`
	Name        string `json:"vpc_name,omitempty"`
	TransitVpc  string `json:"transit_vpc,omitempty"`
	VPCId       string `json:"vpc_id,omitempty"`
}

type VPCList

type VPCList struct {
	Return  bool      `json:"return"`
	Results []VPCInfo `json:"results"`
	Reason  string    `json:"reason"`
}

type VPCSolo

type VPCSolo struct {
	Region      string `json:"vpc_region, omitempty"`
	AccountName string `json:"vpc_account_name, omitempty"`
	VpcID       string `json:"vpc_id, omitempty"`
}

type VPNUser

type VPNUser struct {
	Action       string `form:"action,omitempty" json:"action,omitempty"`
	CID          string `form:"CID,omitempty" json:"CID,omitempty"`
	SamlEndpoint string `form:"saml_endpoint,omitempty" json:"saml_endpoint,omitempty"`
	VpcID        string `form:"vpc_id,omitempty" json:"vpc_id,omitempty"`
	GwName       string `form:"lb_name,omitempty" json:"lb_name,omitempty"`
	UserName     string `form:"username" json:"_id,omitempty"`
	UserEmail    string `form:"user_email,omitempty" json:"email,omitempty"`
}

VPNUser simple struct to hold vpn_user details

type VPNUserInfo added in v1.7.18

type VPNUserInfo struct {
	VpnUser VPNUser `json:"vpn_user"`
}

type VPNUserListResp

type VPNUserListResp struct {
	Return  bool      `json:"return"`
	Results []VPNUser `json:"results"`
	Reason  string    `json:"reason"`
}

type VPNUserResp added in v1.7.18

type VPNUserResp struct {
	Return  bool        `json:"return"`
	Results VPNUserInfo `json:"results"`
	Reason  string      `json:"reason"`
}

type Version

type Version struct {
	CID           string `form:"CID,omitempty"`
	Action        string `form:"action,omitempty"`
	TargetVersion string `form:"version,omitempty"`
	Version       string `json:"version,omitempty"`
}

type VersionInfo

type VersionInfo struct {
	CurrentVersion string `json:"current_version"`
	LatestVersion  string `json:"latest_version"`
}

type VersionInfoResp

type VersionInfoResp struct {
	Return  bool        `json:"return"`
	Results VersionInfo `json:"results"`
	Reason  string      `json:"reason"`
}

type Vpc added in v1.7.18

type Vpc struct {
	CloudType          int          `form:"cloud_type,omitempty" json:"cloud_type,omitempty"`
	AccountName        string       `form:"account_name,omitempty" json:"account_name,omitempty"`
	Region             string       `form:"region,omitempty" json:"vpc_region,omitempty"`
	Name               string       `form:"pool_name,omitempty" json:"pool_name,omitempty"`
	Cidr               string       `form:"vpc_cidr,omitempty" json:"vpc_cidr,omitempty"`
	AviatrixTransitVpc string       `form:"aviatrix_transit_vpc,omitempty"`
	AviatrixFireNetVpc string       `form:"aviatrix_firenet_vpc,omitempty"`
	VpcID              string       `json:"vpc_list,omitempty"`
	Subnets            []SubnetInfo `json:"subnets,omitempty"`
}

type VpcEdit added in v1.7.18

type VpcEdit struct {
	CloudType          int          `form:"cloud_type,omitempty" json:"cloud_type,omitempty"`
	AccountName        string       `form:"account_name,omitempty" json:"account_name,omitempty"`
	Region             string       `form:"region,omitempty" json:"vpc_region,omitempty"`
	Name               string       `form:"pool_name,omitempty" json:"pool_name,omitempty"`
	Cidr               string       `form:"vpc_cidr,omitempty" json:"vpc_cidr,omitempty"`
	AviatrixTransitVpc bool         `json:"avx_transit_vpc,omitempty"`
	AviatrixFireNetVpc bool         `json:"avx_firenet_vpc,omitempty"`
	VpcID              []string     `json:"vpc_list,omitempty"`
	Subnets            []SubnetInfo `json:"subnets,omitempty"`
}

type VpcResp added in v1.7.18

type VpcResp struct {
	Return  bool                  `json:"return"`
	Results AllVpcPoolVpcListResp `json:"results"`
	Reason  string                `json:"reason"`
}

type VpnGatewayAuth

type VpnGatewayAuth struct {
	Action             string `form:"action,omitempty"`
	AuthType           string `form:"auth_type,omitempty" json:"auth_type,omitempty"`
	CID                string `form:"CID,omitempty"`
	DuoAPIHostname     string `form:"duo_api_hostname,omitempty" json:"duo_api_hostname,omitempty"`
	DuoIntegrationKey  string `form:"duo_integration_key,omitempty" json:"duo_integration_key,omitempty"`
	DuoPushMode        string `form:"duo_push_mode,omitempty" json:"duo_push_mode,omitempty"`
	DuoSecretKey       string `form:"duo_secret_key,omitempty" json:"duo_secret_key,omitempty"`
	EnableLdap         string `form:"enable_ldap,omitempty"`
	LbOrGatewayName    string `form:"lb_or_gateway_name,omitempty" json:"lb_or_gateway_name,omitempty"`
	LdapAdditionalReq  string `form:"ldap_additional_req,omitempty"`
	LdapBaseDn         string `form:"ldap_base_dn,omitempty" json:"ldap_base_dn,omitempty"`
	LdapBindDn         string `form:"ldap_bind_dn,omitempty" json:"ldap_bind_dn,omitempty"`
	LdapCaCert         string `form:"ldap_ca_cert,omitempty" json:"ldap_ca_cert,omitempty"`
	LdapClientCert     string `form:"ldap_client_cert,omitempty" json:"ldap_client_cert,omitempty"`
	LdapPassword       string `form:"ldap_password,omitempty" json:"ldap_password,omitempty"`
	LdapServer         string `form:"ldap_server,omitempty" json:"ldap_server,omitempty"`
	LdapUseSsl         string `form:"ldap_use_ssl,omitempty" json:"ldap_use_ssl,omitempty"`
	LdapUserAttr       string `form:"ldap_username_attribute,omitempty" json:"ldap_username_attribute,omitempty"`
	OktaToken          string `form:"okta_token,omitempty" json:"okta_token,omitempty"`
	OktaURL            string `form:"okta_url,omitempty" json:"okta_url,omitempty"`
	OktaUsernameSuffix string `form:"okta_username_suffix,omitempty" json:"okta_username_suffix,omitempty"`
	OtpMode            string `form:"otp_mode,omitempty" json:"otp_mode,omitempty"`
	SamlEnabled        string `form:"saml_enabled,omitempty" json:"saml_enabled,omitempty"`
	VpcID              string `form:"vpc_id,omitempty" json:"vpc_id,omitempty"`
}

type VpnUserXlr added in v1.11.16

type VpnUserXlr struct {
	Action         string `form:"action,omitempty"`
	CID            string `form:"CID,omitempty"`
	Endpoints      string `form:"endpoints,omitempty"`
	AllEndpoints   string `json:"all,omitempty"`
	FreeEndpoints  string `json:"free,omitempty"`
	InUseEndpoints string `json:"inuse,omitempty"`
}

type VpnUserXlrAPIResp added in v1.11.16

type VpnUserXlrAPIResp struct {
	Return  bool                `json:"return"`
	Results map[string][]string `json:"results"`
	Reason  string              `json:"reason"`
}

Jump to

Keyboard shortcuts

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