goaviatrix

package
v3.1.4 Latest Latest
Warning

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

Go to latest
Published: Jan 10, 2024 License: MPL-2.0 Imports: 28 Imported by: 0

README

goaviatrix - An Aviatrix SDK for Go

The goaviatrix subfolder can be used as a golang SDK for the Aviatrix REST API. It's not feature complete, and currently is only known to be used for the aviatrix Terraform provider.

Full API docs are available at apidoc

Dependencies

Example

package main

import (
	"fmt"
    "log"
    "crypto/tls"
    "net/http"
    "github.com/AviatrixSystems/terraform-provider-aviatrix/v3/goaviatrix"
)

func main() {

    tr := &http.Transport{
            TLSClientConfig: &tls.Config{InsecureSkipVerify: true},
    }
	client, err := goaviatrix.NewClient("rakesh", "mypassword", "13.126.166.7", &http.Client{Transport: tr})
	if err != nil {
		log.Fatal(err)
	}
	err = client.CreateGateway(&goaviatrix.Gateway{
		Action: "connect_container",
		CloudType: 1,
		AccountName: "devops1",
		GwName: "avtxgw1",
		VpcID: "vpc-0d7b3664",
		VpcRegion: "ap-south-1",
		VpcSize: "t2.micro",
		VpcNet: "avtxgw3_sub1~~10.3.0.0/24~~ap-south-1a",
		})
	if err!=nil {
		log.Fatal(err)
	}
	err = client.DeleteGateway(&goaviatrix.Gateway{
		CloudType: 1,
		GwName: "avtxgw1",
		})
	if err!=nil {
		log.Fatal(err)
	}
	err = client.CreateTunnel(&goaviatrix.Tunnel{
		VpcName1: "avtxgw1",
		VpcName2: "avtxgw2",
	})
	if err!=nil {
		log.Fatal(err)
	}
	tun, err := client.GetTunnel(&goaviatrix.Tunnel{
		VpcName1: "avtxgw1",
		VpcName2: "avtxgw2",
	})
	if err!=nil {
		log.Fatal(err)
	}

	fmt.Println(tun.VpcName1, tun.VpcName2)

	err = client.DeleteTunnel(&goaviatrix.Tunnel{
		VpcName1: "avtxgw1",
		VpcName2: "avtxgw2",
	})

	if err!=nil {
		log.Fatal(err)
	}
}

Documentation

Index

Constants

View Source
const (
	AWS         = 1
	GCP         = 4
	Azure       = 8
	OCI         = 16
	AzureGov    = 32
	AWSGov      = 256
	AWSChina    = 1024
	AzureChina  = 2048
	AliCloud    = 8192
	AWSTS       = 16384 // AWS Top Secret Region (C2S)
	AWSS        = 32768 // AWS Secret Region (SC2S)
	EDGECSP     = 65536
	EDGEEQUINIX = 524288
	EDGENEO     = 262144
)

Cloud provider ids

View Source
const (
	AWSRelatedCloudTypes      = AWS | AWSGov | AWSChina | AWSTS | AWSS
	GCPRelatedCloudTypes      = GCP
	AzureArmRelatedCloudTypes = Azure | AzureGov | AzureChina
	OCIRelatedCloudTypes      = OCI
	AliCloudRelatedCloudTypes = AliCloud
)
View Source
const Phase1AuthDefault = "SHA-256"
View Source
const Phase1DhGroupDefault = "14"
View Source
const Phase1EncryptionDefault = "AES-256-CBC"
View Source
const Phase2AuthDefault = "HMAC-SHA-256"
View Source
const Phase2DhGroupDefault = "14"
View Source
const Phase2EncryptionDefault = "AES-256-CBC"
View Source
const SslServerPoolDefault = "192.168.44.0/24"

Variables

View Source
var (
	AWSRelatedVendorNames      = []string{"AWS", "AWS GOV", "AWS CHINA"}
	GCPRelatedVendorNames      = []string{"Gcloud"}
	AzureArmRelatedVendorNames = []string{"Azure ARM", "ARM CHINA", "ARM GOV"}
)

Cloud vendor names

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

Functions

func CompareMapOfInterface

func CompareMapOfInterface(map1 map[string]interface{}, map2 map[string]interface{}) bool

func CompareSoftwareVersions

func CompareSoftwareVersions(a, b string) (int, error)

CompareSoftwareVersions first return value will be less than 0 if a < b equal to 0 if a == b more than 0 if a > b

func Contains

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

func DiffSuppressFuncAwsTgwPeeringDomainConnDomainName1

func DiffSuppressFuncAwsTgwPeeringDomainConnDomainName1(k, old, new string, d *schema.ResourceData) bool

func DiffSuppressFuncAwsTgwPeeringDomainConnDomainName2

func DiffSuppressFuncAwsTgwPeeringDomainConnDomainName2(k, old, new string, d *schema.ResourceData) bool

func DiffSuppressFuncAwsTgwPeeringDomainConnTgwName1

func DiffSuppressFuncAwsTgwPeeringDomainConnTgwName1(k, old, new string, d *schema.ResourceData) bool

func DiffSuppressFuncAwsTgwPeeringDomainConnTgwName2

func DiffSuppressFuncAwsTgwPeeringDomainConnTgwName2(k, old, new string, d *schema.ResourceData) bool

func DiffSuppressFuncAwsTgwPeeringTgwName1

func DiffSuppressFuncAwsTgwPeeringTgwName1(k, old, new string, d *schema.ResourceData) bool

func DiffSuppressFuncAwsTgwPeeringTgwName2

func DiffSuppressFuncAwsTgwPeeringTgwName2(k, old, new string, d *schema.ResourceData) bool

func DiffSuppressFuncBackupRemoteGwLatitude

func DiffSuppressFuncBackupRemoteGwLatitude(k, old, new string, d *schema.ResourceData) bool

func DiffSuppressFuncBackupRemoteGwLongitude

func DiffSuppressFuncBackupRemoteGwLongitude(k, old, new string, d *schema.ResourceData) bool

func DiffSuppressFuncEdgeSpokeCoordinate

func DiffSuppressFuncEdgeSpokeCoordinate(k, old, new string, d *schema.ResourceData) bool

func DiffSuppressFuncEdgeSpokeTransitAttachmentEdgeWanInterfaces added in v3.1.4

func DiffSuppressFuncEdgeSpokeTransitAttachmentEdgeWanInterfaces(k, old, new string, d *schema.ResourceData) bool

func DiffSuppressFuncGatewayDNat

func DiffSuppressFuncGatewayDNat(k, old, new string, d *schema.ResourceData) bool

func DiffSuppressFuncGatewaySNat

func DiffSuppressFuncGatewaySNat(k, old, new string, d *schema.ResourceData) bool

func DiffSuppressFuncLocalDestinationRealCIDRs

func DiffSuppressFuncLocalDestinationRealCIDRs(k, old, new string, d *schema.ResourceData) bool

func DiffSuppressFuncLocalDestinationVirtualCIDRs

func DiffSuppressFuncLocalDestinationVirtualCIDRs(k, old, new string, d *schema.ResourceData) bool

func DiffSuppressFuncLocalSourceRealCIDRs

func DiffSuppressFuncLocalSourceRealCIDRs(k, old, new string, d *schema.ResourceData) bool

func DiffSuppressFuncLocalSourceVirtualCIDRs

func DiffSuppressFuncLocalSourceVirtualCIDRs(k, old, new string, d *schema.ResourceData) bool

func DiffSuppressFuncRemoteDestinationRealCIDRs

func DiffSuppressFuncRemoteDestinationRealCIDRs(k, old, new string, d *schema.ResourceData) bool

func DiffSuppressFuncRemoteDestinationVirtualCIDRs

func DiffSuppressFuncRemoteDestinationVirtualCIDRs(k, old, new string, d *schema.ResourceData) bool

func DiffSuppressFuncRemoteGwLatitude

func DiffSuppressFuncRemoteGwLatitude(k, old, new string, d *schema.ResourceData) bool

func DiffSuppressFuncRemoteGwLongitude

func DiffSuppressFuncRemoteGwLongitude(k, old, new string, d *schema.ResourceData) bool

func DiffSuppressFuncRemoteSourceRealCIDRs

func DiffSuppressFuncRemoteSourceRealCIDRs(k, old, new string, d *schema.ResourceData) bool

func DiffSuppressFuncRemoteSourceVirtualCIDRs

func DiffSuppressFuncRemoteSourceVirtualCIDRs(k, old, new string, d *schema.ResourceData) bool

func DiffSuppressFuncRtbList1

func DiffSuppressFuncRtbList1(k, old, new string, d *schema.ResourceData) bool

func DiffSuppressFuncRtbList2

func DiffSuppressFuncRtbList2(k, old, new string, d *schema.ResourceData) bool

func Difference

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

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

func DifferencePairSlice

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

DifferencePairs returns all pairs in a that are not in b. If b contains any elements that are non-pairs (len != 2) then a is returned

func DifferenceSliceAttachedVPC

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

DifferenceSliceAttachedVPC returns the one-dimension elements in two-dimension slice a that aren't in two-dimension b. This function is used to check if there is difference for attached_vpc in aws_tgw resource between source file and state file excluding "subnets" and "route_tables".

func Equivalent

func Equivalent(a, b []string) bool

Equivalent checks if a is equivalent to b. a is equivalent to b if a contains exactly the same elements as b. Order of the element is not important. Example: {"a", "b", "c"} is equivalent to {"c", "a", "b"}

func ExpandStringList

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

func GetSupportedClouds

func GetSupportedClouds() []int

GetSupportedClouds returns the list of currently supported cloud IDs Example usage to validate a cloud_type attribute in a schema:

"cloud_type": {
    Type:     schema.TypeInt,
    Optional: true,
    Description: "Cloud Provider ID",
    ValidateFunc: validation.IntInSlice(cloud.GetSupportedClouds()),
}

func IsCloudType

func IsCloudType(cloudType, compare int) bool

func PolicyToMap

func PolicyToMap(p *Policy) map[string]interface{}

func ReadFile

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

func ReadPemFile

func ReadPemFile(local_filepath string) (string, string, error)

func S2CPh1RemoteIdDiffSuppressFunc

func S2CPh1RemoteIdDiffSuppressFunc(k, old, new string, d *schema.ResourceData) bool

func StringCanBeEmptyButCannotBeWhiteSpace

func StringCanBeEmptyButCannotBeWhiteSpace(val interface{}, key string) (warns []string, errs []error)

func TagListStrColon

func TagListStrColon(tagListStr []string) []string

func TransitExternalDeviceConnPh1RemoteIdDiffSuppressFunc

func TransitExternalDeviceConnPh1RemoteIdDiffSuppressFunc(k, old, new string, d *schema.ResourceData) bool

func ValidateASN

func ValidateASN(val interface{}, key string) (warns []string, errs []error)

func ValidateAttachedVPCsForCustomizedRoutes

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

func ValidateEdgeSpokeLatitude

func ValidateEdgeSpokeLatitude(val interface{}, key string) (warns []string, errs []error)

func ValidateEdgeSpokeLongitude

func ValidateEdgeSpokeLongitude(val interface{}, key string) (warns []string, errs []error)

func ValidateRtbId

func ValidateRtbId(val interface{}, key string) (warns []string, errs []error)

func VendorToCloudType

func VendorToCloudType(vendor string) int

VendorToCloudType Convert vendor name to cloud_type

Types

type APIError

type APIError struct {
	Message string
}

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 APIRespHaGw

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

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 AWSPeerEdit

type AWSPeerEdit struct {
	AWSVpc1 AwsVpcInfo `json:"requester,omitempty"`
	AWSVpc2 AwsVpcInfo `json:"accepter,omitempty"`
}

type AWSTgw

type AWSTgw struct {
	Action                    string               `form:"action,omitempty"`
	CID                       string               `form:"CID,omitempty"`
	Name                      string               `form:"tgw_name,omitempty"`
	CloudType                 int                  `form:"cloud_type,omitempty" json:"cloud_type,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
	EnableMulticast           bool `form:"multicast_enable"`
	CidrList                  []string
	NotCreateDefaultDomains   bool `form:"not_create_default_domains,omitempty"`
	TgwId                     string
	Async                     bool `form:"async,omitempty"`
	InspectionMode            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"`
	AwsGatewayRoleApp                     string `form:"aws_gateway_role_app,omitempty" json:"aws_gateway_role_app,omitempty"`
	AwsGatewayRoleEc2                     string `form:"aws_gateway_role_ec2,omitempty" json:"aws_gateway_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:"awsgovcloud_account_number,omitempty"`
	AwsgovIam                             string `form:"awsgov_iam,omitempty"`
	AwsgovRoleApp                         string `form:"awsgov_role_arn,omitempty" json:"aws_gov_aws_role_arn,omitempty"`
	AwsgovRoleEc2                         string `form:"awsgov_role_ec2,omitempty" json:"aws_gov_aws_role_ec2,omitempty"`
	AwsgovAccessKey                       string `form:"awsgov_access_key,omitempty" json:"awsgovcloud_access_key,omitempty"`
	AwsgovSecretKey                       string `form:"awsgov_secret_key,omitempty" json:"awsgovcloud_secret_key,omitempty"`
	AwsgovCloudtrailBucket                string `form:"awsgov_cloudtrail_bucket,omitempty" json:"awsgov_cloudtrail_bucket,omitempty"`
	ProjectCredentialsFilename            string `form:"filename,omitempty"` //Applies for both GCP and OCI
	ProjectCredentialsContents            string `form:"contents,omitempty"` //Applies for both GCP and OCI
	GcloudProjectCredentialsFilepathLocal string `form:"gcloud_project_credentials_local,omitempty"`
	GcloudProjectName                     string `form:"gcloud_project_name,omitempty" json:"project,omitempty"`
	OciTenancyID                          string `form:"oci_tenancy_id" json:"oci_tenancy_id,omitempty"`
	OciUserID                             string `form:"oci_user_id" json:"oci_user_id,omitempty"`
	OciCompartmentID                      string `form:"oci_compartment_id" json:"oci_compartment_id,omitempty"`
	OciApiPrivateKeyFilePath              string `form:"oci_api_key_path" json:"oci_api_private_key_filepath,omitempty"`
	AzuregovSubscriptionId                string `form:"azure_gov_subscription_id,omitempty" json:"arm_gov_subscription_id,omitempty"`
	AzuregovApplicationEndpoint           string `form:"azure_gov_application_endpoint,omitempty" json:"arm_gov_ad_tenant_id,omitempty"`
	AzuregovApplicationClientId           string `form:"azure_gov_application_client_id,omitempty" json:"arm_gov_ad_client_id,omitempty"`
	AzuregovApplicationClientSecret       string `form:"azure_gov_application_client_secret,omitempty" json:"azure_gov_application_client_secret,omitempty"`
	AlicloudAccountId                     string `form:"aliyun_account_id,omitempty"`
	AlicloudAccessKey                     string `form:"aliyun_access_key,omitempty"`
	AlicloudSecretKey                     string `form:"aliyun_secret_key,omitempty"`
	AwsChinaAccountNumber                 string `form:"aws_china_account_number,omitempty" json:"aws_china_account_number,omitempty"`
	AwsChinaIam                           string `form:"aws_china_iam,omitempty"`
	AwsChinaRoleApp                       string `form:"aws_china_role_arn,omitempty" json:"aws_china_aws_role_arn,omitempty"`
	AwsChinaRoleEc2                       string `form:"aws_china_role_ec2,omitempty" json:"aws_china_aws_role_ec2,omitempty"`
	AwsChinaAccessKey                     string `form:"aws_china_access_key,omitempty" json:"aws_china_access_key,omitempty"`
	AwsChinaSecretKey                     string `form:"aws_china_secret_key,omitempty"`
	AzureChinaSubscriptionId              string `form:"arm_china_subscription_id,omitempty" json:"arm_china_subscription_id,omitempty"`
	AzureChinaApplicationEndpoint         string `form:"arm_china_application_endpoint,omitempty"`
	AzureChinaApplicationClientId         string `form:"arm_china_application_client_id,omitempty"`
	AzureChinaApplicationClientSecret     string `form:"arm_china_application_client_secret,omitempty"`
	AwsTsAccountNumber                    string `json:"awsorangecloud_account_number,omitempty"`
	AwsTsCapUrl                           string `json:"aws_orange_cap_url,omitempty"`
	AwsTsCapAgency                        string `json:"aws_orange_cap_agency,omitempty"`
	AwsTsCapMission                       string `json:"aws_orange_cap_mission,omitempty"`
	AwsTsCapRoleName                      string `json:"aws_orange_cap_role_name,omitempty"`
	AwsTsCapCert                          string
	AwsTsCapCertKey                       string
	AwsTsCaChainCert                      string
	AwsTsCapCertPath                      string `json:"aws_orange_cap_cert_path,omitempty"`
	AwsTsCapCertKeyPath                   string `json:"aws_orange_cap_key_path,omitempty"`
	AwsCaCertPath                         string `json:"aws_ca_cert_path,omitempty"`
	AwsSAccountNumber                     string `form:"aws_red_account_number,omitempty" json:"awsredcloud_account_number,omitempty"`
	AwsSCapUrl                            string `form:"aws_red_cap_url,omitempty" json:"aws_red_cap_url,omitempty"`
	AwsSCapAgency                         string `form:"aws_red_cap_agency,omitempty" json:"aws_red_cap_agency,omitempty"`
	AwsSCapAccountName                    string `form:"aws_red_cap_account_name,omitempty" json:"aws_red_cap_account_name,omitempty"`
	AwsSCapRoleName                       string `json:"aws_red_cap_role_name,omitempty"`
	AwsSCapCert                           string
	AwsSCapCertKey                        string
	AwsSCaChainCert                       string
	AwsSCapCertPath                       string   `form:"aws_red_cap_cert_path,omitempty" json:"aws_red_cap_cert_path,omitempty"`
	AwsSCapCertKeyPath                    string   `json:"aws_red_cap_key_path,omitempty"`
	GroupNames                            string   `form:"groups,omitempty"`
	GroupNamesRead                        []string `json:"rbac_groups,omitempty"`
	EdgeCSPUsername                       string   `json:"edge_csp_username"`
	EdgeEquinixUsername                   string   `json:"equinix_username"`
}

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

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

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

type AllowIp

type AllowIp struct {
	IpAddress   string `json:"addr"`
	Description string `json:"desc"`
}

type AllowList

type AllowList struct {
	AllowList []AllowIp `json:"allow_list"`
	Enforce   bool      `json:"enforce"`
	Enable    bool      `json:"enable"`
}

type ApiTokenInfo

type ApiTokenInfo struct {
	ApiToken   string `json:"api_token"`
	LegalTerms string `json:"legal_terms"`
	Reason     string `json:"reason"`
}

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 AttachmentDetail

type AttachmentDetail struct {
	VpcID   string `json:"vpc_id"`
	TgwName string `json:"tgw_name"`
	GwName  string `json:"avx_gw_name"`
}

type AttachmentInfo

type AttachmentInfo struct {
	VpcID                   string `json:"vpc_id"`
	GwName                  string `json:"avx_gw_name"`
	AccountName             string `json:"acct_name"`
	Region                  string `json:"region"`
	SecurityDomainName      string `json:"associated_route_domain_name"`
	VpcName                 string `json:"vpc_name"`
	AwsSideAsn              string
	AwsSideAsnRaw           json.RawMessage `json:"aws_side_asn"`
	EnableGlobalAccelerator bool            `json:"enable_acceleration"`
}

type AttachmentRouteTableDetails

type AttachmentRouteTableDetails struct {
	VpcId                        string   `json:"vpc_id"`
	VpcName                      string   `json:"vpc_name"`
	VpcRegion                    string   `json:"vpc_region"`
	VpcAccount                   string   `json:"vpc_account"`
	RouteDomainName              string   `json:"route_domain_name"`
	Subnets                      []string `json:"attach_subnet_list"`
	RouteTables                  string   `json:"route_table_list"`
	CustomizedRoutes             []string `json:"customized_routes"`
	CustomizedRouteAdvertisement []string `json:"customized_routes_advertise"`
	DisableLocalRoutePropagation bool     `json:"disable_local_propagation"`
}

type AttachmentRouteTableDetailsAPIResp

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

type AttachmentsList

type AttachmentsList struct {
	Attachments map[string]AttachmentInfo `json:"attachments"`
}

type AviatrixVersion

type AviatrixVersion struct {
	Major        int64
	Minor        int64
	Build        int64
	MinorBuildID string
	HasBuild     bool // HasBuild indicates if the version string originally included a build number.
}

func ParseVersion

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

func (*AviatrixVersion) String

func (av *AviatrixVersion) String(includeBuild bool) string

type AwsGuardDuty

type AwsGuardDuty struct {
	ScanningInterval int
	EnabledAccounts  []*AwsGuardDutyAccount
}

type AwsGuardDutyAccount

type AwsGuardDutyAccount struct {
	AccountName string `json:"account"`
	Region      string
	ExcludedIPs []string `json:"exempt_ips"`
}

func (*AwsGuardDutyAccount) ID

func (acc *AwsGuardDutyAccount) ID() string

type AwsPeerAPIResp

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

type AwsPeerGetAPIResp

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

type AwsTgwConnect

type AwsTgwConnect struct {
	Action                  string `form:"action"`
	CID                     string `form:"CID"`
	TgwName                 string `form:"tgw_name" json:"tgw_name"`
	ConnectionName          string `form:"connection_name" json:"connection_name"`
	TransportAttachmentID   string `form:"transport_vpc_id" json:"transport_attachment_id"`
	TransportAttachmentName string `json:"transport_attachment_name"`
	TransportVpcName        string `json:"transport_vpc_name"`
	SecurityDomainName      string `form:"security_domain_name" json:"route_domain_name"`
	ConnectAttachmentID     string `form:"connect_attachment_id" json:"connect_attachment_id"`
	Async                   bool   `form:"async,omitempty"`
}

func (*AwsTgwConnect) ID

func (a *AwsTgwConnect) ID() string

type AwsTgwConnectPeer

type AwsTgwConnectPeer struct {
	Action              string   `form:"action"`
	CID                 string   `form:"CID"`
	TgwName             string   `form:"tgw_name" json:"tgw_name"`
	ConnectAttachmentID string   `form:"connect_attachment_id" json:"connect_attachment_id"`
	ConnectPeerName     string   `form:"connect_peer_name" json:"connect_peer_name"`
	ConnectPeerID       string   `form:"connect_peer_id" json:"connect_peer_id"`
	PeerGreAddress      string   `form:"peer_gre_address" json:"peer_gre_address"`
	InsideIPCidrs       []string `json:"inside_ip_cidr"`
	InsideIPCidrsString string   `form:"bgp_inside_cidrs"`
	PeerASNumber        string   `form:"peer_as_number" json:"peer_asn"`
	TgwGreAddress       string   `form:"tgw_gre_address" json:"tgw_gre_address"`
	ConnectionName      string   `form:"connection_name" json:"connection_name"`
}

func (*AwsTgwConnectPeer) ID

func (a *AwsTgwConnectPeer) ID() string

type AwsTgwDirectConnEdit

type AwsTgwDirectConnEdit struct {
	TgwName                  string   `json:"tgw_name,omitempty"`
	DirectConnectAccountName string   `json:"acct_name,omitempty"`
	DxGatewayID              string   `json:"name,omitempty"`
	SecurityDomainName       string   `json:"associated_route_domain_name,omitempty"`
	AllowedPrefix            []string `json:"allowed_prefix,omitempty"`
	LearnedCidrsApproval     string   `json:"learned_cidrs_approval,omitempty"`
}

type AwsTgwDirectConnResp

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

type AwsTgwDirectConnect

type AwsTgwDirectConnect struct {
	CID                      string `form:"CID,omitempty"`
	Action                   string `form:"action,omitempty"`
	TgwName                  string `form:"tgw_name,omitempty"`
	DirectConnectAccountName string `form:"directconnect_account_name,omitempty"`
	DxGatewayID              string `form:"directconnect_gateway_id,omitempty"`
	DxGatewayName            string `form:"directconnect_gateway_name,omitempty"`
	SecurityDomainName       string `form:"route_domain_name,omitempty"`
	AllowedPrefix            string `form:"allowed_prefix,omitempty"`
	DirectConnectID          string `form:"directconnect_id, omitempty"`
	LearnedCidrsApproval     string `form:"learned_cidrs_approval,omitempty"`
	Async                    bool   `form:"async,omitempty"`
}

type AwsTgwPeering

type AwsTgwPeering struct {
	Action   string `form:"action,omitempty"`
	CID      string `form:"CID,omitempty"`
	TgwName1 string `form:"tgw_name1,omitempty" json:"tgw_name1,omitempty"`
	TgwName2 string `form:"tgw_name2,omitempty" json:"tgw_name2,omitempty"`
	Async    bool   `form:"async,omitempty"`
}

type AwsTgwPeeringAPIResp

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

type AwsTgwTransitGwAttachment

type AwsTgwTransitGwAttachment 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"`
	TransitGatewayName string
}

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"`
	CustomizedRoutes             string `form:"customized_routes,omitempty" json:"customized_routes,omitempty"`
	Subnets                      string
	RouteTables                  string
	CustomizedRouteAdvertisement string
	DisableLocalRoutePropagation bool `form:"disable_local_route_propagation,omitempty" json:"disable_local_route_propagation,omitempty"`
	EdgeAttachment               string
}

type AwsTgwVpnConn

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"`
	LearnedCidrsApproval string `form:"learned_cidrs_approval,omitempty"`
	EnableAcceleration   string `form:"enable_global_acceleration"`
	Async                bool   `form:"async,omitempty"`
}

VGWConn simple struct to hold VGW Connection details

type AwsTgwVpnConnCreateResp

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

type AwsTgwVpnConnEdit

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"`
	OnpremASNRaw         json.RawMessage `json:"aws_side_asn,omitempty"`
	OnpremASN            string
	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"`
	LearnedCidrsApproval string                `json:"learned_cidrs_approval,omitempty"`
	EnableAcceleration   bool                  `json:"enable_acceleration"`
	VpnTunnelData        map[string]TunnelData `json:"vpn_tunnel_data"`
}

type AwsTgwVpnConnResp

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

type AwsVpcInfo

type AwsVpcInfo struct {
	AccountName   string   `json:"account_name,omitempty"`
	VpcID         string   `json:"vpc_id,omitempty"`
	Region        string   `json:"region,omitempty"`
	RoutingTables []string `json:"peering_route_tables,omitempty"`
}

type AzurePeer

type AzurePeer 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
}

type AzurePeerAPIResp

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

type AzureSpokeNativePeering

type AzureSpokeNativePeering struct {
	CID                string `form:"CID,omitempty"`
	Action             string `form:"action,omitempty"`
	TransitGatewayName string `form:"transit_gateway_name,omitempty"`
	SpokeAccountName   string `form:"account_name,omitempty"`
	SpokeRegion        string `form:"region,omitempty"`
	SpokeVpcID         string `form:"vpc_id,omitempty"`
}

type AzureSpokeNativePeeringAPIResp

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

type AzureSpokeNativePeeringEdit

type AzureSpokeNativePeeringEdit struct {
	AccountName string `json:"account_original_name"`
	Name        string `json:"name"`
	Region      string `json:"region"`
	VpcID       string `json:"vpc_id"`
}

type AzureVngConn

type AzureVngConn struct {
	CID                string
	PrimaryGatewayName string
	ConnectionName     string
}

type AzureVngConnResp

type AzureVngConnResp struct {
	VpcId              string `json:"vpc_id"`
	PrimaryGatewayName string `json:"primary_gateway_name"`
	VngName            string `json:"vng_names"`
	Attached           bool   `json:"attached"`
	ConnectionName     string `json:"connection_name"`
}

type BundleVpcInfo

type BundleVpcInfo struct {
	LAN BundleVpcLanInfo
}

type BundleVpcLanInfo

type BundleVpcLanInfo struct {
	VpcID  string `json:"vpc_id"`
	Subnet string `json:"subnet"`
}

type CIDRMember

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

type CaCertInstance

type CaCertInstance struct {
	ID             string `json:"_id,omitempty"`
	TagName        string `json:"s2c_cacert_tag_name,omitempty"`
	SerialNumber   string `json:"serial_number,omitempty"`
	Issuer         string `json:"issuer,omitempty"`
	CommonName     string `json:"common_name,omitempty"`
	ExpirationDate string `json:"expire_date,omitempty"`
	CertContent    string `json:"cert_content,omitempty"`
}

type CentralizedTransitFirenet

type CentralizedTransitFirenet struct {
	CID             string `form:"CID,omitempty"`
	Action          string `form:"action,omitempty"`
	PrimaryGwName   string `form:"primary_gw_name,omitempty"`
	SecondaryGwName string `form:"secondary_gw_name,omitempty"`
}

type CertDomainConfig

type CertDomainConfig struct {
	CertDomain string `json:"cert_domain"`
	IsDefault  bool   `json:"is_default"`
}

type CheckAPIResponseFunc

type CheckAPIResponseFunc func(action, method, reason string, ret bool) error

CheckAPIResponseFunc looks at the Reason and Return fields from an API response and returns an error

var BasicCheck CheckAPIResponseFunc = func(action, method, reason string, ret bool) error {
	if !ret {
		return fmt.Errorf("rest API %s %s failed: %s", action, method, reason)
	}
	return nil
}

BasicCheck will only verify that the Return field was set to true

var DuplicateBasicCheck CheckAPIResponseFunc = func(action, method, reason string, ret bool) error {
	if !ret {
		err := fmt.Errorf("rest API %s %s failed: %s", action, method, reason)
		if strings.Contains(strings.ToLower(reason), "already exists") {
			return DuplicateError{
				Err: err,
			}
		}
		return err
	}
	return nil
}

DuplicateBasicCheck will verify that the Return field was set to true If the Return is false and Reason contains "already exists", it will return a DuplicateError

type Client

type Client struct {
	HTTPClient   *http.Client
	Username     string
	Password     string
	CID          string
	ControllerIP string

	IgnoreTagsConfig *IgnoreTagsConfig
	// contains filtered or unexported fields
}

Client for accessing the Aviatrix Controller

func NewClient

func NewClient(username string, password string, controllerIP string, HTTPClient *http.Client, ignoreTagsConfig *IgnoreTagsConfig) (*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 NewClientForCloudn

func NewClientForCloudn(username string, password string, controllerIP string, HTTPClient *http.Client, ignoreTagsConfig *IgnoreTagsConfig) (*Client, error)

func (*Client) AddElbToGeoVPN

func (c *Client) AddElbToGeoVPN(geoVPN *GeoVPN) error

func (*Client) AddFQDNTagRule

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

func (*Client) AddFirewallPolicy

func (c *Client) AddFirewallPolicy(fw *Firewall) error

func (*Client) AddSpokeGatewaySubnetGroup

func (c *Client) AddSpokeGatewaySubnetGroup(ctx context.Context, spokeGatewaySubnetGroup *SpokeGatewaySubnetGroup) error

func (*Client) AddTags

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

func (*Client) AssociateFirewallWithFireNet

func (c *Client) AssociateFirewallWithFireNet(firewallInstance *FirewallInstance) error

func (*Client) AsyncUpgrade

func (c *Client) AsyncUpgrade(version *Version, upgradeGateways bool) error

AsyncUpgrade will upgrade controller asynchronously

func (*Client) AttachAviatrixTransitGWToAWSTgw

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

func (*Client) AttachDeviceTag

func (c *Client) AttachDeviceTag(brt *DeviceTag) error

func (*Client) AttachFirewallToFireNet

func (c *Client) AttachFirewallToFireNet(firewallInstance *FirewallInstance) error

func (*Client) AttachGws

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

func (*Client) AttachTGWConnectToTGW

func (c *Client) AttachTGWConnectToTGW(ctx context.Context, connect *AwsTgwConnect) error

func (*Client) AttachTagToGw

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) AuditAccount

func (c *Client) AuditAccount(ctx context.Context, account *Account) error

func (*Client) ChangeBgpHoldTime

func (c *Client) ChangeBgpHoldTime(gwName string, holdTime int) error

func (*Client) ChangeBgpOverLanIntfCnt

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

func (*Client) CommitDeviceTag

func (c *Client) CommitDeviceTag(brt *DeviceTag) error

func (*Client) ConfigNotificationEmails

func (c *Client) ConfigNotificationEmails(ctx context.Context, emailConfiguration *EmailConfiguration) error

func (*Client) ConfigureDeviceInterfaces

func (c *Client) ConfigureDeviceInterfaces(config *DeviceInterfaceConfig) error

func (*Client) ConfigureFQDNPassThroughCIDRs

func (c *Client) ConfigureFQDNPassThroughCIDRs(gw *Gateway, IPs []string) error

func (*Client) ConfigureGatewayCertificate

func (c *Client) ConfigureGatewayCertificate(ctx context.Context, gwCert *GatewayCertificate) error

func (*Client) ConnectAzureVng

func (c *Client) ConnectAzureVng(r *AzureVngConn) error

func (*Client) ConnectFireNetWithTgw

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

func (*Client) ControllerVersionValidation

func (c *Client) ControllerVersionValidation(supportedVersions []string) error

func (*Client) CreateAWSPeer

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

func (*Client) CreateAWSSAccount

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

func (*Client) CreateAWSTSAccount

func (c *Client) CreateAWSTSAccount(account *Account) 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) CreateAwsTgwDirectConnect

func (c *Client) CreateAwsTgwDirectConnect(awsTgwDirectConnect *AwsTgwDirectConnect) error

func (*Client) CreateAwsTgwPeering

func (c *Client) CreateAwsTgwPeering(awsTgwPeering *AwsTgwPeering) error

func (*Client) CreateAwsTgwTransitGwAttachment

func (c *Client) CreateAwsTgwTransitGwAttachment(awsTgwTransitGwAttachment *AwsTgwTransitGwAttachment) error

func (*Client) CreateAwsTgwVpcAttachment

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

func (*Client) CreateAwsTgwVpcAttachmentForFireNet

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

func (*Client) CreateAwsTgwVpnConn

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

func (*Client) CreateAzurePeer

func (c *Client) CreateAzurePeer(azurePeer *AzurePeer) error

func (*Client) CreateAzureSpokeNativePeering

func (c *Client) CreateAzureSpokeNativePeering(azureSpokeNativePeering *AzureSpokeNativePeering) error

func (*Client) CreateCentralizedTransitFireNet

func (c *Client) CreateCentralizedTransitFireNet(ctx context.Context, firenetAttachment *CentralizedTransitFirenet) error

func (*Client) CreateCloudnRegistration

func (c *Client) CreateCloudnRegistration(ctx context.Context, cloudnRegistration *CloudnRegistration) error

CreateCloudnRegistration should only be called with a CloudN Client, not the default controller Client

func (*Client) CreateCloudnTransitGatewayAttachment

func (c *Client) CreateCloudnTransitGatewayAttachment(ctx context.Context, attachment *CloudnTransitGatewayAttachment) error

func (*Client) CreateControllerAccessAllowList

func (c *Client) CreateControllerAccessAllowList(ctx context.Context, allowList *AllowList) error

func (*Client) CreateCopilotFaultTolerant added in v3.1.1

func (c *Client) CreateCopilotFaultTolerant(ctx context.Context, copilotFaultTolerantDeployment *CopilotFaultTolerantDeployment) error

func (*Client) CreateCopilotSimple added in v3.1.1

func (c *Client) CreateCopilotSimple(ctx context.Context, copilotDeployment *CopilotSimpleDeployment) error

func (*Client) CreateDeviceAwsTgwAttachment

func (c *Client) CreateDeviceAwsTgwAttachment(attachment *DeviceAwsTgwAttachment) error

func (*Client) CreateDeviceTag

func (c *Client) CreateDeviceTag(deviceTag *DeviceTag) error

func (*Client) CreateDistributedFirewallingIntraVpc

func (c *Client) CreateDistributedFirewallingIntraVpc(ctx context.Context, vpcList *DistributedFirewallingIntraVpcList) error

func (*Client) CreateDistributedFirewallingPolicyList

func (c *Client) CreateDistributedFirewallingPolicyList(ctx context.Context, policyList *DistributedFirewallingPolicyList) error

func (*Client) CreateDomainConn

func (c *Client) CreateDomainConn(domainConn *DomainConn) error

func (*Client) CreateDomainConnection

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

func (*Client) CreateEdgeAccount

func (c *Client) CreateEdgeAccount(edgeAccount *EdgeAccount) error

func (*Client) CreateEdgeCSP

func (c *Client) CreateEdgeCSP(ctx context.Context, edgeCSP *EdgeCSP) error

func (*Client) CreateEdgeCSPHa

func (c *Client) CreateEdgeCSPHa(ctx context.Context, edgeCSPHa *EdgeCSPHa) (string, error)

func (*Client) CreateEdgeEquinix

func (c *Client) CreateEdgeEquinix(ctx context.Context, edgeEquinix *EdgeEquinix) error

func (*Client) CreateEdgeEquinixHa

func (c *Client) CreateEdgeEquinixHa(ctx context.Context, edgeEquinixHa *EdgeEquinixHa) (string, error)

func (*Client) CreateEdgeExternalDeviceConn

func (c *Client) CreateEdgeExternalDeviceConn(edgeExternalDeviceConn *EdgeExternalDeviceConn) (string, error)

func (*Client) CreateEdgeNEO

func (c *Client) CreateEdgeNEO(ctx context.Context, edgeNEO *EdgeNEO) error

func (*Client) CreateEdgeNEOHa

func (c *Client) CreateEdgeNEOHa(ctx context.Context, edgeNEOHa *EdgeNEOHa) (string, error)

func (*Client) CreateEdgeSpoke

func (c *Client) CreateEdgeSpoke(ctx context.Context, edgeSpoke *EdgeSpoke) error

func (*Client) CreateEdgeVmSelfmanagedHa added in v3.1.4

func (c *Client) CreateEdgeVmSelfmanagedHa(ctx context.Context, edgeVmSelfmanagedHa *EdgeVmSelfmanagedHa) (string, error)

func (*Client) CreateExternalDeviceConn

func (c *Client) CreateExternalDeviceConn(externalDeviceConn *ExternalDeviceConn) error

func (*Client) CreateFQDN

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

func (*Client) CreateFireNet

func (c *Client) CreateFireNet(fireNet *FireNet) error

func (*Client) CreateFirewallInstance

func (c *Client) CreateFirewallInstance(firewallInstance *FirewallInstance) (string, error)

func (*Client) CreateFirewallManagementAccess

func (c *Client) CreateFirewallManagementAccess(firewallManagementAccess *FirewallManagementAccess) error

func (*Client) CreateFirewallTag

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

func (*Client) CreateGCPAccount

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

func (*Client) CreateGateway

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

func (*Client) CreateGlobalVpcExcludedInstance

func (c *Client) CreateGlobalVpcExcludedInstance(ctx context.Context, globalVpcExcludedInstance *GlobalVpcExcludedInstance) (string, error)

func (*Client) CreateOCIAccount

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

func (*Client) CreatePeriodicPing

func (c *Client) CreatePeriodicPing(pp *PeriodicPing) error

func (*Client) CreatePermissionGroup

func (c *Client) CreatePermissionGroup(rbacGroup *RbacGroup) error

func (*Client) CreatePrivateModeControllerLoadBalancer

func (c *Client) CreatePrivateModeControllerLoadBalancer(ctx context.Context, privateModeLb *PrivateModeLb) error

func (*Client) CreatePrivateModeMulticloudEndpoint

func (c *Client) CreatePrivateModeMulticloudEndpoint(ctx context.Context, privateModeMulticloudEndpoint *PrivateModeMulticloudEndpoint) error

func (*Client) CreatePrivateModeMulticloudLoadBalancer

func (c *Client) CreatePrivateModeMulticloudLoadBalancer(ctx context.Context, privateModeLb *PrivateModeLb) error

func (*Client) CreateProfile

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

func (*Client) CreateProxyConfig

func (c *Client) CreateProxyConfig(proxyConfig *ProxyConfig) error

func (*Client) CreatePublicSubnetFilteringGateway

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

func (*Client) CreateQosClass

func (c *Client) CreateQosClass(ctx context.Context, qosClass *QosClass) (string, error)

func (*Client) CreateRbacGroupAccessAccountAttachment

func (c *Client) CreateRbacGroupAccessAccountAttachment(rbacGroupAccessAccountAttachment *RbacGroupAccessAccountAttachment) error

func (*Client) CreateRbacGroupPermissionAttachment

func (c *Client) CreateRbacGroupPermissionAttachment(rbacGroupPermissionAttachment *RbacGroupPermissionAttachment) error

func (*Client) CreateRbacGroupUserAttachment

func (c *Client) CreateRbacGroupUserAttachment(rbacGroupUserAttachment *RbacGroupUserAttachment) error

func (*Client) CreateS2CCaCert

func (c *Client) CreateS2CCaCert(ctx context.Context, s2cCaCert *S2CCaCert) error

func (*Client) CreateSamlEndpoint

func (c *Client) CreateSamlEndpoint(samlEndpoint *SamlEndpoint) error

func (*Client) CreateSecurityDomain

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

func (*Client) CreateSegmentationSecurityDomain

func (c *Client) CreateSegmentationSecurityDomain(domain *SegmentationSecurityDomain) error

func (*Client) CreateSegmentationSecurityDomainAssociation

func (c *Client) CreateSegmentationSecurityDomainAssociation(association *SegmentationSecurityDomainAssociation) error

func (*Client) CreateSegmentationSecurityDomainConnectionPolicy

func (c *Client) CreateSegmentationSecurityDomainConnectionPolicy(policy *SegmentationSecurityDomainConnectionPolicy) error

func (*Client) CreateSite2Cloud

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

func (*Client) CreateSmartGroup

func (c *Client) CreateSmartGroup(ctx context.Context, smartGroup *SmartGroup) (string, error)

func (*Client) CreateSpokeHaGw

func (c *Client) CreateSpokeHaGw(spokeHaGateway *SpokeHaGateway) (string, error)

func (*Client) CreateSpokeTransitAttachment

func (c *Client) CreateSpokeTransitAttachment(spokeTransitAttachment *SpokeTransitAttachment) error

func (*Client) CreateTGWConnectPeer

func (c *Client) CreateTGWConnectPeer(ctx context.Context, peer *AwsTgwConnectPeer) error

func (*Client) CreateTransPeer

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

func (*Client) CreateTransitFireNetPolicy

func (c *Client) CreateTransitFireNetPolicy(transitFireNetPolicy *TransitFireNetPolicy) error

func (*Client) CreateTransitGatewayPeering

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

func (*Client) CreateTransitHaGw

func (c *Client) CreateTransitHaGw(transitHaGateway *TransitHaGateway) (string, 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

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

func (*Client) CreateWebGroup

func (c *Client) CreateWebGroup(ctx context.Context, webGroup *WebGroup) (string, error)

func (*Client) Delete

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

Delete issues an HTTP DELETE request.

func (*Client) DeleteAPIContext25

func (c *Client) DeleteAPIContext25(ctx context.Context, path string, d interface{}) 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) DeleteAwsTgwDirectConnect

func (c *Client) DeleteAwsTgwDirectConnect(awsTgwDirectConnect *AwsTgwDirectConnect) error

func (*Client) DeleteAwsTgwPeering

func (c *Client) DeleteAwsTgwPeering(awsTgwPeering *AwsTgwPeering) error

func (*Client) DeleteAwsTgwTransitGwAttachment

func (c *Client) DeleteAwsTgwTransitGwAttachment(awsTgwTransitGwAttachment *AwsTgwTransitGwAttachment) error

func (*Client) DeleteAwsTgwVpcAttachment

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

func (*Client) DeleteAwsTgwVpcAttachmentForFireNet

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

func (*Client) DeleteAwsTgwVpnConn

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

func (*Client) DeleteAzurePeer

func (c *Client) DeleteAzurePeer(azurePeer *AzurePeer) error

func (*Client) DeleteAzureSpokeNativePeering

func (c *Client) DeleteAzureSpokeNativePeering(azureSpokeNativePeering *AzureSpokeNativePeering) error

func (*Client) DeleteCaCertificate added in v3.1.1

func (c *Client) DeleteCaCertificate(ctx context.Context) error

func (*Client) DeleteCentralizedTransitFireNet

func (c *Client) DeleteCentralizedTransitFireNet(ctx context.Context, firenetAttachment *CentralizedTransitFirenet) error

func (*Client) DeleteCertInstance

func (c *Client) DeleteCertInstance(ctx context.Context, caCertInstance *CaCertInstance) error

func (*Client) DeleteCloudnRegistration

func (c *Client) DeleteCloudnRegistration(ctx context.Context, cloudnRegistration *CloudnRegistration) error

func (*Client) DeleteControllerAccessAllowList

func (c *Client) DeleteControllerAccessAllowList(ctx context.Context) error

func (*Client) DeleteCopilotFaultTolerant added in v3.1.1

func (c *Client) DeleteCopilotFaultTolerant(ctx context.Context) error

func (*Client) DeleteCopilotSimple added in v3.1.1

func (c *Client) DeleteCopilotSimple(ctx context.Context) error

func (*Client) DeleteDeviceAttachment

func (c *Client) DeleteDeviceAttachment(connectionName string) error

func (*Client) DeleteDeviceTag

func (c *Client) DeleteDeviceTag(brt *DeviceTag) error

func (*Client) DeleteDistributedFirewallingIntraVpc

func (c *Client) DeleteDistributedFirewallingIntraVpc(ctx context.Context) error

func (*Client) DeleteDistributedFirewallingPolicyList

func (c *Client) DeleteDistributedFirewallingPolicyList(ctx context.Context) error

func (*Client) DeleteDomainConn

func (c *Client) DeleteDomainConn(domainConn *DomainConn) error

func (*Client) DeleteDomainConnection

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

func (*Client) DeleteEdgeCSP

func (c *Client) DeleteEdgeCSP(ctx context.Context, accountName, name string) error

func (*Client) DeleteEdgeEquinix

func (c *Client) DeleteEdgeEquinix(ctx context.Context, accountName, name string) error

func (*Client) DeleteEdgeExternalDeviceConn

func (c *Client) DeleteEdgeExternalDeviceConn(edgeExternalDeviceConn *EdgeExternalDeviceConn) error

func (*Client) DeleteEdgeNEO

func (c *Client) DeleteEdgeNEO(ctx context.Context, accountName, name string) error

func (*Client) DeleteEdgeNEODevice

func (c *Client) DeleteEdgeNEODevice(ctx context.Context, accountName, serialNumber string) error

func (*Client) DeleteEdgeSpoke

func (c *Client) DeleteEdgeSpoke(ctx context.Context, name string) error

func (*Client) DeleteElbFromGeoVPN

func (c *Client) DeleteElbFromGeoVPN(geoVPN *GeoVPN) error

func (*Client) DeleteEnforcementLevel added in v3.1.1

func (c *Client) DeleteEnforcementLevel(ctx context.Context) error

func (*Client) DeleteExternalDeviceConn

func (c *Client) DeleteExternalDeviceConn(externalDeviceConn *ExternalDeviceConn) error

func (*Client) DeleteFQDN

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

func (*Client) DeleteFQDNTagRule

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

func (*Client) DeleteFirewallInstance

func (c *Client) DeleteFirewallInstance(firewallInstance *FirewallInstance) error

func (*Client) DeleteFirewallPolicy

func (c *Client) DeleteFirewallPolicy(fw *Firewall) error

func (*Client) DeleteFirewallTag

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

func (*Client) DeleteGateway

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

func (*Client) DeleteGlobalVpcExcludedInstance

func (c *Client) DeleteGlobalVpcExcludedInstance(ctx context.Context, uuid string) error

func (*Client) DeletePeriodicPing

func (c *Client) DeletePeriodicPing(pp *PeriodicPing) error

func (*Client) DeletePermissionGroup

func (c *Client) DeletePermissionGroup(rbacGroup *RbacGroup) error

func (*Client) DeletePrivateModeLoadBalancer

func (c *Client) DeletePrivateModeLoadBalancer(ctx context.Context, loadBalancerVpcId string) error

func (*Client) DeletePrivateModeMulticloudEndpoint

func (c *Client) DeletePrivateModeMulticloudEndpoint(ctx context.Context, vpcId string) error

func (*Client) DeleteProfile

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

func (*Client) DeleteProxyConfig

func (c *Client) DeleteProxyConfig() error

func (*Client) DeletePublicSubnetFilteringGateway

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

func (*Client) DeleteQosClass

func (c *Client) DeleteQosClass(ctx context.Context, uuid string) error

func (*Client) DeleteQosPolicyList

func (c *Client) DeleteQosPolicyList(ctx context.Context) error

func (*Client) DeleteRbacGroupAccessAccountAttachment

func (c *Client) DeleteRbacGroupAccessAccountAttachment(rbacGroupAccessAccountAttachment *RbacGroupAccessAccountAttachment) error

func (*Client) DeleteRbacGroupPermissionAttachment

func (c *Client) DeleteRbacGroupPermissionAttachment(rbacGroupPermissionAttachment *RbacGroupPermissionAttachment) error

func (*Client) DeleteRbacGroupUserAttachment

func (c *Client) DeleteRbacGroupUserAttachment(rbacGroupUserAttachment *RbacGroupUserAttachment) error

func (*Client) DeleteSamlEndpoint

func (c *Client) DeleteSamlEndpoint(samlEndpoint *SamlEndpoint) error

func (*Client) DeleteSecurityDomain

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

func (*Client) DeleteSegmentationSecurityDomain

func (c *Client) DeleteSegmentationSecurityDomain(domain *SegmentationSecurityDomain) error

func (*Client) DeleteSegmentationSecurityDomainAssociation

func (c *Client) DeleteSegmentationSecurityDomainAssociation(association *SegmentationSecurityDomainAssociation) error

func (*Client) DeleteSegmentationSecurityDomainConnectionPolicy

func (c *Client) DeleteSegmentationSecurityDomainConnectionPolicy(policy *SegmentationSecurityDomainConnectionPolicy) error

func (*Client) DeleteSite2Cloud

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

func (*Client) DeleteSmartGroup

func (c *Client) DeleteSmartGroup(ctx context.Context, uuid string) error

func (*Client) DeleteSpokeGatewaySubnetGroup

func (c *Client) DeleteSpokeGatewaySubnetGroup(ctx context.Context, spokeGatewaySubnetGroup *SpokeGatewaySubnetGroup) error

func (*Client) DeleteSpokeTransitAttachment

func (c *Client) DeleteSpokeTransitAttachment(spokeTransitAttachment *SpokeTransitAttachment) error

func (*Client) DeleteTGWConnectPeer

func (c *Client) DeleteTGWConnectPeer(ctx context.Context, peer *AwsTgwConnectPeer) error

func (*Client) DeleteTags

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

func (*Client) DeleteTransPeer

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

func (*Client) DeleteTransitFireNetPolicy

func (c *Client) DeleteTransitFireNetPolicy(transitFireNetPolicy *TransitFireNetPolicy) 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

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

func (*Client) DeleteWebGroup

func (c *Client) DeleteWebGroup(ctx context.Context, uuid string) error

func (*Client) DestroyFirewallManagementAccess

func (c *Client) DestroyFirewallManagementAccess(firewallManagementAccess *FirewallManagementAccess) error

func (*Client) DetachAviatrixTransitGWFromAWSTgw

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

func (*Client) DetachFirewallFromFireNet

func (c *Client) DetachFirewallFromFireNet(firewallInstance *FirewallInstance) error

func (*Client) DetachGws

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

func (*Client) DetachTGWConnectFromTGW

func (c *Client) DetachTGWConnectFromTGW(ctx context.Context, connect *AwsTgwConnect) 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) DisableActiveStandby

func (c *Client) DisableActiveStandby(transitGateway *TransitVpc) error

func (*Client) DisableActiveStandbySpoke

func (c *Client) DisableActiveStandbySpoke(spokeGateway *SpokeVpc) error

func (*Client) DisableAdvertiseTransitCidr

func (c *Client) DisableAdvertiseTransitCidr(transitGw *TransitVpc) error

func (*Client) DisableAutoAdvertiseS2CCidrs

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

func (*Client) DisableAwsGuardDuty

func (c *Client) DisableAwsGuardDuty(account *AwsGuardDutyAccount) error

func (*Client) DisableCloudnBackupConfig

func (c *Client) DisableCloudnBackupConfig() error

func (*Client) DisableCloudwatchAgent

func (c *Client) DisableCloudwatchAgent() error

func (*Client) DisableConnectedTransit

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

func (*Client) DisableControllerBgpMaxAsLimit

func (c *Client) DisableControllerBgpMaxAsLimit(ctx context.Context) error

func (*Client) DisableCopilotAssociation

func (c *Client) DisableCopilotAssociation(ctx context.Context) error

func (*Client) DisableCopilotSecurityGroupManagement

func (c *Client) DisableCopilotSecurityGroupManagement(ctx context.Context) error

func (*Client) DisableCustomSNat

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

func (*Client) DisableDatadogAgent

func (c *Client) DisableDatadogAgent() error

func (*Client) DisableDeadPeerDetection

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

func (*Client) DisableDirectConnectLearnedCidrsApproval

func (c *Client) DisableDirectConnectLearnedCidrsApproval(awsTgwDirectConnect *AwsTgwDirectConnect) error

func (*Client) DisableDistributedFirewalling

func (c *Client) DisableDistributedFirewalling(ctx context.Context) error

func (*Client) DisableEdgeSpokeTransitiveRouting

func (c *Client) DisableEdgeSpokeTransitiveRouting(ctx context.Context, name string) error

func (*Client) DisableEgressTransitFirenet

func (c *Client) DisableEgressTransitFirenet(transitGateway *TransitVpc) error

func (*Client) DisableExceptionRule

func (c *Client) DisableExceptionRule() error

func (*Client) DisableFQDNCache

func (c *Client) DisableFQDNCache(ctx context.Context) error

func (*Client) DisableFQDNExactMatch

func (c *Client) DisableFQDNExactMatch(ctx context.Context) error

func (*Client) DisableFQDNExceptionRule

func (c *Client) DisableFQDNExceptionRule(ctx context.Context) error

func (*Client) DisableFQDNPassThrough

func (c *Client) DisableFQDNPassThrough(gw *Gateway) error

func (*Client) DisableFQDNPrivateNetwork

func (c *Client) DisableFQDNPrivateNetwork(ctx context.Context) error

func (*Client) DisableFilebeatForwarder

func (c *Client) DisableFilebeatForwarder() error

func (*Client) DisableFireNetLanKeepAlive

func (c *Client) DisableFireNetLanKeepAlive(net *FireNet) error

func (*Client) DisableGatewayCertificate

func (c *Client) DisableGatewayCertificate(ctx context.Context) error

func (*Client) DisableGatewayFireNetInterfaces

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

func (*Client) DisableGeoVPN

func (c *Client) DisableGeoVPN(geoVPN *GeoVPN) error

func (*Client) DisableGlobalVpc

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

func (*Client) DisableGroGso

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

func (*Client) DisableGuardDutyEnforcement

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

func (*Client) DisableHttpAccess

func (c *Client) DisableHttpAccess() error

func (*Client) DisableImportedHTTPSCerts

func (c *Client) DisableImportedHTTPSCerts() error

func (*Client) DisableIntraDomainInspection

func (c *Client) DisableIntraDomainInspection(ctx context.Context, intraDomainInspection *IntraDomainInspection) error

func (*Client) DisableJumboFrame

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

func (*Client) DisableJumboFrameExternalDeviceConn

func (c *Client) DisableJumboFrameExternalDeviceConn(externalDeviceConn *ExternalDeviceConn) error

func (*Client) DisableJumboFrameOnConnectionToCloudn

func (c *Client) DisableJumboFrameOnConnectionToCloudn(ctx context.Context, connName, vpcID string) error

func (*Client) DisableLocalLoginForRBACGroup

func (c *Client) DisableLocalLoginForRBACGroup(GroupName string) error

func (*Client) DisableMonitorGatewaySubnets

func (c *Client) DisableMonitorGatewaySubnets(gwName string) error

func (*Client) DisableMultitierTransit

func (c *Client) DisableMultitierTransit(gwName string) error

func (*Client) DisableNativeAwsGwlbFirenet

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

func (*Client) DisableNetflowAgent

func (c *Client) DisableNetflowAgent() error

func (*Client) DisablePrivateMode

func (c *Client) DisablePrivateMode(ctx context.Context) error

func (*Client) DisablePrivateOob

func (c *Client) DisablePrivateOob() error

func (*Client) DisablePrivateVpcDefaultRoute

func (c *Client) DisablePrivateVpcDefaultRoute(gw *Gateway) error

func (*Client) DisableRemoteSyslog

func (c *Client) DisableRemoteSyslog(idx int) error

func (*Client) DisableS2CRxBalancing

func (c *Client) DisableS2CRxBalancing(gwName string) error

func (*Client) DisableSNat

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

func (*Client) DisableSecurityGroupManagement

func (c *Client) DisableSecurityGroupManagement() error

func (*Client) DisableSegmentation

func (c *Client) DisableSegmentation(transitGateway *TransitVpc) error

func (*Client) DisableSingleAZGateway

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

func (*Client) DisableSite2CloudEventTriggeredHA

func (c *Client) DisableSite2CloudEventTriggeredHA(vpcID, connectionName string) error

func (*Client) DisableSite2cloudActiveActive

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

func (*Client) DisableSkipPublicRouteUpdate

func (c *Client) DisableSkipPublicRouteUpdate(gw *Gateway) error

func (*Client) DisableSplunkLogging

func (c *Client) DisableSplunkLogging() error

func (*Client) DisableSpokeConnectionLearnedCIDRApproval

func (c *Client) DisableSpokeConnectionLearnedCIDRApproval(gwName, connName string) error

func (*Client) DisableSpokeLearnedCidrsApproval

func (c *Client) DisableSpokeLearnedCidrsApproval(gateway *SpokeVpc) error

func (*Client) DisableSpokeMappedSite2CloudForwarding

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

func (*Client) DisableSpokeOnpremRoutePropagation

func (c *Client) DisableSpokeOnpremRoutePropagation(spokeGateway *SpokeVpc) error

func (*Client) DisableSpokePreserveAsPath

func (c *Client) DisableSpokePreserveAsPath(spokeGateway *SpokeVpc) error

func (*Client) DisableSummarizeCidrToTgw

func (c *Client) DisableSummarizeCidrToTgw(gwName string) error

func (*Client) DisableSumologicForwarder

func (c *Client) DisableSumologicForwarder() error

func (*Client) DisableTgwSegmentationForEgress

func (c *Client) DisableTgwSegmentationForEgress(net *FireNet) error

func (*Client) DisableTransitConnectionLearnedCIDRApproval

func (c *Client) DisableTransitConnectionLearnedCIDRApproval(gwName, connName string) error

func (*Client) DisableTransitFireNet

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

func (*Client) DisableTransitLearnedCidrsApproval

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

func (*Client) DisableTransitPreserveAsPath

func (c *Client) DisableTransitPreserveAsPath(transitGateway *TransitVpc) error

func (*Client) DisableVPNCertDownload

func (c *Client) DisableVPNCertDownload() error

func (*Client) DisableVPNConfig

func (c *Client) DisableVPNConfig(gateway *Gateway, vpnConfig *VPNConfig) error

func (*Client) DisableVpcDnsServer

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

func (*Client) DisableVpnConnectionLearnedCidrsApproval

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

func (*Client) DisableVpnNat

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

func (*Client) DisassociateFirewallFromFireNet

func (c *Client) DisassociateFirewallFromFireNet(firewallInstance *FirewallInstance) error

func (*Client) DisconnectAzureVng

func (c *Client) DisconnectAzureVng(vpcId string, connectionName string) error

func (*Client) DisconnectFireNetFromTgw

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

func (*Client) DoAPIContext2

func (c *Client) DoAPIContext2(ctx context.Context, verb string, v interface{}, action string, d interface{}, checkFunc CheckAPIResponseFunc) error

func (*Client) DoAPIContext25

func (c *Client) DoAPIContext25(ctx context.Context, verb string, v interface{}, path string, d interface{}) error

func (*Client) DoAPIContext2HaGw

func (c *Client) DoAPIContext2HaGw(ctx context.Context, verb string, v interface{}, action string, d interface{}, checkFunc CheckAPIResponseFunc) (string, error)

func (*Client) DoAPIContext2WithResult

func (c *Client) DoAPIContext2WithResult(ctx context.Context, verb string, v interface{}, action string, d interface{}, checkFunc CheckAPIResponseFunc) (string, error)

func (*Client) DoAPIFileContext25 added in v3.1.1

func (c *Client) DoAPIFileContext25(ctx context.Context, verb string, path string, params map[string]string, files []File) error

func (*Client) DownloadEdgeNEOConfigFile

func (c *Client) DownloadEdgeNEOConfigFile(ctx context.Context, edgeNEODevice *EdgeNEODevice) error

func (*Client) EditBgpMd5Key

func (c *Client) EditBgpMd5Key(editBgpMd5Key *EditBgpMd5Key) error

func (*Client) EditCloudnTransitGatewayAttachmentASPathPrepend

func (c *Client) EditCloudnTransitGatewayAttachmentASPathPrepend(ctx context.Context, attachment *CloudnTransitGatewayAttachment, prependASPath []string) error

func (*Client) EditDesignatedGateway

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

func (*Client) EditFireNetEgress

func (c *Client) EditFireNetEgress(fireNet *FireNet) error

func (*Client) EditFireNetFirewallManagerVendorInfo

func (c *Client) EditFireNetFirewallManagerVendorInfo(ctx context.Context, firewallManager *FirewallManager) error

func (*Client) EditFireNetFirewallVendorInfo

func (c *Client) EditFireNetFirewallVendorInfo(vendorInfo *VendorInfo) error

func (*Client) EditFireNetFirewallVendorInfoWithPrivateKey

func (c *Client) EditFireNetFirewallVendorInfoWithPrivateKey(vendorInfo *VendorInfo) error

func (*Client) EditFireNetHashingAlgorithm

func (c *Client) EditFireNetHashingAlgorithm(fireNet *FireNet) error

func (*Client) EditFireNetInspection

func (c *Client) EditFireNetInspection(fireNet *FireNet) error

func (*Client) EditFirenetEgressStaticCidr

func (c *Client) EditFirenetEgressStaticCidr(net *FireNet) error

func (*Client) EditFirenetExcludedCidr

func (c *Client) EditFirenetExcludedCidr(net *FireNet) error

func (*Client) EditGatewayAdvertisedCidr

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

func (*Client) EditGatewayCustomRoutes

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

func (*Client) EditGatewayFilterRoutes

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

func (*Client) EditPublicSubnetFilteringRouteTableList

func (c *Client) EditPublicSubnetFilteringRouteTableList(gateway *Gateway, routeTables []string) error

func (*Client) EditSamlEndpoint

func (c *Client) EditSamlEndpoint(samlEndpoint *SamlEndpoint) error

func (*Client) EditSite2CloudPhase1LocalIdentifier

func (c *Client) EditSite2CloudPhase1LocalIdentifier(s2c *EditSite2Cloud) error

func (*Client) EditSpokeConnectionBGPManualAdvertiseCIDRs

func (c *Client) EditSpokeConnectionBGPManualAdvertiseCIDRs(gwName, connName string, cidrs []string) error

func (*Client) EditSpokeExternalDeviceConnASPathPrepend

func (c *Client) EditSpokeExternalDeviceConnASPathPrepend(externalDeviceConn *ExternalDeviceConn, prependASPath []string) error

func (*Client) EditTgwSpokeVpcCustomizedRouteAdvertisement

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

func (*Client) EditTgwSpokeVpcCustomizedRoutes

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

func (*Client) EditTransitConnectionASPathPrepend

func (c *Client) EditTransitConnectionASPathPrepend(transitGatewayPeering *TransitGatewayPeering, prependASPath []string) error

func (*Client) EditTransitConnectionBGPManualAdvertiseCIDRs

func (c *Client) EditTransitConnectionBGPManualAdvertiseCIDRs(gwName, connName string, cidrs []string) error

func (*Client) EditTransitConnectionRemoteSubnet

func (c *Client) EditTransitConnectionRemoteSubnet(vpcId, connName, remoteSubnet string) error

func (*Client) EditTransitExternalDeviceConnASPathPrepend

func (c *Client) EditTransitExternalDeviceConnASPathPrepend(externalDeviceConn *ExternalDeviceConn, prependASPath []string) error

func (*Client) EditVgwConnectionASPathPrepend

func (c *Client) EditVgwConnectionASPathPrepend(vgwConn *VGWConn, prependASPath []string) error

func (*Client) EnableActiveStandby

func (c *Client) EnableActiveStandby(transitGateway *TransitVpc) error

func (*Client) EnableActiveStandbyPreemptive

func (c *Client) EnableActiveStandbyPreemptive(transitGateway *TransitVpc) error

func (*Client) EnableActiveStandbyPreemptiveSpoke

func (c *Client) EnableActiveStandbyPreemptiveSpoke(spokeGateway *SpokeVpc) error

func (*Client) EnableActiveStandbySpoke

func (c *Client) EnableActiveStandbySpoke(spokeGateway *SpokeVpc) error

func (*Client) EnableAdvertiseTransitCidr

func (c *Client) EnableAdvertiseTransitCidr(transitGw *TransitVpc) error

func (*Client) EnableAutoAdvertiseS2CCidrs

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

func (*Client) EnableAwsGuardDuty

func (c *Client) EnableAwsGuardDuty(account *AwsGuardDutyAccount) error

func (*Client) EnableCloudnBackupConfig

func (c *Client) EnableCloudnBackupConfig(cloudnBackupConfiguration *CloudnBackupConfiguration) error

func (*Client) EnableCloudwatchAgent

func (c *Client) EnableCloudwatchAgent(r *CloudwatchAgent) error

func (*Client) EnableConnectedTransit

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

func (*Client) EnableCopilotAssociation

func (c *Client) EnableCopilotAssociation(ctx context.Context, addr string) error

func (*Client) EnableCopilotSecurityGroupManagement

func (c *Client) EnableCopilotSecurityGroupManagement(ctx context.Context, copilotSecurityGroupManagementConfig *CopilotSecurityGroupManagementConfig) error

func (*Client) EnableCustomizedSNat

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

func (*Client) EnableDatadogAgent

func (c *Client) EnableDatadogAgent(r *DatadogAgent) error

func (*Client) EnableDeadPeerDetection

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

func (*Client) EnableDirectConnectLearnedCidrsApproval

func (c *Client) EnableDirectConnectLearnedCidrsApproval(awsTgwDirectConnect *AwsTgwDirectConnect) error

func (*Client) EnableDistributedFirewalling

func (c *Client) EnableDistributedFirewalling(ctx context.Context) error

func (*Client) EnableEdgeSpokeTransitiveRouting

func (c *Client) EnableEdgeSpokeTransitiveRouting(ctx context.Context, name string) error

func (*Client) EnableEgressTransitFirenet

func (c *Client) EnableEgressTransitFirenet(transitGateway *TransitVpc) error

func (*Client) EnableEncryptVolume

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

func (*Client) EnableExceptionRule

func (c *Client) EnableExceptionRule() error

func (*Client) EnableFQDNCache

func (c *Client) EnableFQDNCache(ctx context.Context) error

func (*Client) EnableFQDNExactMatch

func (c *Client) EnableFQDNExactMatch(ctx context.Context) error

func (*Client) EnableFQDNExceptionRule

func (c *Client) EnableFQDNExceptionRule(ctx context.Context) error

func (*Client) EnableFQDNPrivateNetworks

func (c *Client) EnableFQDNPrivateNetworks(ctx context.Context) error

func (*Client) EnableFireNetLanKeepAlive

func (c *Client) EnableFireNetLanKeepAlive(net *FireNet) error

func (*Client) EnableGatewayFireNetInterfaces

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

func (*Client) EnableGatewayFireNetInterfacesWithGWLB

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

func (*Client) EnableGeoVPN

func (c *Client) EnableGeoVPN(ctx context.Context, geoVPN *GeoVPN) error

func (*Client) EnableGlobalVpc

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

func (*Client) EnableGroGso

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

func (*Client) EnableGuardDutyEnforcement

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

func (*Client) EnableHaSpokeGateway

func (c *Client) EnableHaSpokeGateway(gateway *SpokeVpc) error

func (*Client) EnableHaSpokeVpc

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

func (*Client) EnableHaTransitGateway

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

func (*Client) EnableHaTransitVpc

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

func (*Client) EnableHttpAccess

func (c *Client) EnableHttpAccess() error

func (*Client) EnableIntraDomainInspection

func (c *Client) EnableIntraDomainInspection(ctx context.Context, intraDomainInspection *IntraDomainInspection) error

func (*Client) EnableJumboFrame

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

func (*Client) EnableJumboFrameExternalDeviceConn

func (c *Client) EnableJumboFrameExternalDeviceConn(externalDeviceConn *ExternalDeviceConn) error

func (*Client) EnableJumboFrameOnConnectionToCloudn

func (c *Client) EnableJumboFrameOnConnectionToCloudn(ctx context.Context, connName, vpcID string) error

func (*Client) EnableLocalLoginForRBACGroup

func (c *Client) EnableLocalLoginForRBACGroup(GroupName string) error

func (*Client) EnableMonitorGatewaySubnets

func (c *Client) EnableMonitorGatewaySubnets(gwName string, excludedInstances []string) error

func (*Client) EnableMultitierTransit

func (c *Client) EnableMultitierTransit(gwName string) error

func (*Client) EnableNativeAwsGwlbFirenet

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

func (*Client) EnableNetflowAgent

func (c *Client) EnableNetflowAgent(r *NetflowAgent) error

func (*Client) EnablePeeringHaGateway

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

func (*Client) EnablePrivateMode

func (c *Client) EnablePrivateMode(ctx context.Context) error

func (*Client) EnablePrivateOob

func (c *Client) EnablePrivateOob() error

func (*Client) EnablePrivateVpcDefaultRoute

func (c *Client) EnablePrivateVpcDefaultRoute(gw *Gateway) error

func (*Client) EnablePublicSubnetFilteringHAGateway

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

func (*Client) EnableRemoteSyslog

func (c *Client) EnableRemoteSyslog(r *RemoteSyslog) error

func (*Client) EnableS2CRxBalancing

func (c *Client) EnableS2CRxBalancing(gwName string) error

func (*Client) EnableSNat

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

func (*Client) EnableSecurityGroupManagement

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

func (*Client) EnableSegmentation

func (c *Client) EnableSegmentation(transitGateway *TransitVpc) error

func (*Client) EnableSingleAZGateway

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

func (*Client) EnableSite2CloudEventTriggeredHA

func (c *Client) EnableSite2CloudEventTriggeredHA(vpcID, connectionName string) error

func (*Client) EnableSite2cloudActiveActive

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

func (*Client) EnableSkipPublicRouteUpdate

func (c *Client) EnableSkipPublicRouteUpdate(gw *Gateway) error

func (*Client) EnableSpokeConnectionLearnedCIDRApproval

func (c *Client) EnableSpokeConnectionLearnedCIDRApproval(gwName, connName string) error

func (*Client) EnableSpokeLearnedCidrsApproval

func (c *Client) EnableSpokeLearnedCidrsApproval(gateway *SpokeVpc) error

func (*Client) EnableSpokeMappedSite2CloudForwarding

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

func (*Client) EnableSpokeOnpremRoutePropagation

func (c *Client) EnableSpokeOnpremRoutePropagation(spokeGateway *SpokeVpc) error

func (*Client) EnableSpokePreserveAsPath

func (c *Client) EnableSpokePreserveAsPath(spokeGateway *SpokeVpc) error

func (*Client) EnableSummarizeCidrToTgw

func (c *Client) EnableSummarizeCidrToTgw(gwName string) error

func (*Client) EnableTgwSegmentationForEgress

func (c *Client) EnableTgwSegmentationForEgress(net *FireNet) error

func (*Client) EnableTransitConnectionLearnedCIDRApproval

func (c *Client) EnableTransitConnectionLearnedCIDRApproval(gwName, connName string) error

func (*Client) EnableTransitFireNet

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

func (*Client) EnableTransitFireNetWithGWLB

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

func (*Client) EnableTransitLearnedCidrsApproval

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

func (*Client) EnableTransitPreserveAsPath

func (c *Client) EnableTransitPreserveAsPath(transitGateway *TransitVpc) error

func (*Client) EnableVPNCertDownload

func (c *Client) EnableVPNCertDownload(vpnCertDownload *VPNCertDownload) error

func (*Client) EnableVPNConfig

func (c *Client) EnableVPNConfig(gateway *Gateway, vpnConfig *VPNConfig) error

func (*Client) EnableVpcDnsServer

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

func (*Client) EnableVpnConnectionLearnedCidrsApproval

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

func (*Client) EnableVpnNat

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

func (*Client) Get

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

func (*Client) GetAPI

func (c *Client) GetAPI(v interface{}, action string, d map[string]string, checkFunc CheckAPIResponseFunc) error

GetAPI makes a GET request to the Aviatrix API First, we decode into the generic APIResp struct, then check for errors If no errors, we will decode into the user defined structure that is passed in

func (*Client) GetAPIContext

func (c *Client) GetAPIContext(ctx context.Context, v interface{}, action string, d map[string]string, checkFunc CheckAPIResponseFunc) error

GetAPIContext makes a GET request to the Aviatrix API If the GET request fails we will retry First, we decode into the generic APIResp struct, then check for errors If no errors, we will decode into the user defined structure that is passed in

func (*Client) GetAPIContext25

func (c *Client) GetAPIContext25(ctx context.Context, v interface{}, path string, d map[string]string) error

func (*Client) GetAPIContextCloudnTransitGatewayAttachment added in v3.1.3

func (c *Client) GetAPIContextCloudnTransitGatewayAttachment(ctx context.Context, v interface{}, action string, d map[string]string, checkFunc CheckAPIResponseFunc) error

func (*Client) GetAPIRemoteSyslog

func (c *Client) GetAPIRemoteSyslog(v interface{}, action string, d map[string]string, checkFunc CheckAPIResponseFunc) 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) GetAllNetworkDomains

func (c *Client) GetAllNetworkDomains(ctx context.Context) ([]NetworkDomainDetails, error)

func (*Client) GetApiToken

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

func (*Client) GetAttachmentRouteTableDetails

func (c *Client) GetAttachmentRouteTableDetails(tgwName string, attachmentName string) (*AttachmentRouteTableDetails, error)

func (*Client) GetAwsGuardDuty

func (c *Client) GetAwsGuardDuty() (*AwsGuardDuty, error)

func (*Client) GetAwsGuardDutyAccount

func (c *Client) GetAwsGuardDutyAccount(accountName, region string) (*AwsGuardDutyAccount, error)

func (*Client) GetAwsTgwDetail

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

func (*Client) GetAwsTgwDirectConnect

func (c *Client) GetAwsTgwDirectConnect(awsTgwDirectConnect *AwsTgwDirectConnect) (*AwsTgwDirectConnect, error)

func (*Client) GetAwsTgwDomain

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

func (*Client) GetAwsTgwPeering

func (c *Client) GetAwsTgwPeering(awsTgwPeering *AwsTgwPeering) error

func (*Client) GetAwsTgwTransitGwAttachment

func (c *Client) GetAwsTgwTransitGwAttachment(awsTgwTransitGwAttachment *AwsTgwTransitGwAttachment) (*AwsTgwTransitGwAttachment, error)

func (*Client) GetAwsTgwVpcAttachment

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

func (*Client) GetAwsTgwVpnConn

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

func (*Client) GetAwsTgwVpnTunnelData

func (c *Client) GetAwsTgwVpnTunnelData(awsTgwVpnConn *AwsTgwVpnConn) (*AwsTgwVpnConnEdit, error)

func (*Client) GetAzurePeer

func (c *Client) GetAzurePeer(azurePeer *AzurePeer) (*AzurePeer, error)

func (*Client) GetAzureSpokeNativePeering

func (c *Client) GetAzureSpokeNativePeering(azureSpokeNativePeering *AzureSpokeNativePeering) (*AzureSpokeNativePeering, error)

func (*Client) GetAzureVngConnStatus

func (c *Client) GetAzureVngConnStatus(connectionName string) (*AzureVngConnResp, error)

func (*Client) GetBgpLanIPList

func (c *Client) GetBgpLanIPList(transitGateway *TransitVpc) (*TransitGatewayBgpLanIpInfo, error)

func (*Client) GetCaCertificate added in v3.1.1

func (c *Client) GetCaCertificate(ctx context.Context) (*ProxyCaConfig, error)

func (*Client) GetCentralizedTransitFireNet

func (c *Client) GetCentralizedTransitFireNet(ctx context.Context, centralizedTransitFirenet *CentralizedTransitFirenet) error

func (*Client) GetCertDomain

func (c *Client) GetCertDomain(ctx context.Context) (*CertDomainConfig, error)

func (*Client) GetCloudTypeFromVpcID

func (c *Client) GetCloudTypeFromVpcID(vpcID string) (int, error)

func (*Client) GetCloudnBackupConfig

func (c *Client) GetCloudnBackupConfig() (*CloudnBackupConfiguration, error)

func (*Client) GetCloudnRegistration

func (c *Client) GetCloudnRegistration(ctx context.Context, cloudnRegistration *CloudnRegistration) (*CloudnRegistration, error)

func (*Client) GetCloudnTransitGatewayAttachment

func (c *Client) GetCloudnTransitGatewayAttachment(ctx context.Context, connName string) (*CloudnTransitGatewayAttachmentResp, error)

func (*Client) GetCloudwatchAgentStatus

func (c *Client) GetCloudwatchAgentStatus() (*CloudwatchAgentResp, error)

func (*Client) GetCompatibleImageVersion

func (c *Client) GetCompatibleImageVersion(ctx context.Context, cloudType int, softwareVersion string) (string, error)

func (*Client) GetContext

func (c *Client) GetContext(ctx context.Context, path string, i interface{}) (*http.Response, error)

func (*Client) GetControllerAccessAllowList

func (c *Client) GetControllerAccessAllowList(ctx context.Context) (*AllowList, error)

func (*Client) GetControllerBgpMaxAsLimit

func (c *Client) GetControllerBgpMaxAsLimit(ctx context.Context) (int, error)

func (*Client) GetControllerMetadata

func (c *Client) GetControllerMetadata(ctx context.Context) (*ControllerMetadata, error)

func (*Client) GetControllerVpcDnsServerStatus

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

func (*Client) GetCopilotAssociationStatus

func (c *Client) GetCopilotAssociationStatus(ctx context.Context) (*CopilotAssociationStatus, error)

func (*Client) GetCopilotSecurityGroupManagementConfig

func (c *Client) GetCopilotSecurityGroupManagementConfig(ctx context.Context) (*CopilotSecurityGroupManagementConfig, error)

func (*Client) GetCurrentVersion

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

func (*Client) GetDatadogAgentStatus

func (c *Client) GetDatadogAgentStatus() (*DatadogAgentResp, error)

func (*Client) GetDevice

func (c *Client) GetDevice(d *Device) (*Device, error)

func (*Client) GetDeviceAttachmentVpcID

func (c *Client) GetDeviceAttachmentVpcID(connectionName string) (string, error)

func (*Client) GetDeviceAwsTgwAttachment

func (c *Client) GetDeviceAwsTgwAttachment(tgwAttachment *DeviceAwsTgwAttachment) (*DeviceAwsTgwAttachment, error)

func (*Client) GetDeviceInterfaces

func (c *Client) GetDeviceInterfaces(deviceName string) (*[]DeviceWanInterface, error)

func (*Client) GetDeviceName

func (c *Client) GetDeviceName(connName string) (string, error)

func (*Client) GetDeviceTag

func (c *Client) GetDeviceTag(brt *DeviceTag) (*DeviceTag, error)

func (*Client) GetDistributedFirewallingIntraVpc

func (c *Client) GetDistributedFirewallingIntraVpc(ctx context.Context) (*DistributedFirewallingIntraVpcList, error)

func (*Client) GetDistributedFirewallingPolicyList

func (c *Client) GetDistributedFirewallingPolicyList(ctx context.Context) (*DistributedFirewallingPolicyList, error)

func (*Client) GetDistributedFirewallingStatus

func (c *Client) GetDistributedFirewallingStatus(ctx context.Context) (*DistributedFirewallingConfig, error)

func (*Client) GetDomainConn

func (c *Client) GetDomainConn(domainConn *DomainConn) error

func (*Client) GetEdgeCSP

func (c *Client) GetEdgeCSP(ctx context.Context, gwName string) (*EdgeCSPResp, error)

func (*Client) GetEdgeCSPHa

func (c *Client) GetEdgeCSPHa(ctx context.Context, gwName string) (*EdgeCSPHaResp, error)

func (*Client) GetEdgeEquinix

func (c *Client) GetEdgeEquinix(ctx context.Context, gwName string) (*EdgeEquinixResp, error)

func (*Client) GetEdgeEquinixHa

func (c *Client) GetEdgeEquinixHa(ctx context.Context, gwName string) (*EdgeEquinixHaResp, error)

func (*Client) GetEdgeExternalDeviceConnDetail added in v3.1.1

func (c *Client) GetEdgeExternalDeviceConnDetail(externalDeviceConn *ExternalDeviceConn) (*ExternalDeviceConn, error)

func (*Client) GetEdgeGatewayWanIp added in v3.1.4

func (c *Client) GetEdgeGatewayWanIp(ctx context.Context, gwName, wanInterfaceName string) (string, error)

func (*Client) GetEdgeNEO

func (c *Client) GetEdgeNEO(ctx context.Context, gwName string) (*EdgeNEOResp, error)

func (*Client) GetEdgeNEODevice

func (c *Client) GetEdgeNEODevice(ctx context.Context, accountName, deviceName string) (*EdgeNEODeviceResp, error)

func (*Client) GetEdgeNEOHa

func (c *Client) GetEdgeNEOHa(ctx context.Context, gwName string) (*EdgeNEOHaResp, error)

func (*Client) GetEdgeSpoke

func (c *Client) GetEdgeSpoke(ctx context.Context, gwName string) (*EdgeSpokeResp, error)

func (*Client) GetEdgeSpokeTransitAttachment

func (c *Client) GetEdgeSpokeTransitAttachment(ctx context.Context, spokeTransitAttachment *SpokeTransitAttachment) (*SpokeTransitAttachment, error)

func (*Client) GetEdgeVmSelfmanagedHa added in v3.1.4

func (c *Client) GetEdgeVmSelfmanagedHa(ctx context.Context, gwName string) (*EdgeVmSelfmanagedHaResp, error)

func (*Client) GetEmailExceptionNotificationStatus

func (c *Client) GetEmailExceptionNotificationStatus(ctx context.Context) (bool, error)

func (*Client) GetEnforcementLevel added in v3.1.1

func (c *Client) GetEnforcementLevel(ctx context.Context) (*EnforcementLevel, error)

func (*Client) GetExceptionRuleStatus

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

func (*Client) GetExternalDeviceConnDetail

func (c *Client) GetExternalDeviceConnDetail(externalDeviceConn *ExternalDeviceConn) (*ExternalDeviceConn, error)

func (*Client) GetFQDNCacheGlobalStatus

func (c *Client) GetFQDNCacheGlobalStatus(ctx context.Context) (*string, error)

func (*Client) GetFQDNExactMatchStatus

func (c *Client) GetFQDNExactMatchStatus(ctx context.Context) (*string, error)

func (*Client) GetFQDNExceptionRuleStatus

func (c *Client) GetFQDNExceptionRuleStatus(ctx context.Context) (*string, error)

func (*Client) GetFQDNPassThroughCIDRs

func (c *Client) GetFQDNPassThroughCIDRs(gw *Gateway) ([]string, error)

func (*Client) GetFQDNPrivateNetworkFilteringStatus

func (c *Client) GetFQDNPrivateNetworkFilteringStatus(ctx context.Context) (*FQDNPrivateNetworkingFilteringStatus, error)

func (*Client) GetFQDNTag

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

func (*Client) GetFQDNTagRule

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

func (*Client) GetFilebeatForwarderStatus

func (c *Client) GetFilebeatForwarderStatus() (*FilebeatForwarderResp, error)

func (*Client) GetFireNet

func (c *Client) GetFireNet(fireNet *FireNet) (*FireNetDetail, error)

func (*Client) GetFirenetManagementDetails

func (c *Client) GetFirenetManagementDetails(awsTgwVpcAttachment *AwsTgwVpcAttachment) ([]string, error)

func (*Client) GetFirewallInstance

func (c *Client) GetFirewallInstance(firewallInstance *FirewallInstance) (*FirewallInstance, error)

func (*Client) GetFirewallInstanceImages

func (c *Client) GetFirewallInstanceImages(vpcId string) (*[]FirewallInstanceImage, error)

func (*Client) GetFirewallManagementAccess

func (c *Client) GetFirewallManagementAccess(firewallManagementAccess *FirewallManagementAccess) (*FirewallManagementAccess, error)

func (*Client) GetFirewallPolicy

func (c *Client) GetFirewallPolicy(fw *Firewall) (*Firewall, error)

func (*Client) GetFirewallTag

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

func (*Client) GetFqdnGatewayInfo

func (c *Client) GetFqdnGatewayInfo(gateway *Gateway) (*FQDNGatwayInfo, error)

func (*Client) GetGateway

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

func (*Client) GetGatewayCertificateStatus

func (c *Client) GetGatewayCertificateStatus(ctx context.Context) (string, error)

func (*Client) GetGatewayCount

func (c *Client) GetGatewayCount(ctx context.Context) (int, error)

func (*Client) GetGatewayDetail

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

func (*Client) GetGatewayKeepaliveConfig

func (c *Client) GetGatewayKeepaliveConfig(ctx context.Context) (string, error)

func (*Client) GetGeoVPNInfo

func (c *Client) GetGeoVPNInfo(geoVPN *GeoVPN) (*GeoVPN, error)

func (*Client) GetGeoVPNName

func (c *Client) GetGeoVPNName(gateway *Gateway) (*GeoVPN, error)

func (*Client) GetGlobalVpcExcludedInstance

func (c *Client) GetGlobalVpcExcludedInstance(ctx context.Context, uuid string) (*GlobalVpcExcludedInstance, error)

func (*Client) GetGlobalVpcTaggingSettings

func (c *Client) GetGlobalVpcTaggingSettings(ctx context.Context) (*GlobalVpcTaggingSettings, error)

func (*Client) GetGroGsoStatus

func (c *Client) GetGroGsoStatus(gateway *Gateway) (bool, error)

func (*Client) GetGwFilterTagList

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

func (*Client) GetHTTPSCertsStatus

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

func (*Client) GetHttpAccessEnabled

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

func (*Client) GetIntraDomainInspectionStatus

func (c *Client) GetIntraDomainInspectionStatus(ctx context.Context, intraDomainInspection *IntraDomainInspection) error

func (*Client) GetJumboFrameStatus

func (c *Client) GetJumboFrameStatus(gateway *Gateway) (bool, error)

func (*Client) GetLatestVersion

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

func (*Client) GetMetaCaCertificate added in v3.1.1

func (c *Client) GetMetaCaCertificate(ctx context.Context) (*ProxyCaCertInstance, error)

func (*Client) GetNetflowAgentStatus

func (c *Client) GetNetflowAgentStatus() (*NetflowAgentResp, error)

func (*Client) GetNotificationEmails

func (c *Client) GetNotificationEmails(ctx context.Context) (*EmailConfiguration, error)

func (*Client) GetPeriodicPing

func (c *Client) GetPeriodicPing(pp *PeriodicPing) (*PeriodicPing, error)

func (*Client) GetPermissionGroup

func (c *Client) GetPermissionGroup(rbacGroup *RbacGroup) (*RbacGroup, error)

func (*Client) GetPermissionGroupDetails

func (c *Client) GetPermissionGroupDetails(GroupName string) (*RbacGroupResponse, error)

func (*Client) GetPolicy

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

func (*Client) GetPrimaryFireNet

func (c *Client) GetPrimaryFireNet(ctx context.Context) ([]string, error)

func (*Client) GetPrivateModeInfo

func (c *Client) GetPrivateModeInfo(ctx context.Context) (*ControllerPrivateModeConfig, error)

func (*Client) GetPrivateModeLoadBalancer

func (c *Client) GetPrivateModeLoadBalancer(ctx context.Context, loadBalancerVpcId string) (*PrivateModeLbRead, error)

func (*Client) GetPrivateModeMulticloudEndpoint

func (c *Client) GetPrivateModeMulticloudEndpoint(ctx context.Context, vpcId string) (*PrivateModeMultiCloudEndpointRead, error)

func (*Client) GetPrivateModeProxies

func (c *Client) GetPrivateModeProxies(ctx context.Context, lbVpcId string) ([]*PrivateModeMulticloudProxy, error)

func (*Client) GetPrivateOobState

func (c *Client) GetPrivateOobState() (bool, 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) GetProxyConfig

func (c *Client) GetProxyConfig() (*ProxyConfig, error)

func (*Client) GetPublicSubnetFilteringGatewayDetails

func (c *Client) GetPublicSubnetFilteringGatewayDetails(gateway *Gateway) (*PublicSubnetFilteringGatewayDetails, error)

func (*Client) GetQosClass

func (c *Client) GetQosClass(ctx context.Context, uuid string) (*QosClass, error)

func (*Client) GetQosPolicyList

func (c *Client) GetQosPolicyList(ctx context.Context) (*[]QosPolicyList, error)

func (*Client) GetRbacGroupAccessAccountAttachment

func (c *Client) GetRbacGroupAccessAccountAttachment(rbacGroupAccessAccountAttachment *RbacGroupAccessAccountAttachment) (*RbacGroupAccessAccountAttachment, error)

func (*Client) GetRbacGroupPermissionAttachment

func (c *Client) GetRbacGroupPermissionAttachment(rbacGroupPermissionAttachment *RbacGroupPermissionAttachment) (*RbacGroupPermissionAttachment, error)

func (*Client) GetRbacGroupUserAttachment

func (c *Client) GetRbacGroupUserAttachment(rbacGroupUserAttachment *RbacGroupUserAttachment) (*RbacGroupUserAttachment, error)

func (*Client) GetRemoteSyslogStatus

func (c *Client) GetRemoteSyslogStatus(idx int) (*RemoteSyslogResp, error)

func (*Client) GetS2CCaCertTag

func (c *Client) GetS2CCaCertTag(ctx context.Context, s2cCaCertTag *S2CCaCertTag) (*S2CCaCertTag, error)

func (*Client) GetSamlEndpoint

func (c *Client) GetSamlEndpoint(samlEndpoint *SamlEndpoint) (*SamlEndpointInfo, error)

func (*Client) GetSecondaryFireNet

func (c *Client) GetSecondaryFireNet(ctx context.Context) ([]string, error)

func (*Client) GetSecurityDomain

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

func (*Client) GetSecurityDomainDetails

func (c *Client) GetSecurityDomainDetails(ctx context.Context, domain *SecurityDomain) (*SecurityDomainDetails, error)

func (*Client) GetSecurityGroupManagementStatus

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

func (*Client) GetSegmentationSecurityDomain

func (c *Client) GetSegmentationSecurityDomain(domain *SegmentationSecurityDomain) (*SegmentationSecurityDomain, error)

func (*Client) GetSegmentationSecurityDomainAssociation

func (c *Client) GetSegmentationSecurityDomainAssociation(association *SegmentationSecurityDomainAssociation) (*SegmentationSecurityDomainAssociation, error)

func (*Client) GetSite2Cloud

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

func (*Client) GetSite2CloudConnDetail

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

func (*Client) GetSleepTime

func (c *Client) GetSleepTime(ctx context.Context) (time.Duration, error)

func (*Client) GetSmartGroup

func (c *Client) GetSmartGroup(ctx context.Context, uuid string) (*SmartGroup, error)

func (*Client) GetSmartGroups added in v3.1.4

func (c *Client) GetSmartGroups(ctx context.Context) ([]*SmartGroup, error)

func (*Client) GetSplitTunnel

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

func (*Client) GetSplunkLoggingStatus

func (c *Client) GetSplunkLoggingStatus() (*SplunkLoggingResp, error)

func (*Client) GetSpokeGatewayAdvancedConfig

func (c *Client) GetSpokeGatewayAdvancedConfig(spokeGateway *SpokeVpc) (*SpokeGatewayAdvancedConfig, error)

func (*Client) GetSpokeGatewayList

func (c *Client) GetSpokeGatewayList(ctx context.Context) ([]Gateway, error)

func (*Client) GetSpokeGatewaySubnetGroup

func (c *Client) GetSpokeGatewaySubnetGroup(ctx context.Context, spokeGatewaySubnetGroup *SpokeGatewaySubnetGroup) error

func (*Client) GetSpokeTransitAttachment

func (c *Client) GetSpokeTransitAttachment(spokeTransitAttachment *SpokeTransitAttachment) (*SpokeTransitAttachment, error)

func (*Client) GetSubnetsForInspection

func (c *Client) GetSubnetsForInspection(gatewayName string) ([]string, error)

func (*Client) GetSumologicForwarderStatus

func (c *Client) GetSumologicForwarderStatus() (*SumologicForwarderResp, error)

func (*Client) GetTGWConnect

func (c *Client) GetTGWConnect(ctx context.Context, connect *AwsTgwConnect) (*AwsTgwConnect, error)

func (*Client) GetTGWConnectPeer

func (c *Client) GetTGWConnectPeer(ctx context.Context, peer *AwsTgwConnectPeer) (*AwsTgwConnectPeer, 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) GetTransitFireNetPolicy

func (c *Client) GetTransitFireNetPolicy(transitFireNetPolicy *TransitFireNetPolicy) error

func (*Client) GetTransitGatewayAdvancedConfig

func (c *Client) GetTransitGatewayAdvancedConfig(transitGateway *TransitVpc) (*TransitGatewayAdvancedConfig, error)

func (*Client) GetTransitGatewayLanCidr

func (c *Client) GetTransitGatewayLanCidr(gatewayName string) (string, error)

func (*Client) GetTransitGatewayList

func (c *Client) GetTransitGatewayList(ctx context.Context) ([]Gateway, error)

func (*Client) GetTransitGatewayPeering

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

func (*Client) GetTransitGatewayPeeringDetails

func (c *Client) GetTransitGatewayPeeringDetails(transitGatewayPeering *TransitGatewayPeering) (*TransitGatewayPeering, error)

func (*Client) GetTransitGwFromVpcID

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

func (*Client) GetTunnel

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

func (*Client) GetTunnelDetectionTime

func (c *Client) GetTunnelDetectionTime(entity string) (int, error)

Entity should be gateway name or "Controller"

func (*Client) GetVGWConn

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

func (*Client) GetVGWConnDetail

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

func (*Client) GetVPCAttachmentRouteTableDetails

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

func (*Client) GetVPNCertDownloadStatus

func (c *Client) GetVPNCertDownloadStatus() (*GetVPNCertDownloadStatusResp, error)

func (*Client) GetVPNConfigList

func (c *Client) GetVPNConfigList(gateway *Gateway) ([]VPNConfig, error)

func (*Client) GetVPNUser

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

func (*Client) GetVersionInfo

func (c *Client) GetVersionInfo() (*VersionInfo, error)

func (*Client) GetVpc

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

func (*Client) GetVpcCloudTypeById

func (c *Client) GetVpcCloudTypeById(ID string) (int, error)

GetVpcCloudTypeById returns the cloud_type of the vpc with the given ID. If the vpc does not exist, ErrNotFound is returned.

func (*Client) GetVpcRouteTableIDs

func (c *Client) GetVpcRouteTableIDs(vpc *Vpc) ([]string, error)

func (*Client) GetVpcTracker

func (c *Client) GetVpcTracker() ([]*VpcTracker, error)

GetVpcTracker retrieves the list of VPC's from the 'VPC Tracker' feature.

func (*Client) GetVpnUserAccelerator

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

func (*Client) GetWebGroup

func (c *Client) GetWebGroup(ctx context.Context, uuid string) (*WebGroup, error)

func (*Client) ImportNewHTTPSCerts

func (c *Client) ImportNewHTTPSCerts(certConfig *HTTPSCertConfig) error

func (*Client) InsertFirewallPolicy

func (c *Client) InsertFirewallPolicy(fw *Firewall) error

func (*Client) IsFirewallSecurityDomain

func (c *Client) IsFirewallSecurityDomain(tgwName string, domainName string) (bool, error)

func (*Client) IsSegmentationEnabled

func (c *Client) IsSegmentationEnabled(transitGateway *TransitVpc) (bool, error)

func (*Client) IsTransitFireNetReadyToBeDisabled

func (c *Client) IsTransitFireNetReadyToBeDisabled(gateway *Gateway) 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) ListOciVpcAvailabilityDomains

func (c *Client) ListOciVpcAvailabilityDomains(vpc *Vpc) ([]string, error)

func (*Client) ListOciVpcFaultDomains

func (c *Client) ListOciVpcFaultDomains(vpc *Vpc) ([]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) LoginForCloudn

func (c *Client) LoginForCloudn() error

func (*Client) ModifySplitTunnel

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

func (*Client) ModifyTunnelDetectionTime

func (c *Client) ModifyTunnelDetectionTime(entity string, detectionTime int) error

func (*Client) OnboardEdgeNEODevice

func (c *Client) OnboardEdgeNEODevice(ctx context.Context, edgeNEODevice *EdgeNEODevice) 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) PostAPI

func (c *Client) PostAPI(action string, d interface{}, checkFunc CheckAPIResponseFunc) error

PostAPI makes a post request to the Aviatrix API, decodes the response and checks for any errors

func (*Client) PostAPI2

func (c *Client) PostAPI2(action string, d interface{}, checkFunc CheckAPIResponseFunc) error

PostAPI2 makes a post request to V2 API, decodes the response and checks for any errors form data, no context

func (*Client) PostAPIContext

func (c *Client) PostAPIContext(ctx context.Context, action string, d interface{}, checkFunc CheckAPIResponseFunc) error

PostAPIContext makes a post request to the Aviatrix API, decodes the response and checks for any errors

func (*Client) PostAPIContext1

func (c *Client) PostAPIContext1(ctx context.Context, action string, d interface{}, checkFunc CheckAPIResponseFunc) error

PostAPIContext1 makes a post request to the V1 API, decodes the response and checks for any errors

func (*Client) PostAPIContext2

func (c *Client) PostAPIContext2(ctx context.Context, v interface{}, action string, d interface{}, checkFunc CheckAPIResponseFunc) error

PostAPIContext2 makes a post request to the Aviatrix v2 API, checks for any errors and decodes the response into the return value v if it is not nil.

func (*Client) PostAPIContext25

func (c *Client) PostAPIContext25(ctx context.Context, v interface{}, path string, d interface{}) error

func (*Client) PostAPIContext2Download

func (c *Client) PostAPIContext2Download(ctx context.Context, action string, d interface{}, checkFunc CheckAPIResponseFunc) (io.ReadCloser, error)

func (*Client) PostAPIContext2Form

func (c *Client) PostAPIContext2Form(ctx context.Context, action string, d interface{}, checkFunc CheckAPIResponseFunc) error

PostAPIContext2Form makes a post request to V2 API, decodes the response and checks for any errors form data

func (*Client) PostAPIContext2HaGw

func (c *Client) PostAPIContext2HaGw(ctx context.Context, v interface{}, action string, d interface{}, checkFunc CheckAPIResponseFunc) (string, error)

func (*Client) PostAPIContext2WithResult

func (c *Client) PostAPIContext2WithResult(ctx context.Context, v interface{}, action string, d interface{}, checkFunc CheckAPIResponseFunc) (string, error)

func (*Client) PostAPIContextWithResponse

func (c *Client) PostAPIContextWithResponse(ctx context.Context, v interface{}, action string, d interface{}, checkFunc CheckAPIResponseFunc) error

PostAPIContextWithResponse makes a post request to the Aviatrix API, decodes the response, checks for any errors and decodes the response into the return value v.

func (*Client) PostAPIDownloadContext

func (c *Client) PostAPIDownloadContext(ctx context.Context, action string, d interface{}, checkFunc CheckAPIResponseFunc) (io.ReadCloser, error)

PostAPIDownloadContext makes a post request to the Aviatrix API, checks for errors and returns the response body

func (*Client) PostAPIWithResponse

func (c *Client) PostAPIWithResponse(v interface{}, action string, d interface{}, checkFunc CheckAPIResponseFunc) error

PostAPIWithResponse makes a post request to the Aviatrix API, decodes the response, checks for any errors and decodes the response into the return value v.

func (*Client) PostAsyncAPI

func (c *Client) PostAsyncAPI(action string, i interface{}, checkFunc CheckAPIResponseFunc) error

func (*Client) PostAsyncAPIContext

func (c *Client) PostAsyncAPIContext(ctx context.Context, action string, i interface{}, checkFunc CheckAPIResponseFunc) error

func (*Client) PostAsyncAPIContextSetCertDomain

func (c *Client) PostAsyncAPIContextSetCertDomain(ctx context.Context, action string, i interface{}, checkFunc CheckAPIResponseFunc) error

func (*Client) PostContext

func (c *Client) PostContext(ctx context.Context, path string, i interface{}) (*http.Response, error)

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

func (*Client) PostFile

func (c *Client) PostFile(path string, params map[string]string, files []File) (*http.Response, error)

PostFile will encode the files and parameters with multipart form encoding.

func (*Client) PostFileAPI

func (c *Client) PostFileAPI(params map[string]string, files []File, checkFunc CheckAPIResponseFunc) error

PostFileAPI will encode the files and parameters with multipart form encoding and POST to the API. The API response is decoded and checked with the provided checkFunc

func (*Client) PostFileAPIContext

func (c *Client) PostFileAPIContext(ctx context.Context, params map[string]string, files []File, checkFunc CheckAPIResponseFunc) error

PostFileAPIContext will encode the files and parameters with multipart form encoding and POST to the API. The API response is decoded and checked with the provided checkFunc

func (*Client) PostFileContext

func (c *Client) PostFileContext(ctx context.Context, path string, params map[string]string, files []File) (*http.Response, error)

PostFileContext will encode the files and parameters with multipart form encoding.

func (*Client) PostFileContext25 added in v3.1.1

func (c *Client) PostFileContext25(ctx context.Context, path string, params map[string]string, files []File) error

PostFileContext25 will encode the files and parameters with multipart form encoding.

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) PutAPIContext25

func (c *Client) PutAPIContext25(ctx context.Context, path string, d interface{}) error

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) RequestContext

func (c *Client) RequestContext(ctx context.Context, verb string, path string, i interface{}) (*http.Response, error)

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

func (*Client) RequestContext2

func (c *Client) RequestContext2(ctx context.Context, verb string, path string, i interface{}) (*http.Response, error)

func (*Client) RequestContext25

func (c *Client) RequestContext25(ctx context.Context, verb string, Url string, i interface{}) (*http.Response, error)

func (*Client) RequestContextLogin

func (c *Client) RequestContextLogin(ctx context.Context, verb string, path string, i interface{}, token string) (*http.Response, error)

func (*Client) RequestFileContext25 added in v3.1.1

func (c *Client) RequestFileContext25(ctx context.Context, verb string, Url string, params map[string]string, files []File) (*http.Response, error)

func (*Client) SecurityDomainRuleValidation

func (c *Client) SecurityDomainRuleValidation(securityDomainRule *SecurityDomainRule) bool

func (*Client) SetBasePolicy

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

func (*Client) SetBgpEcmp

func (c *Client) SetBgpEcmp(transitGateway *TransitVpc, enabled bool) error

func (*Client) SetBgpEcmpSpoke

func (c *Client) SetBgpEcmpSpoke(spokeGateway *SpokeVpc, enabled bool) error

func (*Client) SetBgpManualSpokeAdvertisedNetworks

func (c *Client) SetBgpManualSpokeAdvertisedNetworks(transitGw *TransitVpc) error

func (*Client) SetBgpPollingTime

func (c *Client) SetBgpPollingTime(transitGateway *TransitVpc, newPollingTime string) error

func (*Client) SetBgpPollingTimeSpoke

func (c *Client) SetBgpPollingTimeSpoke(spokeGateway *SpokeVpc, newPollingTime string) error

func (*Client) SetCertDomain

func (c *Client) SetCertDomain(ctx context.Context, certDomain string) error

func (*Client) SetControllerBgpMaxAsLimit

func (c *Client) SetControllerBgpMaxAsLimit(ctx context.Context, maxAsLimit int) error

func (*Client) SetControllerVpcDnsServer

func (c *Client) SetControllerVpcDnsServer(enabled bool) error

func (*Client) SetEmailExceptionNotification

func (c *Client) SetEmailExceptionNotification(ctx context.Context, enabled bool) error

func (*Client) SetEnforcementLevel added in v3.1.1

func (c *Client) SetEnforcementLevel(ctx context.Context, enforcementLevel *EnforcementLevel) error

func (*Client) SetFQDNCustomNetwork

func (c *Client) SetFQDNCustomNetwork(ctx context.Context, configIPs []string) error

func (*Client) SetGatewayKeepaliveConfig

func (c *Client) SetGatewayKeepaliveConfig(ctx context.Context, speed string) error

func (*Client) SetLocalASNumber

func (c *Client) SetLocalASNumber(transitGateway *TransitVpc, localASNumber string) error

func (*Client) SetLocalASNumberSpoke

func (c *Client) SetLocalASNumberSpoke(spokeGateway *SpokeVpc, localASNumber string) error

func (*Client) SetNewCertificate added in v3.1.1

func (c *Client) SetNewCertificate(ctx context.Context, proxyCaConfig *ProxyCaConfig) error

func (*Client) SetPrependASPath

func (c *Client) SetPrependASPath(transitGateway *TransitVpc, prependASPath []string) error

func (*Client) SetPrependASPathSpoke

func (c *Client) SetPrependASPathSpoke(spokeGateway *SpokeVpc, prependASPath []string) error

func (*Client) SetRxQueueSize

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

func (*Client) SetSpokeBgpManualAdvertisedNetworks

func (c *Client) SetSpokeBgpManualAdvertisedNetworks(spokeGateway *SpokeVpc) error

func (*Client) SetStatusChangeNotificationInterval

func (c *Client) SetStatusChangeNotificationInterval(emailConfiguration *EmailConfiguration) error

func (*Client) SetTransitLearnedCIDRsApprovalMode

func (c *Client) SetTransitLearnedCIDRsApprovalMode(gw *TransitVpc, mode string) error

func (*Client) SetVpnGatewayAuthentication

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

func (*Client) ShowFireNetFirewallVendorConfig

func (c *Client) ShowFireNetFirewallVendorConfig(vendorInfo *VendorInfo) error

func (*Client) SpokeJoinTransit

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

func (*Client) SpokeLeaveAllTransit

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

func (*Client) SpokeLeaveTransit

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

func (*Client) SwitchActiveTransitGateway

func (c *Client) SwitchActiveTransitGateway(gwName, connName string) error

func (*Client) SyncFireNetFirewallManagerVendorConfig

func (c *Client) SyncFireNetFirewallManagerVendorConfig(ctx context.Context, firewallManager *FirewallManager) error

func (*Client) UpdateAWSPeer

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

func (*Client) UpdateAWSSAccount

func (c *Client) UpdateAWSSAccount(account *Account, fileChanges map[string]bool) error

func (*Client) UpdateAWSTSAccount

func (c *Client) UpdateAWSTSAccount(account *Account, fileChanges map[string]bool) error

func (*Client) UpdateAccount

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

func (*Client) UpdateAccountUserObject

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

func (*Client) UpdateAwsGuardDutyExcludedIPs

func (c *Client) UpdateAwsGuardDutyExcludedIPs(account *AwsGuardDutyAccount) error

func (*Client) UpdateAwsGuardDutyPollInterval

func (c *Client) UpdateAwsGuardDutyPollInterval(scanningInterval int) error

func (*Client) UpdateControllerAccessAllowList

func (c *Client) UpdateControllerAccessAllowList(ctx context.Context, allowList *AllowList) error

func (*Client) UpdateDNat

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

func (*Client) UpdateDeviceTagConfig

func (c *Client) UpdateDeviceTagConfig(brt *DeviceTag) error

func (*Client) UpdateDirectConnAllowedPrefix

func (c *Client) UpdateDirectConnAllowedPrefix(awsTgwDirectConnect *AwsTgwDirectConnect) error

func (*Client) UpdateDistributedFirewallingPolicyList

func (c *Client) UpdateDistributedFirewallingPolicyList(ctx context.Context, policyList *DistributedFirewallingPolicyList) error

func (*Client) UpdateDomains

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

func (*Client) UpdateEdgeAccount

func (c *Client) UpdateEdgeAccount(edgeAccount *EdgeAccount) error

func (*Client) UpdateEdgeCSP

func (c *Client) UpdateEdgeCSP(ctx context.Context, edgeCSP *EdgeCSP) error

func (*Client) UpdateEdgeCSPHa

func (c *Client) UpdateEdgeCSPHa(ctx context.Context, edgeCSP *EdgeCSP) error

func (*Client) UpdateEdgeEquinix

func (c *Client) UpdateEdgeEquinix(ctx context.Context, edgeEquinix *EdgeEquinix) error

func (*Client) UpdateEdgeEquinixHa

func (c *Client) UpdateEdgeEquinixHa(ctx context.Context, edgeEquinix *EdgeEquinix) error

func (*Client) UpdateEdgeNEO

func (c *Client) UpdateEdgeNEO(ctx context.Context, edgeNEO *EdgeNEO) error

func (*Client) UpdateEdgeNEODevice

func (c *Client) UpdateEdgeNEODevice(ctx context.Context, edgeNEODevice *EdgeNEODevice) error

func (*Client) UpdateEdgeNEOHa

func (c *Client) UpdateEdgeNEOHa(ctx context.Context, edgeNEO *EdgeNEO) error

func (*Client) UpdateEdgeSpoke

func (c *Client) UpdateEdgeSpoke(ctx context.Context, edgeSpoke *EdgeSpoke) error

func (*Client) UpdateEdgeSpokeGeoCoordinate

func (c *Client) UpdateEdgeSpokeGeoCoordinate(ctx context.Context, edgeSpoke *EdgeSpoke) error

func (*Client) UpdateEdgeVmSelfmanagedHa added in v3.1.4

func (c *Client) UpdateEdgeVmSelfmanagedHa(ctx context.Context, edgeVmSelfmanaged *EdgeSpoke) error

func (*Client) UpdateEnforcementLevel added in v3.1.1

func (c *Client) UpdateEnforcementLevel(ctx context.Context, enforcementLevel *EnforcementLevel) error

func (*Client) UpdateFQDNMode

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

UpdateFQDNMode Change default mode to 'white' or 'black'

func (*Client) UpdateFQDNStatus

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

UpdateFQDNStatus change state to 'enabled' or 'disabled'

func (*Client) UpdateFirewallAttachmentAccessFromOnprem

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

func (*Client) UpdateFirewallTag

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

func (*Client) UpdateGCPAccount

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

func (*Client) UpdateGateway

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

func (*Client) UpdateGlobalVpcExcludedInstance

func (c *Client) UpdateGlobalVpcExcludedInstance(ctx context.Context, globalVpcExcludedInstance *GlobalVpcExcludedInstance, uuid string) error

func (*Client) UpdateGlobalVpcTaggingSettings

func (c *Client) UpdateGlobalVpcTaggingSettings(ctx context.Context, globalVpcTaggingSettings *GlobalVpcTaggingSettings) error

func (*Client) UpdateMaxVpnConn

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

func (*Client) UpdatePolicy

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

func (*Client) UpdatePrivateModeControllerProxies

func (c *Client) UpdatePrivateModeControllerProxies(ctx context.Context, proxies []string) error

func (*Client) UpdatePrivateModeCopilot

func (c *Client) UpdatePrivateModeCopilot(ctx context.Context, copilotId string) error

func (*Client) UpdatePrivateModeMulticloudProxies

func (c *Client) UpdatePrivateModeMulticloudProxies(ctx context.Context, privateModeLb *PrivateModeLb) error

func (*Client) UpdateProfilePolicy

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

func (*Client) UpdateQosClass

func (c *Client) UpdateQosClass(ctx context.Context, qosClass *QosClass, uuid string) error

func (*Client) UpdateQosPolicyList

func (c *Client) UpdateQosPolicyList(ctx context.Context, qosPolicyList *QosPolicyList) error

func (*Client) UpdateSecurityDomain

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

func (*Client) UpdateSite2Cloud

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

func (*Client) UpdateSmartGroup

func (c *Client) UpdateSmartGroup(ctx context.Context, smartGroup *SmartGroup, uuid string) error

func (*Client) UpdateSourceIPFilters

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

func (*Client) UpdateSpokeConnectionPendingApprovedCidrs

func (c *Client) UpdateSpokeConnectionPendingApprovedCidrs(gwName, connName string, approvedCidrs []string) error

func (*Client) UpdateSpokeGatewaySubnetGroup

func (c *Client) UpdateSpokeGatewaySubnetGroup(ctx context.Context, spokeGatewaySubnetGroup *SpokeGatewaySubnetGroup) error

func (*Client) UpdateSpokePendingApprovedCidrs

func (c *Client) UpdateSpokePendingApprovedCidrs(gateway *SpokeVpc) error

func (*Client) UpdateTGWCidrs

func (c *Client) UpdateTGWCidrs(tgwName string, cidrs []string) error

func (*Client) UpdateTGWInspectionMode

func (c *Client) UpdateTGWInspectionMode(tgwName, inspectionMode string) error

func (*Client) UpdateTags

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

func (*Client) UpdateTransPeer

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

func (*Client) UpdateTransitConnectionPendingApprovedCidrs

func (c *Client) UpdateTransitConnectionPendingApprovedCidrs(gwName, connName string, approvedCidrs []string) error

func (*Client) UpdateTransitGatewayCustomizedVpcRoute

func (c *Client) UpdateTransitGatewayCustomizedVpcRoute(gateway string, customizedTransitVpcRoutes []string) error

func (*Client) UpdateTransitGatewayPeering

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

func (*Client) UpdateTransitGatewayPeeringTunnelCount added in v3.1.4

func (c *Client) UpdateTransitGatewayPeeringTunnelCount(transitGatewayPeering *TransitGatewayPeeringEdit) error

func (*Client) UpdateTransitPendingApprovedCidrs

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

func (*Client) UpdateTunnel

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

func (*Client) UpdateVGWConn

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

func (*Client) UpdateVpc

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

func (*Client) UpdateVpnCidr

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

func (*Client) UpdateVpnUserAccelerator

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

func (*Client) UpdateWebGroup

func (c *Client) UpdateWebGroup(ctx context.Context, webGroup *WebGroup, uuid string) error

func (*Client) UpgradeGateway

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

func (*Client) UploadOciApiPrivateKeyFile

func (c *Client) UploadOciApiPrivateKeyFile(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 CloudnBackupConfiguration

type CloudnBackupConfiguration struct {
	CID                 string `form:"CID,omitempty"`
	Action              string `form:"action,omitempty"`
	BackupConfiguration string `json:"enabled,omitempty"`
	BackupAccountName   string `json:"acct_name,omitempty"`
	BackupCloudType     int    `json:"cloud_type,omitempty"`
	BackupBucketName    string `json:"bucket_name,omitempty"`
	BackupStorageName   string `json:"storage_name,omitempty"`
	BackupContainerName string `json:"container_name,omitempty"`
	BackupRegion        string `json:"region,omitempty"`
	MultipleBackups     string `json:"multiple_bkup,omitempty"`
}

type CloudnNeighborAsNumberWrapper added in v3.1.3

type CloudnNeighborAsNumberWrapper string

func (*CloudnNeighborAsNumberWrapper) UnmarshalJSON added in v3.1.3

func (w *CloudnNeighborAsNumberWrapper) UnmarshalJSON(data []byte) (err error)

type CloudnRegistration

type CloudnRegistration struct {
	CID               string `form:"CID"`
	Action            string `form:"action"`
	ControllerAddress string `form:"controller_ip_or_fqdn"`
	Username          string `form:"username"`
	Password          string `form:"password"`
	Name              string `form:"gateway_name"`
	PrependAsPath     []string
}

type CloudnTransitGatewayAttachment

type CloudnTransitGatewayAttachment struct {
	DeviceName                       string `form:"device_name"`
	TransitGatewayName               string `form:"transit_gw" json:"gw_name"`
	ConnectionName                   string `form:"connection_name"`
	TransitGatewayBgpAsn             string `form:"bgp_local_as_number" json:"bgp_local_asn_number"`
	CloudnBgpAsn                     string `form:"external_device_as_number" json:"bgp_remote_asn_number"`
	CloudnLanInterfaceNeighborIP     string `json:"cloudn_neighbor_ip"`
	CloudnLanInterfaceNeighborBgpAsn int    `json:"cloudn_neighbor_as_number"`
	CloudnNeighbor                   string `form:"cloudn_neighbor"`
	EnableOverPrivateNetwork         bool   `form:"direct_connect" json:"direct_connect_primary"`
	EnableJumboFrame                 bool   `json:"jumbo_frame"`
	EnableDeadPeerDetection          bool
	DpdConfig                        string   `json:"dpd_config"`
	RoutingProtocol                  string   `form:"routing_protocol"`
	Action                           string   `form:"action"`
	CID                              string   `form:"CID"`
	EnableLearnedCidrsApproval       string   `form:"conn_learned_cidrs_approval" json:"conn_learned_cidrs_approval"`
	ApprovedCidrs                    []string `json:"conn_approved_learned_cidrs"`
	PrependAsPath                    string   `json:"conn_bgp_prepend_as_path"`
	Async                            bool     `form:"async,omitempty"`
}

type CloudnTransitGatewayAttachmentResp added in v3.1.3

type CloudnTransitGatewayAttachmentResp struct {
	DeviceName                       string
	TransitGatewayName               string `json:"gw_name"`
	ConnectionName                   string
	TransitGatewayBgpAsn             string                        `json:"bgp_local_asn_number"`
	CloudnBgpAsn                     string                        `json:"bgp_remote_asn_number"`
	CloudnLanInterfaceNeighborIP     string                        `json:"cloudn_neighbor_ip"`
	CloudnLanInterfaceNeighborBgpAsn CloudnNeighborAsNumberWrapper `json:"cloudn_neighbor_as_number"`
	EnableOverPrivateNetwork         bool                          `json:"direct_connect_primary"`
	EnableJumboFrame                 bool                          `json:"jumbo_frame"`
	EnableDeadPeerDetection          bool
	DpdConfig                        string   `json:"dpd_config"`
	EnableLearnedCidrsApproval       string   `json:"conn_learned_cidrs_approval"`
	ApprovedCidrs                    []string `json:"conn_approved_learned_cidrs"`
	PrependAsPath                    string   `json:"conn_bgp_prepend_as_path"`
}

type CloudwatchAgent

type CloudwatchAgent struct {
	CID                   string
	RoleArn               string
	Region                string
	LogGroupName          string
	ExcludedGatewaysInput string
}

type CloudwatchAgentResp

type CloudwatchAgentResp struct {
	RoleArn          string   `json:"cw_role_arn"`
	Region           string   `json:"region"`
	LogGroupName     string   `json:"log_group_name"`
	ExcludedGateways []string `json:"excluded_gateway"`
	Status           string   `json:"status"`
}

type ClusterDataNode added in v3.1.1

type ClusterDataNode struct {
	VpcId          string `json:"vpc_id,omitempty"`
	Subnet         string `json:"subnet,omitempty"`
	InstanceSize   string `json:"vm_size,omitempty"`
	DataVolumeSize int    `json:"data_volume_size,omitempty"`
}

type ConnectedRouteDomainDetail

type ConnectedRouteDomainDetail struct {
	ConnectedDomainNames    []string `json:"connected_domain_names"`
	NotConnectedDomainNames []string `json:"not_connected_domain_names"`
	Egress                  string   `json:"egress"`
}

type ConnectionDetail

type ConnectionDetail struct {
	ConnName         []string `json:"name"`
	GwName           string   `json:"gw_name"`
	VPCId            []string `json:"vpc_id"`
	BgpVGWId         string   `json:"bgp_vgw_id"`
	BgpVGWAccount    string   `json:"bgp_vgw_account"`
	BgpVGWRegion     string   `json:"bgp_vgw_region"`
	BgpLocalAsNum    string   `json:"bgp_local_asn_number"`
	ManualBGPCidrs   []string `json:"conn_bgp_manual_advertise_cidrs"`
	EventTriggeredHA string   `json:"event_triggered_ha"`
	PrependAsPath    string   `json:"conn_bgp_prepend_as_path"`
}

type ControllerEmailConfigResp

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

type ControllerHttpAccessResp

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

Controller Http Access enabled get result struct

type ControllerMetadata

type ControllerMetadata struct {
	Region     string `json:"region"`
	VpcId      string `json:"vpc_id"`
	InstanceId string `json:"instance_id"`
	CloudType  string `json:"cloud_type"`
}

type ControllerPrivateModeConfig

type ControllerPrivateModeConfig struct {
	EnablePrivateMode bool     `json:"enable_private_mode"`
	CopilotInstanceID string   `json:"instance_id,omitempty"`
	Proxies           []string `json:"proxies,omitempty"`
}

type CopilotAssociationStatus

type CopilotAssociationStatus struct {
	Status   bool   `json:"status"`
	IP       string `json:"ip"`
	PublicIp string `json:"public_ip"`
}

type CopilotFaultTolerantDeployment added in v3.1.1

type CopilotFaultTolerantDeployment struct {
	Action                           string             `json:"action,omitempty"`
	CID                              string             `json:"CID,omitempty"`
	CloudType                        int                `json:"cloud_type,omitempty"`
	AccountName                      string             `json:"account_name,omitempty"`
	Region                           string             `json:"region_name,omitempty"`
	VpcId                            string             `json:"vpc_id,omitempty"`
	Subnet                           string             `json:"subnet,omitempty"`
	MainCopilot                      *MainCopilot       `json:"main_copilot,omitempty"`
	ClusterDataNodes                 []*ClusterDataNode `json:"cluster_data_nodes,omitempty"`
	ControllerServiceAccountUsername string             `json:"controller_service_account_username,omitempty"`
	ControllerServiceAccountPassword string             `json:"controller_service_account_password,omitempty"`
	IsCluster                        bool               `json:"is_cluster,omitempty"`
	Async                            bool               `json:"async,omitempty"`
}

type CopilotSecurityGroupManagementConfig

type CopilotSecurityGroupManagementConfig struct {
	Action                               string `json:"action,omitempty"`
	CID                                  string `json:"CID,omitempty"`
	CloudType                            int    `json:"cloud_type,omitempty"`
	AccountName                          string `json:"account_name,omitempty"`
	Region                               string `json:"region,omitempty"`
	Zone                                 string `json:"zone,omitempty"`
	VpcId                                string `json:"vpc_id,omitempty"`
	InstanceId                           string `json:"instance_id,omitempty"`
	InstanceIdReturn                     string `json:"inst_id,omitempty"`
	EnableCopilotSecurityGroupManagement bool
	LogEnable                            bool   `json:"log_enable,omitempty"`
	State                                string `json:"state,omitempty"`
}

type CopilotSimpleDeployment added in v3.1.1

type CopilotSimpleDeployment struct {
	Action                           string `json:"action,omitempty"`
	CID                              string `json:"CID,omitempty"`
	CloudType                        int    `json:"cloud_type,omitempty"`
	AccountName                      string `json:"account_name,omitempty"`
	Region                           string `json:"vpc_region,omitempty"`
	VpcId                            string `json:"vpc_id,omitempty"`
	Subnet                           string `json:"subnet_cidr,omitempty"`
	ControllerServiceAccountUsername string `json:"controller_service_account_username,omitempty"`
	ControllerServiceAccountPassword string `json:"controller_service_account_password,omitempty"`
	IsCluster                        bool   `json:"is_cluster,omitempty"`
	InstanceSize                     string `json:"instance_size,omitempty"`
	DataVolumeSize                   int    `json:"data_volume_size,omitempty"`
	Async                            bool   `json:"async,omitempty"`
}

type CreateEdgeEquinixResp

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

type CreateEdgeVmSelfmanagedHaResp added in v3.1.4

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

type DatadogAgent

type DatadogAgent struct {
	CID                   string
	ApiKey                string
	Site                  string
	ExcludedGatewaysInput string
	MetricsOnly           bool
}

type DatadogAgentResp

type DatadogAgentResp struct {
	ApiKey           string   `json:"api_key"`
	Site             string   `json:"site"`
	ExcludedGateways []string `json:"excluded_gateway"`
	MetricsOnly      bool     `json:"metrics_only"`
	Status           string   `json:"status"`
}

type Device

type Device struct {
	Action             string `form:"action,omitempty" json:"-"`
	CID                string `form:"CID,omitempty" json:"-"`
	Name               string `form:"device_name,omitempty" json:"rgw_name"`
	PublicIP           string `form:"public_ip,omitempty" json:"hostname"`
	Username           string `form:"username,omitempty" json:"username"`
	HostOS             string `form:"host_os,omitempty" json:"host_os"`
	Description        string `form:"description,omitempty" json:"description"`
	CheckReason        string `form:"-" json:"check_reason"`
	PrimaryInterface   string `form:"-" json:"wan_if_primary"`
	PrimaryInterfaceIP string `form:"-" json:"wan_if_primary_public_ip"`
	ConnectionName     string `form:"-" json:"conn_name"`
	SoftwareVersion    string `form:"-" json:"software_version"`
	IsCaag             bool   `form:"-" json:"is_caag"`
}

Device represents a device used in CloudWAN

type DeviceAwsTgwAttachment

type DeviceAwsTgwAttachment struct {
	ConnectionName          string `form:"connection_name"`
	DeviceName              string `form:"device_name"`
	AwsTgwName              string `form:"tgw_name"`
	DeviceAsn               string `form:"external_device_as_number"`
	SecurityDomainName      string `form:"route_domain_name"`
	EnableGlobalAccelerator string `form:"enable_global_accelerator"`
	Action                  string `form:"action"`
	CID                     string `form:"CID"`
	Async                   bool   `form:"async,omitempty"`
}

func (*DeviceAwsTgwAttachment) ID

type DeviceInterfaceConfig

type DeviceInterfaceConfig struct {
	DeviceName         string
	PrimaryInterface   string
	PrimaryInterfaceIP string
}

type DeviceTag

type DeviceTag struct {
	Name          string `form:"tag_name,omitempty"`
	Config        string `form:"custom_cfg,omitempty"`
	Devices       []string
	DevicesString string `form:"include_device_list,omitempty"`
	CID           string `form:"CID"`
	Action        string `form:"action"`
}

type DeviceWanInterface

type DeviceWanInterface struct {
	Interface string `json:"interface"`
	IP        string `json:"ip"`
}

type DeviceWanInterfaceResp

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

type DistributedFirewallingConfig

type DistributedFirewallingConfig struct {
	EnableDistributedFirewalling bool `json:"enable_distributed_firewalling"`
}

type DistributedFirewallingIntraVpc

type DistributedFirewallingIntraVpc struct {
	VpcId       string `json:"vpc_id"`
	AccountName string `json:"account_name"`
	Region      string `json:"region,omitempty"`
}

type DistributedFirewallingIntraVpcList

type DistributedFirewallingIntraVpcList struct {
	VPCs []DistributedFirewallingIntraVpc `json:"vpcs"`
}

type DistributedFirewallingPolicy

type DistributedFirewallingPolicy struct {
	Name                   string                            `json:"name"`
	Action                 string                            `json:"action"`
	Logging                bool                              `json:"logging,omitempty"`
	DstSmartGroups         []string                          `json:"dst_ads"`
	SrcSmartGroups         []string                          `json:"src_ads"`
	WebGroups              []string                          `json:"web_filters,omitempty"`
	PortRanges             []DistributedFirewallingPortRange `json:"port_ranges,omitempty"`
	Priority               int                               `json:"priority"`
	Protocol               string                            `json:"protocol"`
	FlowAppRequirement     string                            `json:"flow_app_requirement,omitempty"`
	DecryptPolicy          string                            `json:"decrypt_policy,omitempty"`
	Watch                  bool                              `json:"watch,omitempty"`
	ExcludeSgOrchestration bool                              `json:"exclude_sg_orchestration,omitempty"`
	UUID                   string                            `json:"uuid,omitempty"`
	SystemResource         bool                              `json:"system_resource,omitempty"`
}

type DistributedFirewallingPolicyList

type DistributedFirewallingPolicyList struct {
	Policies []DistributedFirewallingPolicy `json:"policies"`
}

type DistributedFirewallingPortRange

type DistributedFirewallingPortRange struct {
	Hi int `json:"hi,omitempty"`
	Lo int `json:"lo"`
}

type DomainConn

type DomainConn struct {
	Action      string `form:"action,omitempty"`
	CID         string `form:"CID,omitempty"`
	TgwName1    string `form:"tgw_name1,omitempty" json:"tgw_name1,omitempty"`
	DomainName1 string
	TgwName2    string `form:"tgw_name2,omitempty" json:"tgw_name2,omitempty"`
	DomainName2 string
}

type DomainListResp

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

type DuplicateError

type DuplicateError struct {
	Err error
}

func (DuplicateError) Error

func (d DuplicateError) Error() string

type EdgeAccount

type EdgeAccount struct {
	CID                 string `json:"CID,omitempty"`
	Action              string `json:"action,omitempty"`
	AccountName         string `json:"account_name,omitempty"`
	CloudType           int    `json:"cloud_type,omitempty"`
	EdgeCSPUsername     string `json:"edge_csp_username,omitempty"`
	EdgeCSPPassword     string `json:"edge_csp_password,omitempty"`
	EdgeEquinixUsername string `json:"equinix_username,omitempty"`
}

type EdgeCSP

type EdgeCSP struct {
	Action                             string `json:"action,omitempty"`
	CID                                string `json:"CID,omitempty"`
	AccountName                        string `json:"account_name,omitempty"`
	GwName                             string `json:"name,omitempty"`
	SiteId                             string `json:"site_id,omitempty"`
	ProjectUuid                        string `json:"project_uuid,omitempty"`
	ComputeNodeUuid                    string `json:"compute_node_uuid,omitempty"`
	TemplateUuid                       string `json:"template_uuid,omitempty"`
	ManagementEgressIpPrefix           string `json:"mgmt_egress_ip,omitempty"`
	EnableManagementOverPrivateNetwork bool   `json:"mgmt_over_private_network,omitempty"`
	DnsServerIp                        string `json:"dns_server_ip,omitempty"`
	SecondaryDnsServerIp               string `json:"dns_server_ip_secondary,omitempty"`
	Dhcp                               bool   `json:"dhcp,omitempty"`
	EnableEdgeActiveStandby            bool   `json:"enable_active_standby,omitempty"`
	DisableEdgeActiveStandby           bool   `json:"disable_active_standby,omitempty"`
	EnableEdgeActiveStandbyPreemptive  bool   `json:"enable_active_standby_preemptive,omitempty"`
	DisableEdgeActiveStandbyPreemptive bool   `json:"disable_active_standby_preemptive,omitempty"`
	LocalAsNumber                      string `json:"local_as_number,omitempty"`
	PrependAsPath                      []string
	PrependAsPathReturn                string   `json:"prepend_as_path,omitempty"`
	IncludeCidrList                    []string `json:"include_cidr_list,omitempty"`
	EnableLearnedCidrsApproval         bool     `json:"enable_learned_cidrs_approval,omitempty"`
	ApprovedLearnedCidrs               []string `json:"approved_learned_cidrs,omitempty"`
	SpokeBgpManualAdvertisedCidrs      []string `json:"bgp_manual_spoke_advertise_cidrs,omitempty"`
	EnablePreserveAsPath               bool     `json:"preserve_as_path,omitempty"`
	BgpPollingTime                     int      `json:"bgp_polling_time,omitempty"`
	BgpHoldTime                        int      `json:"bgp_hold_time,omitempty"`
	EnableEdgeTransitiveRouting        bool     `json:"edge_transitive_routing,omitempty"`
	EnableJumboFrame                   bool     `json:"jumbo_frame,omitempty"`
	Latitude                           string
	Longitude                          string
	RxQueueSize                        string `json:"rx_queue_size,omitempty"`
	State                              string `json:"vpc_state,omitempty"`
	NoProgressBar                      bool   `json:"no_progress_bar,omitempty"`
	WanInterface                       string `json:"wan_ifname,omitempty"`
	LanInterface                       string `json:"lan_ifname,omitempty"`
	MgmtInterface                      string `json:"mgmt_ifname,omitempty"`
	InterfaceList                      []*Interface
	Interfaces                         string `json:"interfaces,omitempty"`
	VlanList                           []*Vlan
	Vlan                               string `json:"vlan"`
	EnableSingleIpSnat                 bool
	EnableAutoAdvertiseLanCidrs        string `json:"auto_advertise_lan_cidrs,omitempty"`
	LanInterfaceIpPrefix               string
}

type EdgeCSPHa

type EdgeCSPHa struct {
	Action                    string `json:"action"`
	CID                       string `json:"CID"`
	PrimaryGwName             string `json:"primary_gw_name"`
	ComputeNodeUuid           string `json:"compute_node_uuid"`
	Dhcp                      bool   `json:"dhcp,omitempty"`
	ManagementInterfaceConfig string
	LanInterfaceIpPrefix      string `json:"lan_ip"`
	InterfaceList             []*Interface
	Interfaces                string `json:"interfaces"`
	NoProgressBar             bool   `json:"no_progress_bar,omitempty"`
	ManagementEgressIpPrefix  string `json:"mgmt_egress_ip,omitempty"`
}

type EdgeCSPHaListResp

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

type EdgeCSPHaResp

type EdgeCSPHaResp struct {
	AccountName              string       `json:"account_name"`
	PrimaryGwName            string       `json:"primary_gw_name"`
	GwName                   string       `json:"gw_name"`
	Dhcp                     bool         `json:"dhcp"`
	ComputeNodeUuid          string       `json:"edge_csp_compute_node_uuid"`
	LanInterfaceIpPrefix     string       `json:"lan_ip"`
	InterfaceList            []*Interface `json:"interfaces"`
	ManagementEgressIpPrefix string       `json:"mgmt_egress_ip"`
}

type EdgeCSPListResp

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

type EdgeCSPResp

type EdgeCSPResp struct {
	AccountName                        string `json:"account_name"`
	GwName                             string `json:"gw_name"`
	SiteId                             string `json:"vpc_id"`
	ProjectUuid                        string `json:"edge_csp_project_uuid"`
	ComputeNodeUuid                    string `json:"edge_csp_compute_node_uuid"`
	TemplateUuid                       string `json:"edge_csp_template_uuid"`
	ManagementInterfaceConfig          string
	ManagementEgressIpPrefix           string `json:"mgmt_egress_ip"`
	EnableManagementOverPrivateNetwork bool   `json:"mgmt_over_private_network"`
	LanInterfaceIpPrefix               string `json:"lan_ip"`
	ManagementInterfaceIpPrefix        string `json:"mgmt_ip"`
	ManagementDefaultGatewayIp         string `json:"mgmt_default_gateway"`
	DnsServerIp                        string `json:"dns_server_ip"`
	SecondaryDnsServerIp               string `json:"dns_server_ip_secondary"`
	Dhcp                               bool   `json:"dhcp"`
	ActiveStandby                      string `json:"active_standby"`
	EnableEdgeActiveStandby            bool   `json:"edge_active_standby"`
	EnableEdgeActiveStandbyPreemptive  bool   `json:"edge_active_standby_preemptive"`
	LocalAsNumber                      string `json:"local_as_number"`
	PrependAsPath                      []string
	PrependAsPathReturn                string       `json:"prepend_as_path"`
	IncludeCidrList                    []string     `json:"include_cidr_list"`
	EnableLearnedCidrsApproval         bool         `json:"enable_learned_cidrs_approval"`
	ApprovedLearnedCidrs               []string     `json:"approved_learned_cidrs,omitempty"`
	SpokeBgpManualAdvertisedCidrs      []string     `json:"bgp_manual_spoke_advertise_cidrs"`
	EnablePreserveAsPath               bool         `json:"preserve_as_path"`
	BgpPollingTime                     int          `json:"bgp_polling_time"`
	BgpHoldTime                        int          `json:"bgp_hold_time"`
	EnableEdgeTransitiveRouting        bool         `json:"edge_transitive_routing"`
	EnableJumboFrame                   bool         `json:"jumbo_frame"`
	Latitude                           float64      `json:"latitude"`
	Longitude                          float64      `json:"longitude"`
	WanPublicIp                        string       `json:"public_ip"`
	PrivateIP                          string       `json:"private_ip"`
	RxQueueSize                        string       `json:"rx_queue_size"`
	State                              string       `json:"vpc_state"`
	WanInterface                       []string     `json:"edge_csp_wan_ifname"`
	LanInterface                       []string     `json:"edge_csp_lan_ifname"`
	MgmtInterface                      []string     `json:"edge_csp_mgmt_ifname"`
	InterfaceList                      []*Interface `json:"interfaces"`
	EnableNat                          string       `json:"enable_nat"`
	SnatMode                           string       `json:"snat_target"`
	EnableAutoAdvertiseLanCidrs        bool         `json:"auto_advertise_lan_cidrs"`
}

type EdgeEquinix

type EdgeEquinix struct {
	Action                             string `json:"action,omitempty"`
	CID                                string `json:"CID,omitempty"`
	AccountName                        string `json:"account_name,omitempty"`
	GwName                             string `json:"name,omitempty"`
	SiteId                             string `json:"site_id,omitempty"`
	ZtpFileDownloadPath                string
	ManagementEgressIpPrefix           string `json:"mgmt_egress_ip,omitempty"`
	EnableManagementOverPrivateNetwork bool   `json:"mgmt_over_private_network,omitempty"`
	DnsServerIp                        string `json:"dns_server_ip,omitempty"`
	SecondaryDnsServerIp               string `json:"dns_server_ip_secondary,omitempty"`
	Dhcp                               bool   `json:"dhcp,omitempty"`
	EnableEdgeActiveStandby            bool   `json:"enable_active_standby,omitempty"`
	DisableEdgeActiveStandby           bool   `json:"disable_active_standby,omitempty"`
	EnableEdgeActiveStandbyPreemptive  bool   `json:"enable_active_standby_preemptive,omitempty"`
	DisableEdgeActiveStandbyPreemptive bool   `json:"disable_active_standby_preemptive,omitempty"`
	LocalAsNumber                      string `json:"local_as_number,omitempty"`
	PrependAsPath                      []string
	PrependAsPathReturn                string   `json:"prepend_as_path,omitempty"`
	IncludeCidrList                    []string `json:"include_cidr_list,omitempty"`
	EnableLearnedCidrsApproval         bool     `json:"enable_learned_cidrs_approval,omitempty"`
	ApprovedLearnedCidrs               []string `json:"approved_learned_cidrs,omitempty"`
	SpokeBgpManualAdvertisedCidrs      []string `json:"bgp_manual_spoke_advertise_cidrs,omitempty"`
	EnablePreserveAsPath               bool     `json:"preserve_as_path,omitempty"`
	BgpPollingTime                     int      `json:"bgp_polling_time,omitempty"`
	BgpHoldTime                        int      `json:"bgp_hold_time,omitempty"`
	EnableEdgeTransitiveRouting        bool     `json:"edge_transitive_routing,omitempty"`
	EnableJumboFrame                   bool     `json:"jumbo_frame,omitempty"`
	Latitude                           string
	Longitude                          string
	RxQueueSize                        string `json:"rx_queue_size,omitempty"`
	State                              string `json:"vpc_state,omitempty"`
	NoProgressBar                      bool   `json:"no_progress_bar,omitempty"`
	InterfaceList                      []*EdgeEquinixInterface
	Interfaces                         string `json:"interfaces,omitempty"`
	VlanList                           []*EdgeEquinixVlan
	Vlan                               string `json:"vlan"`
	EnableSingleIpSnat                 bool
	EnableAutoAdvertiseLanCidrs        string `json:"auto_advertise_lan_cidrs,omitempty"`
	LanInterfaceIpPrefix               string
}

type EdgeEquinixHa

type EdgeEquinixHa struct {
	Action                   string `json:"action"`
	CID                      string `json:"CID"`
	PrimaryGwName            string `json:"primary_gw_name"`
	ZtpFileDownloadPath      string
	InterfaceList            []*EdgeEquinixInterface
	Interfaces               string `json:"interfaces"`
	NoProgressBar            bool   `json:"no_progress_bar,omitempty"`
	ManagementEgressIpPrefix string `json:"mgmt_egress_ip,omitempty"`
}

type EdgeEquinixHaListResp

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

type EdgeEquinixHaResp

type EdgeEquinixHaResp struct {
	AccountName              string                  `json:"account_name"`
	PrimaryGwName            string                  `json:"primary_gw_name"`
	GwName                   string                  `json:"gw_name"`
	InterfaceList            []*EdgeEquinixInterface `json:"interfaces"`
	ManagementEgressIpPrefix string                  `json:"mgmt_egress_ip"`
}

type EdgeEquinixInterface

type EdgeEquinixInterface struct {
	IfName        string             `json:"ifname"`
	Type          string             `json:"type"`
	Bandwidth     int                `json:"bandwidth"`
	PublicIp      string             `json:"public_ip"`
	Tag           string             `json:"tag"`
	Dhcp          bool               `json:"dhcp"`
	IpAddr        string             `json:"ipaddr"`
	GatewayIp     string             `json:"gateway_ip"`
	DnsPrimary    string             `json:"dns_primary"`
	DnsSecondary  string             `json:"dns_secondary"`
	SubInterfaces []*EdgeEquinixVlan `json:"subinterfaces"`
	VrrpState     bool               `json:"vrrp_state"`
	VirtualIp     string             `json:"virtual_ip"`
}

type EdgeEquinixListResp

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

type EdgeEquinixResp

type EdgeEquinixResp struct {
	AccountName                        string `json:"account_name"`
	GwName                             string `json:"gw_name"`
	SiteId                             string `json:"vpc_id"`
	ManagementInterfaceConfig          string
	ManagementEgressIpPrefix           string `json:"mgmt_egress_ip"`
	EnableManagementOverPrivateNetwork bool   `json:"mgmt_over_private_network"`
	LanInterfaceIpPrefix               string `json:"lan_ip"`
	ManagementInterfaceIpPrefix        string `json:"mgmt_ip"`
	ManagementDefaultGatewayIp         string `json:"mgmt_default_gateway"`
	DnsServerIp                        string `json:"dns_server_ip"`
	SecondaryDnsServerIp               string `json:"dns_server_ip_secondary"`
	Dhcp                               bool   `json:"dhcp"`
	ActiveStandby                      string `json:"active_standby"`
	EnableEdgeActiveStandby            bool   `json:"edge_active_standby"`
	EnableEdgeActiveStandbyPreemptive  bool   `json:"edge_active_standby_preemptive"`
	LocalAsNumber                      string `json:"local_as_number"`
	PrependAsPath                      []string
	PrependAsPathReturn                string       `json:"prepend_as_path"`
	IncludeCidrList                    []string     `json:"include_cidr_list"`
	EnableLearnedCidrsApproval         bool         `json:"enable_learned_cidrs_approval"`
	ApprovedLearnedCidrs               []string     `json:"approved_learned_cidrs,omitempty"`
	SpokeBgpManualAdvertisedCidrs      []string     `json:"bgp_manual_spoke_advertise_cidrs"`
	EnablePreserveAsPath               bool         `json:"preserve_as_path"`
	BgpPollingTime                     int          `json:"bgp_polling_time"`
	BgpHoldTime                        int          `json:"bgp_hold_time"`
	EnableEdgeTransitiveRouting        bool         `json:"edge_transitive_routing"`
	EnableJumboFrame                   bool         `json:"jumbo_frame"`
	Latitude                           float64      `json:"latitude"`
	Longitude                          float64      `json:"longitude"`
	WanPublicIp                        string       `json:"public_ip"`
	PrivateIP                          string       `json:"private_ip"`
	RxQueueSize                        string       `json:"rx_queue_size"`
	State                              string       `json:"vpc_state"`
	InterfaceList                      []*Interface `json:"interfaces"`
	EnableNat                          string       `json:"enable_nat"`
	SnatMode                           string       `json:"snat_target"`
	EnableAutoAdvertiseLanCidrs        bool         `json:"auto_advertise_lan_cidrs"`
}

type EdgeEquinixVlan

type EdgeEquinixVlan struct {
	ParentInterface string `json:"parent_interface"`
	VlanId          string `json:"vlan_id"`
	IpAddr          string `json:"ipaddr"`
	GatewayIp       string `json:"gateway_ip"`
	PeerIpAddr      string `json:"peer_ipaddr"`
	PeerGatewayIp   string `json:"peer_gateway_ip"`
	VirtualIp       string `json:"virtual_ip"`
	Tag             string `json:"tag"`
}

type EdgeExternalDeviceConn

type EdgeExternalDeviceConn struct {
	Action                 string `json:"action,omitempty"`
	CID                    string `json:"CID,omitempty"`
	VpcID                  string `json:"vpc_id,omitempty"`
	ConnectionName         string `json:"conn_name,omitempty"`
	GwName                 string `json:"gw_name,omitempty"`
	ConnectionType         string `json:"routing_protocol,omitempty"`
	BgpLocalAsNum          int    `json:"local_asn,omitempty"`
	BgpRemoteAsNum         int    `json:"external_device_asn,omitempty"`
	RemoteGatewayIP        string `json:"external_device_ip_address,omitempty"`
	RemoteSubnet           string `json:"remote_subnet,omitempty"`
	DirectConnect          string `json:"direct_connect,omitempty"`
	PreSharedKey           string `json:"pre_shared_key,omitempty"`
	LocalTunnelCidr        string `json:"local_tunnel_ip,omitempty"`
	RemoteTunnelCidr       string `json:"remote_tunnel_ip,omitempty"`
	CustomAlgorithms       bool
	Phase1Auth             string `json:"phase1_authentication,omitempty"`
	Phase1DhGroups         string `json:"phase1_dh_groups,omitempty"`
	Phase1Encryption       string `json:"phase1_encryption,omitempty"`
	Phase2Auth             string `json:"phase2_authentication,omitempty"`
	Phase2DhGroups         string `json:"phase2_dh_groups,omitempty"`
	Phase2Encryption       string `json:"phase2_encryption,omitempty"`
	HAEnabled              string `json:"enable_ha,omitempty"`
	BackupRemoteGatewayIP  string `json:"backup_external_device_ip_address,omitempty"`
	BackupBgpRemoteAsNum   int    `json:"backup_external_device_as_number,omitempty"`
	BackupPreSharedKey     string `json:"backup_pre_shared_key,omitempty"`
	BackupLocalTunnelCidr  string `json:"backup_local_tunnel_ip,omitempty"`
	BackupRemoteTunnelCidr string `json:"backup_remote_tunnel_ip,omitempty"`
	BackupDirectConnect    string `json:"backup_direct_connect,omitempty"`
	EnableEdgeSegmentation string `json:"connection_policy,omitempty"`
	EnableIkev2            string `json:"enable_ikev2,omitempty"`
	ManualBGPCidrs         []string
	TunnelProtocol         string `json:"tunnel_protocol,omitempty"`
	EnableBgpLanActiveMesh bool   `json:"bgp_lan_activemesh,omitempty"`
	PeerVnetId             string `json:"peer_vnet_id,omitempty"`
	RemoteLanIP            string `json:"remote_lan_ip,omitempty"`
	LocalLanIP             string `json:"local_lan_ip,omitempty"`
	BackupRemoteLanIP      string `json:"backup_remote_lan_ip,omitempty"`
	BackupLocalLanIP       string `json:"backup_local_lan_ip,omitempty"`
	EventTriggeredHA       bool
	EnableJumboFrame       bool
	Phase1LocalIdentifier  string
	Phase1RemoteIdentifier string
	PrependAsPath          string
	BgpMd5Key              string `json:"bgp_md5_key,omitempty"`
	BackupBgpMd5Key        string `json:"backup_bgp_md5_key,omitempty"`
	AuthType               string `json:"auth_type,omitempty"`
	EnableEdgeUnderlay     bool   `json:"edge_underlay,omitempty"`
	RemoteCloudType        string `json:"remote_cloud_type,omitempty"`
	BgpMd5KeyChanged       bool   `json:"bgp_md5_key_changed,omitempty"`
}

type EdgeNEO

type EdgeNEO struct {
	Action                             string `json:"action,omitempty"`
	CID                                string `json:"CID,omitempty"`
	AccountName                        string `json:"account_name,omitempty"`
	GwName                             string `json:"name,omitempty"`
	SiteId                             string `json:"site_id,omitempty"`
	DeviceId                           string `json:"device_id,omitempty"`
	GwSize                             string `json:"gw_resource_size,omitempty"`
	ManagementEgressIpPrefix           string `json:"mgmt_egress_ip,omitempty"`
	EnableManagementOverPrivateNetwork bool   `json:"mgmt_over_private_network,omitempty"`
	DnsServerIp                        string `json:"dns_server_ip,omitempty"`
	SecondaryDnsServerIp               string `json:"dns_server_ip_secondary,omitempty"`
	EnableEdgeActiveStandby            bool   `json:"enable_active_standby,omitempty"`
	DisableEdgeActiveStandby           bool   `json:"disable_active_standby,omitempty"`
	EnableEdgeActiveStandbyPreemptive  bool   `json:"enable_active_standby_preemptive,omitempty"`
	DisableEdgeActiveStandbyPreemptive bool   `json:"disable_active_standby_preemptive,omitempty"`
	LocalAsNumber                      string `json:"local_as_number,omitempty"`
	PrependAsPath                      []string
	PrependAsPathReturn                string   `json:"prepend_as_path,omitempty"`
	IncludeCidrList                    []string `json:"include_cidr_list,omitempty"`
	EnableLearnedCidrsApproval         bool     `json:"enable_learned_cidrs_approval,omitempty"`
	ApprovedLearnedCidrs               []string `json:"approved_learned_cidrs,omitempty,omitempty"`
	SpokeBgpManualAdvertisedCidrs      []string `json:"bgp_manual_spoke_advertise_cidrs,omitempty"`
	EnablePreserveAsPath               bool     `json:"preserve_as_path,omitempty"`
	BgpPollingTime                     int      `json:"bgp_polling_time,omitempty"`
	BgpHoldTime                        int      `json:"bgp_hold_time,omitempty"`
	EnableEdgeTransitiveRouting        bool     `json:"edge_transitive_routing,omitempty"`
	EnableJumboFrame                   bool     `json:"jumbo_frame,omitempty"`
	Latitude                           string
	Longitude                          string
	RxQueueSize                        string `json:"rx_queue_size,omitempty"`
	State                              string `json:"vpc_state,omitempty"`
	NoProgressBar                      bool   `json:"no_progress_bar,omitempty"`
	WanInterface                       string `json:"wan_ifnames,omitempty"`
	LanInterface                       string `json:"lan_ifnames,omitempty"`
	MgmtInterface                      string `json:"mgmt_ifnames,omitempty"`
	InterfaceList                      []*EdgeNEOInterface
	Interfaces                         string `json:"interfaces,omitempty"`
	VlanList                           []*EdgeNEOVlan
	Vlan                               string `json:"vlan"`
	EnableSingleIpSnat                 bool
	EnableAutoAdvertiseLanCidrs        string `json:"auto_advertise_lan_cidrs,omitempty"`
	LanInterfaceIpPrefix               string
	DirectAttachLan                    bool `json:"direct_attach_lan,omitempty"`
}

type EdgeNEODevice

type EdgeNEODevice struct {
	Action                 string                  `json:"action,omitempty"`
	CID                    string                  `json:"CID,omitempty"`
	AccountName            string                  `json:"account_name,omitempty"`
	DeviceName             string                  `json:"device_name,omitempty"`
	SerialNumber           string                  `json:"serial,omitempty"`
	HardwareModel          string                  `json:"hardware_model,omitempty"`
	Network                []*EdgeNEODeviceNetwork `json:"network,omitempty"`
	DownloadConfigFile     bool
	ConfigFileDownloadPath string
}

type EdgeNEODeviceListResp

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

type EdgeNEODeviceNetwork

type EdgeNEODeviceNetwork struct {
	InterfaceName string   `json:"interface,omitempty"`
	EnableDhcp    bool     `json:"dhcp,omitempty"`
	GatewayIp     string   `json:"gateway,omitempty"`
	Ipv4Cidr      string   `json:"ipv4cidr,omitempty"`
	DnsServerIps  []string `json:"dns,omitempty"`
	ProxyServerIp string   `json:"proxy,omitempty"`
}

type EdgeNEODeviceResp

type EdgeNEODeviceResp struct {
	AccountName      string                  `json:"account_name"`
	DeviceName       string                  `json:"name"`
	DeviceId         string                  `json:"deviceId"`
	SerialNumber     string                  `json:"serial"`
	HardwareModel    string                  `json:"hardwareId"`
	Network          []*EdgeNEODeviceNetwork `json:"interfaces"`
	ConnectionStatus string                  `json:"connectionStatus"`
}

type EdgeNEOHa

type EdgeNEOHa struct {
	Action                   string `json:"action"`
	CID                      string `json:"CID"`
	PrimaryGwName            string `json:"primary_gw_name"`
	DeviceId                 string `json:"device_id"`
	InterfaceList            []*EdgeNEOInterface
	Interfaces               string `json:"interfaces"`
	NoProgressBar            bool   `json:"no_progress_bar,omitempty"`
	ManagementEgressIpPrefix string `json:"mgmt_egress_ip,omitempty"`
	DirectAttachLan          bool   `json:"direct_attach_lan"`
}

type EdgeNEOHaListResp

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

type EdgeNEOHaResp

type EdgeNEOHaResp struct {
	AccountName              string              `json:"account_name"`
	PrimaryGwName            string              `json:"primary_gw_name"`
	GwName                   string              `json:"gw_name"`
	DeviceId                 string              `json:"edge_csp_device_id"`
	InterfaceList            []*EdgeNEOInterface `json:"interfaces"`
	ManagementEgressIpPrefix string              `json:"mgmt_egress_ip"`
}

type EdgeNEOInterface

type EdgeNEOInterface struct {
	IfName        string         `json:"ifname"`
	Type          string         `json:"type"`
	Bandwidth     int            `json:"bandwidth"`
	PublicIp      string         `json:"public_ip"`
	Tag           string         `json:"tag"`
	Dhcp          bool           `json:"dhcp"`
	IpAddr        string         `json:"ipaddr"`
	GatewayIp     string         `json:"gateway_ip"`
	DnsPrimary    string         `json:"dns_primary"`
	DnsSecondary  string         `json:"dns_secondary"`
	SubInterfaces []*EdgeNEOVlan `json:"subinterfaces"`
	VrrpState     bool           `json:"vrrp_state"`
	VirtualIp     string         `json:"virtual_ip"`
}

type EdgeNEOListResp

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

type EdgeNEOResp

type EdgeNEOResp struct {
	AccountName                        string `json:"account_name"`
	GwName                             string `json:"gw_name"`
	SiteId                             string `json:"vpc_id"`
	DeviceId                           string `json:"edge_csp_device_id"`
	GwSize                             string `json:"edge_csp_gateway_size"`
	ManagementEgressIpPrefix           string `json:"mgmt_egress_ip"`
	EnableManagementOverPrivateNetwork bool   `json:"mgmt_over_private_network"`
	DnsServerIp                        string `json:"dns_server_ip"`
	SecondaryDnsServerIp               string `json:"dns_server_ip_secondary"`
	ActiveStandby                      string `json:"active_standby"`
	EnableEdgeActiveStandby            bool   `json:"edge_active_standby"`
	EnableEdgeActiveStandbyPreemptive  bool   `json:"edge_active_standby_preemptive"`
	LocalAsNumber                      string `json:"local_as_number"`
	PrependAsPath                      []string
	PrependAsPathReturn                string              `json:"prepend_as_path"`
	IncludeCidrList                    []string            `json:"include_cidr_list"`
	EnableLearnedCidrsApproval         bool                `json:"enable_learned_cidrs_approval"`
	ApprovedLearnedCidrs               []string            `json:"approved_learned_cidrs,omitempty"`
	SpokeBgpManualAdvertisedCidrs      []string            `json:"bgp_manual_spoke_advertise_cidrs"`
	EnablePreserveAsPath               bool                `json:"preserve_as_path"`
	BgpPollingTime                     int                 `json:"bgp_polling_time"`
	BgpHoldTime                        int                 `json:"bgp_hold_time"`
	EnableEdgeTransitiveRouting        bool                `json:"edge_transitive_routing"`
	EnableJumboFrame                   bool                `json:"jumbo_frame"`
	Latitude                           float64             `json:"latitude"`
	Longitude                          float64             `json:"longitude"`
	WanPublicIp                        string              `json:"public_ip"`
	PrivateIP                          string              `json:"private_ip"`
	RxQueueSize                        string              `json:"rx_queue_size"`
	State                              string              `json:"vpc_state"`
	WanInterface                       []string            `json:"edge_csp_wan_ifname"`
	LanInterface                       []string            `json:"edge_csp_lan_ifname"`
	MgmtInterface                      []string            `json:"edge_csp_mgmt_ifname"`
	InterfaceList                      []*EdgeNEOInterface `json:"interfaces"`
	EnableNat                          string              `json:"enable_nat"`
	SnatMode                           string              `json:"snat_target"`
	EnableAutoAdvertiseLanCidrs        bool                `json:"auto_advertise_lan_cidrs"`
}

type EdgeNEOVlan

type EdgeNEOVlan struct {
	ParentInterface string `json:"parent_interface"`
	VlanId          string `json:"vlan_id"`
	IpAddr          string `json:"ipaddr"`
	GatewayIp       string `json:"gateway_ip"`
	PeerIpAddr      string `json:"peer_ipaddr"`
	PeerGatewayIp   string `json:"peer_gateway_ip"`
	VirtualIp       string `json:"virtual_ip"`
	Tag             string `json:"tag"`
}

type EdgeSpoke

type EdgeSpoke struct {
	Action                             string `json:"action,omitempty"`
	CID                                string `json:"CID,omitempty"`
	Type                               string `json:"type,omitempty"`
	Caag                               bool   `json:"caag,omitempty"`
	GwName                             string `json:"gateway_name,omitempty"`
	SiteId                             string `json:"site_id,omitempty"`
	ManagementEgressIpPrefix           string `json:"mgmt_egress_ip,omitempty"`
	EnableManagementOverPrivateNetwork bool   `json:"mgmt_over_private_network,omitempty"`
	DnsServerIp                        string `json:"dns_server_ip,omitempty"`
	SecondaryDnsServerIp               string `json:"dns_server_ip_secondary,omitempty"`
	ZtpFileType                        string `json:"ztp_file_type,omitempty"`
	ZtpFileDownloadPath                string
	ActiveStandby                      string `json:"active_standby,omitempty"`
	EnableEdgeActiveStandby            bool   `json:"enable_active_standby,omitempty"`
	DisableEdgeActiveStandby           bool   `json:"disable_active_standby,omitempty"`
	EnableEdgeActiveStandbyPreemptive  bool   `json:"enable_active_standby_preemptive,omitempty"`
	DisableEdgeActiveStandbyPreemptive bool   `json:"disable_active_standby_preemptive,omitempty"`
	LocalAsNumber                      string `json:"local_as_number,omitempty"`
	PrependAsPath                      []string
	PrependAsPathReturn                string   `json:"prepend_as_path,omitempty"`
	IncludeCidrList                    []string `json:"include_cidr_list,omitempty"`
	EnableLearnedCidrsApproval         bool     `json:"enable_learned_cidrs_approval,omitempty"`
	ApprovedLearnedCidrs               []string `form:"approved_learned_cidrs,omitempty,omitempty"`
	SpokeBgpManualAdvertisedCidrs      []string `json:"bgp_manual_spoke_advertise_cidrs,omitempty"`
	EnablePreserveAsPath               bool     `json:"preserve_as_path,omitempty"`
	BgpPollingTime                     int      `json:"bgp_polling_time,omitempty"`
	BgpHoldTime                        int      `json:"bgp_hold_time,omitempty"`
	EnableEdgeTransitiveRouting        bool     `json:"edge_transitive_routing,omitempty"`
	EnableJumboFrame                   bool     `json:"jumbo_frame,omitempty"`
	Latitude                           string
	Longitude                          string
	LatitudeReturn                     float64 `json:"latitude,omitempty"`
	LongitudeReturn                    float64 `json:"longitude,omitempty"`
	RxQueueSize                        string  `json:"rx_queue_size,omitempty"`
	State                              string  `json:"vpc_state,omitempty"`
	InterfaceList                      []*EdgeSpokeInterface
	Interfaces                         string `json:"interfaces,omitempty"`
	VlanList                           []*EdgeSpokeVlan
	Vlan                               string `json:"vlan,omitempty"`
}

type EdgeSpokeInterface

type EdgeSpokeInterface struct {
	IfName        string             `json:"ifname"`
	Type          string             `json:"type"`
	Dhcp          bool               `json:"dhcp"`
	PublicIp      string             `json:"public_ip"`
	IpAddr        string             `json:"ipaddr"`
	GatewayIp     string             `json:"gateway_ip"`
	SubInterfaces []*EdgeEquinixVlan `json:"subinterfaces"`
	VrrpState     bool               `json:"vrrp_state"`
	VirtualIp     string             `json:"virtual_ip"`
	Tag           string             `json:"tag"`
}

type EdgeSpokeListResp

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

type EdgeSpokeResp

type EdgeSpokeResp struct {
	GwName                             string `json:"gw_name"`
	SiteId                             string `json:"vpc_id"`
	ManagementEgressIpPrefix           string `json:"mgmt_egress_ip"`
	EnableManagementOverPrivateNetwork bool   `json:"mgmt_over_private_network"`
	DnsServerIp                        string `json:"dns_server_ip"`
	SecondaryDnsServerIp               string `json:"dns_server_ip_secondary"`
	ZtpFileType                        string `json:"ztp_file_type"`
	EnableEdgeActiveStandby            bool   `json:"edge_active_standby"`
	EnableEdgeActiveStandbyPreemptive  bool   `json:"edge_active_standby_preemptive"`
	LocalAsNumber                      string `json:"local_as_number"`
	PrependAsPath                      []string
	PrependAsPathReturn                string                `json:"prepend_as_path"`
	IncludeCidrList                    []string              `json:"include_cidr_list"`
	EnableLearnedCidrsApproval         bool                  `json:"enable_learned_cidrs_approval"`
	ApprovedLearnedCidrs               []string              `form:"approved_learned_cidrs,omitempty"`
	SpokeBgpManualAdvertisedCidrs      []string              `json:"bgp_manual_spoke_advertise_cidrs"`
	EnablePreserveAsPath               bool                  `json:"preserve_as_path"`
	BgpPollingTime                     int                   `json:"bgp_polling_time"`
	BgpHoldTime                        int                   `json:"bgp_hold_time"`
	EnableEdgeTransitiveRouting        bool                  `json:"edge_transitive_routing"`
	EnableJumboFrame                   bool                  `json:"jumbo_frame"`
	Latitude                           float64               `json:"latitude"`
	Longitude                          float64               `json:"longitude"`
	RxQueueSize                        string                `json:"rx_queue_size"`
	State                              string                `json:"vpc_state"`
	InterfaceList                      []*EdgeSpokeInterface `json:"interfaces"`
}

type EdgeSpokeTransitAttachmentResp

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

type EdgeSpokeTransitAttachmentResults

type EdgeSpokeTransitAttachmentResults struct {
	Site1                    SiteDetail `json:"site_1"`
	Site2                    SiteDetail `json:"site_2"`
	EnableOverPrivateNetwork bool       `json:"private_network_peering"`
	EnableJumboFrame         bool       `json:"jumbo_frame"`
	EnableInsaneMode         bool       `json:"insane_mode"`
	InsaneModeTunnelNumber   int        `json:"insane_mode_tunnel_count"`
	EdgeWanInterfaces        []string   `json:"src_wan_interfaces"`
}

type EdgeSpokeVlan added in v3.1.4

type EdgeSpokeVlan struct {
	ParentInterface string `json:"parent_interface"`
	VlanId          string `json:"vlan_id"`
	IpAddr          string `json:"ipaddr"`
	GatewayIp       string `json:"gateway_ip"`
	PeerIpAddr      string `json:"peer_ipaddr"`
	PeerGatewayIp   string `json:"peer_gateway_ip"`
	VirtualIp       string `json:"virtual_ip"`
	Tag             string `json:"tag"`
}

type EdgeVmSelfmanagedHa added in v3.1.4

type EdgeVmSelfmanagedHa struct {
	Action                   string `json:"action"`
	CID                      string `json:"CID"`
	PrimaryGwName            string `json:"primary_gw_name"`
	SiteId                   string
	ZtpFileType              string
	ZtpFileDownloadPath      string
	InterfaceList            []*EdgeSpokeInterface
	Interfaces               string `json:"interfaces"`
	NoProgressBar            bool   `json:"no_progress_bar,omitempty"`
	ManagementEgressIpPrefix string `json:"mgmt_egress_ip,omitempty"`
	CloudInit                bool   `json:"cloud_init"`
}

type EdgeVmSelfmanagedHaListResp added in v3.1.4

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

type EdgeVmSelfmanagedHaResp added in v3.1.4

type EdgeVmSelfmanagedHaResp struct {
	PrimaryGwName            string                `json:"primary_gw_name"`
	GwName                   string                `json:"gw_name"`
	SiteId                   string                `json:"vpc_id"`
	ZtpFileType              string                `json:"ztp_file_type"`
	InterfaceList            []*EdgeSpokeInterface `json:"interfaces"`
	ManagementEgressIpPrefix string                `json:"mgmt_egress_ip"`
}

type EditBgpMd5Key

type EditBgpMd5Key struct {
	Action         string `form:"action,omitempty"`
	CID            string `form:"CID,omitempty"`
	ConnectionName string `form:"conn_name,omitempty"`
	GwName         string `form:"gateway_name,omitempty"`
	BgpMd5Key      string `form:"bgp_md5_key,omitempty"`
	BgpRemoteIP    string `form:"bgp_remote_ip,omitempty"`
}

type EditExternalDeviceConnDetail

type EditExternalDeviceConnDetail struct {
	VpcID                  []string      `json:"vpc_id,omitempty"`
	ConnectionName         []string      `json:"name,omitempty"`
	GwName                 string        `json:"gw_name,omitempty"`
	BgpLocalAsNum          string        `json:"bgp_local_asn_number,omitempty"`
	BgpRemoteAsNum         string        `json:"bgp_remote_asn_number,omitempty"`
	BgpStatus              string        `json:"bgp_status,omitempty"`
	EnableBgpLanActiveMesh bool          `json:"bgp_lan_activemesh,omitempty"`
	RemoteGatewayIP        string        `json:"peer_ip,omitempty"`
	RemoteSubnet           string        `json:"remote_cidr,omitempty"`
	DirectConnect          bool          `json:"direct_connect_primary,omitempty"`
	LocalTunnelCidr        string        `json:"bgp_local_ip,omitempty"`
	RemoteTunnelCidr       string        `json:"bgp_remote_ip,omitempty"`
	Algorithm              AlgorithmInfo `json:"algorithm,omitempty"`
	HAEnabled              string        `json:"ha_status,omitempty"`
	BackupBgpRemoteAsNum   string        `json:"bgp_remote_backup_asn_number,omitempty"`
	BackupLocalTunnelCidr  string        `json:"bgp_backup_local_ip,omitempty"`
	BackupRemoteTunnelCidr string        `json:"bgp_backup_remote_ip,omitempty"`
	BackupDirectConnect    bool          `json:"direct_connect_backup,omitempty"`
	EnableEdgeSegmentation bool          `json:"enable_edge_segmentation,omitempty"`
	Tunnels                []TunnelInfo  `json:"tunnels,omitempty"`
	ActiveActiveHA         string        `json:"active_active_ha,omitempty"`
	ManualBGPCidrs         []string      `json:"conn_bgp_manual_advertise_cidrs,omitempty"`
	BackupRemoteGatewayIP  string
	PreSharedKey           string
	BackupPreSharedKey     string
	IkeVer                 string `json:"ike_ver,omitempty"`
	PeerVnetId             string `json:"peer_vnet_id,omitempty"`
	RemoteLanIP            string `json:"remote_lan_ip,omitempty"`
	LocalLanIP             string `json:"local_lan_ip,omitempty"`
	BackupRemoteLanIP      string `json:"backup_remote_lan_ip,omitempty"`
	BackupLocalLanIP       string `json:"backup_local_lan_ip,omitempty"`
	EventTriggeredHA       string `json:"event_triggered_ha,omitempty"`
	Phase1LocalIdentifier  string `json:"ph1_identifier,omitempty"`
	Phase1RemoteIdentifier string `json:"phase1_remote_id,omitempty"`
	PrependAsPath          string `json:"conn_bgp_prepend_as_path,omitempty"`
	EnableJumboFrame       bool   `json:"jumbo_frame,omitempty"`
	WanUnderlay            bool   `json:"wan_underlay,omitempty"`
	RemoteCloudType        string `json:"remote_cloud_type,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"`
	CloudSubnetVirtual            string `form:"cloud_subnet_virtual,omitempty"`
	RemoteSourceRealCIDRs         string `form:"remote_src_real_cidrs,omitempty"`
	RemoteSourceVirtualCIDRs      string `form:"remote_src_virt_cidrs,omitempty"`
	RemoteDestinationRealCIDRs    string `form:"remote_dst_real_cidrs,omitempty"`
	RemoteDestinationVirtualCIDRs string `form:"remote_dst_virt_cidrs,omitempty"`
	LocalSourceRealCIDRs          string `form:"local_src_real_cidrs,omitempty"`
	LocalSourceVirtualCIDRs       string `form:"local_src_virt_cidrs,omitempty"`
	LocalDestinationRealCIDRs     string `form:"local_dst_real_cidrs,omitempty"`
	LocalDestinationVirtualCIDRs  string `form:"local_dst_virt_cidrs,omitempty"`
	Phase1LocalIdentifier         string `form:"phase1_identifier,omitempty"`
	Phase1RemoteIdentifier        string `form:"phase1_remote_identifier,omitempty"`
	CaCertTagName                 string `form:"s2c_cacert_tag_name,omitempty"`
	RemoteIdentifier              string `form:"cert_based_s2c_remote_id,omitempty"`
	BackupRemoteIdentifier        string `form:"cert_based_s2c_ha_remote_id,omitempty"`
}

type EditSite2CloudConnDetail

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"`
	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"`
	EnableActiveActive             string        `json:"active_active_ha,omitempty"`
	EnableIKEv2                    string        `json:"ike_ver,omitempty"`
	BgpLocalASN                    string        `json:"bgp_local_asn_number,omitempty"`
	BgpLocalIP                     string        `json:"bgp_local_ip,omitempty"`
	BgpBackupLocalIP               string        `json:"bgp_backup_local_ip,omitempty"`
	BgpRemoteASN                   string        `json:"bgp_remote_asn_number,omitempty"`
	BgpRemoteIP                    string        `json:"bgp_remote_ip,omitempty"`
	BgpBackupRemoteIP              string        `json:"bgp_backup_remote_ip,omitempty"`
	EnableGlobalAccelerator        bool          `json:"globalaccel,omitempty"`
	AzureAccountName               string        `json:"arm_account_name,omitempty"`
	AzureResourceGroup             string        `json:"arm_resource_group,omitempty"`
	AzureVhubName                  string        `json:"arm_vhub_name,omitempty"`
	ForwardToTransit               string        `json:"forward_to_transit"`
	RemoteSourceRealCIDRs          string        `json:"remote_src_real_cidrs"`
	RemoteSourceVirtualCIDRs       string        `json:"remote_src_virt_cidrs"`
	RemoteDestinationRealCIDRs     string        `json:"remote_dst_real_cidrs"`
	RemoteDestinationVirtualCIDRs  string        `json:"remote_dst_virt_cidrs"`
	LocalSourceRealCIDRs           string        `json:"local_src_real_cidrs"`
	LocalSourceVirtualCIDRs        string        `json:"local_src_virt_cidrs"`
	LocalDestinationRealCIDRs      string        `json:"local_dst_real_cidrs"`
	LocalDestinationVirtualCIDRs   string        `json:"local_dst_virt_cidrs"`
	ManualBGPCidrs                 []string      `json:"conn_bgp_manual_advertise_cidrs"`
	EventTriggeredHA               string        `json:"event_triggered_ha"`
	EnableSingleIpHA               string        `json:"single_ip_ha,omitempty"`
	Phase1LocalIdentifier          string        `json:"ph1_identifier,omitempty"`
	Phase1RemoteIdentifier         string        `json:"phase1_remote_id,omitempty"`
	InsaneMode                     string        `json:"insane_mode,omitempty"`
	DirectConnect                  bool          `json:"direct_connect_primary,omitempty"`
	BackupDirectConnect            bool          `json:"direct_connect_backup,omitempty"`
	BackupBgpRemoteASN             string        `json:"bgp_remote_backup_asn_number,omitempty"`
	ConnectionLearnedCidrsApproval string        `json:"conn_learned_cidrs_approval"`
	ConnectionApprovedCidrs        []string      `json:"conn_approved_learned_cidrs,omitempty"`
	LoadBalancing                  string        `json:"load_balancing,omitempty"`
	CloudnNeighborIP               string        `json:"cloudn_neighbor_ip,omitempty"`
	CloudnNeighborAsNum            string        `json:"cloudn_neighbor_as_number,omitempty"`
	CloudnBackupNeighborIP         string        `json:"cloudn_backup_neighbor_ip,omitempty"`
	CloudnBackupNeighborAsNum      string        `json:"cloudn_backup_neighbor_as_number,omitempty"`
	AuthType                       string        `json:"auth_type,omitempty"`
	CaCertTagName                  string        `json:"s2c_cacert_tag_name,omitempty"`
	RemoteIdentifier               string        `json:"cert_based_s2c_remote_id,omitempty"`
	BackupRemoteIdentifier         string        `json:"cert_based_s2c_ha_remote_id,omitempty"`
	RemoteGwLatitude               float64       `json:"remote_latitude,omitempty"`
	RemoteGwLongitude              float64       `json:"remote_longitude,omitempty"`
	BackupRemoteGwLatitude         float64       `json:"remote_backup_latitude,omitempty"`
	BackupRemoteGwLongitude        float64       `json:"remote_backup_longitude,omitempty"`
}

type ElbDetail

type ElbDetail struct {
	VpnProtocol string `json:"elb_protocol,omitempty"`
}

type EmailCell

type EmailCell struct {
	Address  string `json:"address"`
	Verified bool   `json:"verified"`
}

type EmailConfiguration

type EmailConfiguration struct {
	CID                              string `form:"CID,omitempty"`
	Action                           string `form:"action,omitempty"`
	AdminAlertEmail                  string `form:"admin_alert_email,omitempty"`
	CriticalAlertEmail               string `form:"critical_alert_email,omitempty"`
	SecurityEventEmail               string `form:"security_event_email,omitempty"`
	StatusChangeEmail                string `form:"status_change_email,omitempty"`
	StatusChangeNotificationInterval int    `form:"status_change_notification_interval"`
	AdminAlertEmailVerified          bool
	CriticalAlertEmailVerified       bool
	SecurityEventEmailVerified       bool
	StatusChangeEmailVerified        bool
}

type EnforcementLevel added in v3.1.1

type EnforcementLevel struct {
	Level string `json:"level,omitempty"`
}

type ExternalDeviceConn

type ExternalDeviceConn struct {
	Action                 string `form:"action,omitempty"`
	CID                    string `form:"CID,omitempty"`
	VpcID                  string `form:"vpc_id,omitempty"`
	ConnectionName         string `form:"connection_name,omitempty"`
	GwName                 string `form:"transit_gw,omitempty"`
	ConnectionType         string `form:"routing_protocol,omitempty"`
	BgpLocalAsNum          int    `form:"bgp_local_as_number,omitempty"`
	BgpRemoteAsNum         int    `form:"external_device_as_number,omitempty"`
	RemoteGatewayIP        string `form:"external_device_ip_address,omitempty"`
	RemoteSubnet           string `form:"remote_subnet,omitempty"`
	DirectConnect          string `form:"direct_connect,omitempty"`
	PreSharedKey           string `form:"pre_shared_key,omitempty"`
	LocalTunnelCidr        string `form:"local_tunnel_ip,omitempty"`
	RemoteTunnelCidr       string `form:"remote_tunnel_ip,omitempty"`
	CustomAlgorithms       bool
	Phase1Auth             string `form:"phase1_authentication,omitempty"`
	Phase1DhGroups         string `form:"phase1_dh_groups,omitempty"`
	Phase1Encryption       string `form:"phase1_encryption,omitempty"`
	Phase2Auth             string `form:"phase2_authentication,omitempty"`
	Phase2DhGroups         string `form:"phase2_dh_groups,omitempty"`
	Phase2Encryption       string `form:"phase2_encryption,omitempty"`
	HAEnabled              string `form:"enable_ha,omitempty" json:"enable_ha,omitempty"`
	BackupRemoteGatewayIP  string `form:"backup_external_device_ip_address,omitempty"`
	BackupBgpRemoteAsNum   int    `form:"backup_external_device_as_number,omitempty"`
	BackupPreSharedKey     string `form:"backup_pre_shared_key,omitempty"`
	BackupLocalTunnelCidr  string `form:"backup_local_tunnel_ip,omitempty"`
	BackupRemoteTunnelCidr string `form:"backup_remote_tunnel_ip,omitempty"`
	BackupDirectConnect    string `form:"backup_direct_connect,omitempty"`
	EnableEdgeSegmentation string `form:"connection_policy,omitempty"`
	EnableIkev2            string `form:"enable_ikev2,omitempty"`
	ManualBGPCidrs         []string
	TunnelProtocol         string `form:"tunnel_protocol,omitempty"`
	EnableBgpLanActiveMesh bool   `form:"bgp_lan_activemesh,omitempty"`
	PeerVnetId             string `form:"peer_vnet_id,omitempty"`
	RemoteLanIP            string `form:"remote_lan_ip,omitempty"`
	LocalLanIP             string `form:"local_lan_ip,omitempty"`
	BackupRemoteLanIP      string `form:"backup_remote_lan_ip,omitempty"`
	BackupLocalLanIP       string `form:"backup_local_lan_ip,omitempty"`
	EventTriggeredHA       bool
	EnableJumboFrame       bool
	Phase1LocalIdentifier  string
	Phase1RemoteIdentifier string
	PrependAsPath          string
	BgpMd5Key              string `form:"bgp_md5_key,omitempty"`
	BackupBgpMd5Key        string `form:"backup_bgp_md5_key,omitempty"`
	AuthType               string `form:"auth_type,omitempty"`
	EnableEdgeUnderlay     bool   `form:"edge_underlay,omitempty"`
	RemoteCloudType        string `form:"remote_cloud_type,omitempty"`
	BgpMd5KeyChanged       bool   `form:"bgp_md5_key_changed,omitempty"`
}

type ExternalDeviceConnDetailList

type ExternalDeviceConnDetailList struct {
	Connections EditExternalDeviceConnDetail `json:"connections"`
}

type ExternalDeviceConnDetailResp

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

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"`
}

FQDN simple struct to hold fqdn details

type FQDNGatewayInfoResp

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

type FQDNGatwayInfo

type FQDNGatwayInfo struct {
	Instances      []string            `json:"instances"`
	Interface      map[string][]string `json:"interfaces"`
	ArmFqdnLanCidr map[string]string   `json:"arm_fqdn_lan_cidr"`
}

type FQDNPassThrough

type FQDNPassThrough struct {
	ConfiguredIPs []string `json:"configured_ips"`
}

type FQDNPassThroughResp

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

type FQDNPrivateNetworkingFilteringResp

type FQDNPrivateNetworkingFilteringResp struct {
	Return bool                                 `json:"return"`
	Result FQDNPrivateNetworkingFilteringStatus `json:"results"`
}

type FQDNPrivateNetworkingFilteringStatus

type FQDNPrivateNetworkingFilteringStatus struct {
	PrivateSubFilter string   `json:"private_sub_filter"`
	ConfiguredIps    []string `json:"configured_ips"`
	Rfc1918          []string `json:"rfc_1918"`
}

type File

type File struct {
	Path           string
	ParamName      string
	UseFileContent bool   // set to true when using the file content instead of file path
	FileName       string // use when UseFileContent is true
	FileContent    string // use when UseFileContent is true
}

type FilebeatForwarderResp

type FilebeatForwarderResp struct {
	Server           string   `json:"server"`
	Port             string   `json:"port"`
	ExcludedGateways []string `json:"excluded_gateway"`
	Status           string   `json:"status"`
}

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"`
	Verdict  string `form:"verdict,omitempty" json:"verdict,omitempty"`
}

type FireNet

type FireNet struct {
	CID               string `form:"CID,omitempty"`
	Action            string `form:"action,omitempty"`
	VpcID             string `form:"vpc_id,omitempty" json:"vpc_id,omitempty"`
	GwName            string `form:"gw_name,omitempty" json:"gw_name,omitempty"`
	FirewallEgress    bool   `form:"firewall_egress,omitempty" json:"firewall_egress,omitempty"`
	Inspection        bool   `form:"inspection,omitempty" json:"inspection,omitempty"`
	HashingAlgorithm  string `json:"firewall_hashing,omitempty"`
	EgressStaticCidrs string
	ExcludedCidrs     string
}

type FireNetDetail

type FireNetDetail struct {
	CloudType                string                 `json:"cloud_type"`
	Region                   string                 `json:"region,omitempty"`
	VpcID                    string                 `json:"vpc_id,omitempty"`
	FirewallInstance         []FirewallInstanceInfo `json:"firewall,omitempty"`
	Gateway                  []GatewayInfo          `json:"gateway,omitempty"`
	FirewallEgress           string                 `json:"firewall_egress,omitempty"`
	NativeGwlb               bool                   `json:"native_gwlb"`
	Inspection               string                 `json:"inspection,omitempty"`
	HashingAlgorithm         string                 `json:"firewall_hashing,omitempty"`
	LanPing                  string                 `json:"lan_ping"`
	TgwSegmentationForEgress string                 `json:"tgw_segmentation"`
	EgressStaticCidrs        []string               `json:"egress_static_cidr"`
	ExcludedCidrs            []string               `json:"exclude_cidr"`
}

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"`
	BasePolicy     string    `form:"base_policy,omitempty" json:"base_policy,omitempty"`
	BaseLogEnabled string    `form:"base_policy_log_enable,omitempty" json:"base_policy_log_enable,omitempty"`
	PolicyList     []*Policy `json:"security_rules,omitempty"`
	NewPolicy      string    `form:"new_policy,omitempty"`
}

Gateway simple struct to hold firewall details

type FirewallInstance

type FirewallInstance struct {
	CID                  string `form:"CID,omitempty"`
	Action               string `form:"action,omitempty"`
	CloudType            int    `form:"cloud_type,omitempty"`
	VpcID                string `form:"vpc_id,omitempty" json:"vpc_id,omitempty"`
	FirenetVpc           string `json:"firenet_vpc"`
	GwName               string `form:"gw_name,omitempty" json:"gw_name,omitempty"`
	FirewallName         string `form:"firewall_name,omitempty" json:"instance_name,omitempty"`
	FirewallImage        string `form:"firewall_image,omitempty" json:"firewall_image,omitempty"`
	FirewallImageVersion string `form:"firewall_image_version,omitempty" json:"firewall_image_version,omitempty"`
	FirewallImageId      string `form:"firewall_image_id,omitempty" json:"firewall_image_id"`
	FirewallSize         string `form:"firewall_size,omitempty" json:"instance_size,omitempty"`
	EgressSubnet         string `form:"egress_subnet,omitempty" json:"egress_subnet,omitempty"`
	ManagementSubnet     string `form:"management_subnet,omitempty" json:"management_subnet,omitempty"`
	KeyName              string `form:"key_name,omitempty" json:"key_name,omitempty"`
	KeyFile              string `json:"key_file"`
	IamRole              string `form:"iam_role,omitempty" json:"iam_role,omitempty"`
	BootstrapBucketName  string `form:"bootstrap_bucket_name,omitempty" json:"bootstrap_bucket_name,omitempty"`
	InstanceID           string `form:"firewall_id,omitempty" json:"instance_id,omitempty"`
	Attached             bool
	LanInterface         string `form:"lan_interface,omitempty" json:"lan_interface_id,omitempty"`
	ManagementInterface  string `form:"management_interface,omitempty" json:"management_interface_id,omitempty"`
	ManagementVpc        string `form:"management_vpc,omitempty" json:"management_vpc"`
	ManagementSubnetID   string `json:"management_subnet_id"`
	EgressInterface      string `form:"egress_interface,omitempty" json:"egress_interface_id,omitempty"`
	EgressVpc            string `form:"egress_vpc,omitempty" json:"egress_vpc"`
	EgressSubnetID       string `json:"egress_subnet_id"`
	ManagementPublicIP   string `json:"management_public_ip,omitempty"`
	VendorType           string
	Username             string          `form:"username,omitempty"`
	Password             string          `form:"password,omitempty"`
	AvailabilityZone     string          `form:"zone,omitempty" json:"availability_zone,omitempty"`
	CloudVendor          string          `json:"cloud_vendor,omitempty"`
	SshPublicKey         string          `form:"ssh_public_key,omitempty" json:"ssh_public_key,omitempty"`
	BootstrapStorageName string          `form:"bootstrap_storage_name,omitempty" json:"bootstrap_storage_name,omitempty"`
	StorageAccessKey     string          `form:"storage_access_key,omitempty" json:"storage_access_key,omitempty"`
	FileShareFolder      string          `form:"file_share_folder,omitempty" json:"file_share_folder,omitempty"`
	ShareDirectory       string          `form:"share_directory,omitempty" json:"share_directory,omitempty"`
	SicKey               string          `form:"sic_key,omitempty" json:"sic_key,omitempty"`
	ContainerFolder      string          `form:"container_folder,omitempty" json:"container_folder,omitempty"`
	SasUrlConfig         string          `form:"sas_url_config,omitempty" json:"sas_url_config,omitempty"`
	SasUriLicense        string          `form:"sas_url_license,omitempty" json:"sas_url_license,omitempty"`
	UserData             string          `form:"user_data,omitempty" json:"user_data,omitempty"`
	TagsMessage          json.RawMessage `json:"usr_tags"`
	Tags                 map[string]string
	TagJson              string
	AvailabilityDomain   string `form:"availability_domain,omitempty"`
	FaultDomain          string `form:"fault_domain,omitempty" json:"fault_domain"`
}

type FirewallInstanceCreateResp

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

type FirewallInstanceCreateResult

type FirewallInstanceCreateResult struct {
	Text       string `json:"text,omitempty"`
	FirewallID string `json:"firewall_id,omitempty"`
}

type FirewallInstanceImage

type FirewallInstanceImage struct {
	Image   string   `json:"description"`
	Version []string `json:"version"`
	Size    []string `json:"size"`
}

type FirewallInstanceImages

type FirewallInstanceImages struct {
	Images []FirewallInstanceImage `json:"images"`
}

type FirewallInstanceImagesResp

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

type FirewallInstanceInfo

type FirewallInstanceInfo struct {
	Enabled             bool   `json:"enabled"`
	GwName              string `json:"gateway"`
	InstanceID          string `json:"id"`
	FirewallName        string `json:"name"`
	LanInterface        string `json:"lan_interface_id,omitempty"`
	ManagementInterface string `json:"management_interface_id,omitempty"`
	EgressInterface     string `json:"egress_interface_id,omitempty"`
	VendorType          string `json:"vendor,omitempty"`
}

type FirewallInstanceResp

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

type FirewallInterface

type FirewallInterface struct {
	Instances  []string            `json:"instances"`
	Interfaces map[string][]string `json:"interfaces"`
}

type FirewallManagementAccess

type FirewallManagementAccess struct {
	CID                          string `form:"CID,omitempty"`
	Action                       string `form:"action,omitempty"`
	TransitFireNetGatewayName    string `form:"transit_firenet_gateway_name,omitempty" json:"gw_name,omitempty"`
	ManagementAccessResourceName string `form:"management_access,omitempty" json:"management_access,omitempty"`
}

type FirewallManagementAccessAPIResp

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

type FirewallManager

type FirewallManager struct {
	CID           string
	Action        string
	VpcID         string
	GatewayName   string
	VendorType    string
	PublicIP      string
	Username      string
	Password      string
	Template      string
	TemplateStack string
	RouteTable    string
	Save          bool
	Synchronize   bool
}

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" json:"additional_cidrs"`
	AuthMethod                   string `form:"auth_method,omitempty" json:"auth_method,omitempty"`
	AllocateNewEip               string `form:"allocate_new_eip,omitempty"`
	AllocateNewEipReadPtr        *bool  `json:"newly_allocated_eip,omitempty"`
	AllocateNewEipRead           bool
	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"`
	ReuseEip                     string `json:"reuse_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"`
	VpnProtocol                  string `json:"vpn_protocol" form:"elb_protocol,omitempty"`
	EnableClientCertSharing      string `form:"enable_client_cert_sharing,omitempty"`
	EnableElb                    string `form:"enable_elb,omitempty"`
	EnableLdap                   bool   `form:"enable_ldap,omitempty" json:"enable_ldap,omitempty"`
	EnableVpcDnsServer           string `form:"use_vpc_dns_server,omitempty" json:"use_vpc_dns,omitempty"`
	DnsServer                    string `form:"dns_server,omitempty"`
	PublicDnsServer              string `form:"public_dns_server,omitempty" json:"public_dns_server,omitempty"`
	GwAutoRestart                string `form:"gw_auto_restart,omitempty"`
	DisableSkipRfc1918Routes     string `form:"disable_skip_rfc1918_routes,omitempty"`
	ExcludeCtrlerIpsecPolicy     string `form:"exclude_ctrler_ipsec_policy,omitempty"`
	EditDesignatedGw             string `form:"edit_designated_gateway,omitempty"`
	CustomizingGwRoute           string `form:"customizing_gateway_route,omitempty"`
	FilteringGwRoute             string `form:"filtering_gateway_route,omitempty"`
	AdvertiseGwRoute             string `form:"advertise_gateway_route,omitempty"`
	TransitPeeringAsOnpremBackup string `form:"transit_peering_as_onprem_backup,omitempty"`
	EnableActiveMesh             string `form:"enable_activemesh,omitempty"`
	PrivateVpcDefault            string `form:"private_vpc_default,omitempty"`
	SkipPublicVpcUpdate          string `form:"skip_public_vpc_update,omitempty"`
	Ipv6Action                   string `form:"ipv6_action,omitempty"`
	GroGso                       string `form:"gro_gso,omitempty"`
	AutoAdvertiseS2cCidrs        string `form:"auto_advertise_s2c_cidrs,omitempty"`
	Biflow                       string `form:"biflow,omitempty"`
	IpslaTxlb                    string `form:"ipsla_txlb,omitempty"`
	EnableJumboFrame             string `form:"jumbo_frame,omitempty"`
	// These two are very similar but have a slight difference
	// EnableNat - will be "yes" if single/multiple SNAT is enabled
	// NatEnabled - will be true if single/multiple/customized SNAT is enabled
	EnableNat                       string            `form:"enable_nat,omitempty" json:"enable_nat,omitempty"`
	NatEnabled                      bool              `form:"nat_enabled,omitempty" json:"nat_enabled,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"`
	NewSubnet                       string            `form:"new_subnet,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"`
	JumboFrame                      bool              `json:"jumbo_frame,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" json:"name_servers"`
	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" json:"search_domains"`
	SplitTunnel                     string            `form:"split_tunnel,omitempty" json:"split_tunnel,omitempty"`
	SpokeVpc                        string            `json:"spoke_vpc,omitempty"`
	Tags                            map[string]string `json:"tags,omitempty"`
	TagJson                         string            `form:"tag_json,omitempty"`
	TransitGwName                   string            `form:"transit_gw_name,omitempty" json:"transit_gw_name,omitempty"`
	EgressTransitGwName             string            `form:"egress_transit_gw_name,omitempty" json:"egress_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:"gw_subnet,omitempty" json:"public_subnet,omitempty"`
	VpcRegion                       string            `form:"vpc_region,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:"gw_size,omitempty" ` //Only use for gateway create
	DMZEnabled                      string            `json:"dmz_enabled,omitempty"`
	EnableVpnNat                    bool              `form:"vpn_nat,omitempty" json:"vpn_nat"`
	EnableDesignatedGateway         string            `form:"designated_gateway,omitempty" json:"designated_gateway,omitempty"`
	AdditionalCidrsDesignatedGw     string            `form:"additional_cidr_list,omitempty" json:"summarized_cidrs,omitempty"`
	EnableEncryptVolume             bool              `json:"gw_enc,omitempty"`
	CustomerManagedKeys             string            `form:"customer_managed_keys,omitempty" json:"customer_managed_keys,omitempty"`
	SnatMode                        string            `form:"mode,omitempty" json:"snat_target,omitempty"`
	SnatPolicy                      []PolicyRule
	PolicyList                      string `form:"policy_list,omitempty"`
	GatewayName                     string `form:"gateway_name,omitempty"`
	DnatPolicy                      []PolicyRule
	CustomizedSpokeVpcRoutes        []string `json:"customized_cidr_list,omitempty"`
	FilteredSpokeVpcRoutes          []string `json:"filtering_cidr_list,omitempty"`
	AdvertisedSpokeRoutes           []string `json:"advertise_cidr_list,omitempty"`
	IncludeCidrList                 []string `json:"include_cidr_list,omitempty"`
	ExcludeCidrList                 []string `json:"exclude_cidr_list,omitempty"`
	LearnedCidrsApproval            string   `json:"learned_cidrs_approval,omitempty"`
	Dns                             string   `json:"dns,omitempty"`
	EncVolume                       string   `form:"enc_volume,omitempty"`
	MonitorSubnetsAction            string   `form:"monitor_subnets_action,omitempty" json:"monitor_subnets_action,omitempty"`
	MonitorExcludeGWList            []string `form:"monitor_exclude_gw_list,omitempty" json:"monitor_exclude_gw_list,omitempty"`
	FqdnLanCidr                     string   `form:"fqdn_lan_cidr,omitempty"`
	RouteTable                      string
	EnablePrivateOob                bool                                `json:"private_oob"`
	OobManagementSubnet             string                              `json:"oob_mgmt_subnet"`
	LanVpcID                        string                              `form:"lan_vpc,omitempty"`
	LanPrivateSubnet                string                              `form:"lan_subnet,omitempty"`
	CreateFQDNGateway               bool                                `form:"create_firewall_gw,omitempty"`
	PrivateVpcDefaultEnabled        bool                                `json:"private_vpc_default_enabled"`
	SkipPublicVpcUpdateEnabled      bool                                `json:"skip_public_vpc_update_enabled"`
	EnableMultitierTransit          bool                                `json:"multitier_transit"`
	AutoAdvertiseCidrsEnabled       bool                                `json:"auto_advertise_s2c_cidrs,omitempty"`
	TunnelDetectionTime             int                                 `json:"detection_time"`
	BgpHoldTime                     int                                 `json:"bgp_hold_time"`
	BgpPollingTime                  int                                 `json:"bgp_polling_time"`
	PrependASPath                   string                              `json:"prepend_as_path"`
	LocalASNumber                   string                              `json:"local_as_number"`
	BgpEcmp                         bool                                `json:"bgp_ecmp"`
	EnableActiveStandby             bool                                `json:"enable_active_standby"`
	EnableActiveStandbyPreemptive   bool                                `json:"enabled_active_standby_preemptive"`
	EnableBgpOverLan                bool                                `json:"enable_bgp_over_lan"`
	EnableTransitSummarizeCidrToTgw bool                                `json:"enable_transit_summarize_cidr_to_tgw"`
	EnableSegmentation              bool                                `json:"enable_segmentation"`
	LearnedCidrsApprovalMode        string                              `json:"learned_cidrs_approval_mode"`
	EnableFirenet                   bool                                `json:"enable_firenet"`
	EnableTransitFirenet            bool                                `json:"enable_transit_firenet"`
	EnableGatewayLoadBalancer       bool                                `json:"enable_gateway_load_balancer"`
	EnableEgressTransitFirenet      bool                                `json:"enable_egress_transit_firenet"`
	EnablePreserveAsPath            bool                                `json:"preserve_as_path"`
	CustomizedTransitVpcRoutes      []string                            `json:"customized_transit_vpc_routes"`
	EnableAdvertiseTransitCidr      bool                                `json:"enable_advertise_transit_cidr"`
	EnableLearnedCidrsApproval      bool                                `json:"enable_learned_cidrs_approval"`
	BgpManualSpokeAdvertiseCidrs    []string                            `json:"bgp_manual_spoke_advertise_cidrs"`
	IdleTimeout                     string                              `json:"idle_timeout"`
	RenegotiationInterval           string                              `json:"renegotiation_interval"`
	FqdnInterfaces                  map[string][]string                 `json:"fqdn_interfaces"`
	ArmFqdnLanCidr                  map[string]string                   `json:"fqdn_fqdn_lan_cidr"`
	IsPsfGateway                    bool                                `json:"is_psf_gw"`
	PsfDetails                      PublicSubnetFilteringGatewayDetails `json:"psf_details"`
	BundleVpcInfo                   BundleVpcInfo                       `json:"bundle_vpc_info"`
	HaGw                            HaGateway                           `json:"hagw_details"`
	AvailabilityDomain              string                              `form:"availability_domain,omitempty"`
	FaultDomain                     string                              `form:"fault_domain,omitempty" json:"fault_domain"`
	EnableSpotInstance              bool                                `form:"spot_instance,omitempty" json:"spot_instance"`
	SpotPrice                       string                              `form:"spot_price,omitempty" json:"spot_price"`
	ImageVersion                    string                              `json:"gw_image_name"`
	SoftwareVersion                 string                              `json:"gw_software_version"`
	TransitVpc                      string                              `json:"transit_vpc"`
	EnableBgp                       bool                                `json:"bgp_enabled,omitempty"`
	BgpLanInterfaces                []BundleVpcLanInfo                  `json:"gce_bgp_lan_info,omitempty"`
	Async                           bool                                `form:"async,omitempty"`
	DisableRoutePropagation         bool                                `json:"disable_route_propagation,omitempty"`
	EnableS2CRxBalancing            bool                                `json:"s2c_rx_balancing,omitempty"`
	BgpLanInterfacesCount           int                                 `json:"bgp_over_lan_intf_cnt,omitempty"`
	RxQueueSize                     string                              `json:"rx_queue_size"`
	LbVpcId                         string                              `json:"lb_vpc_id,omitempty"`
	Compress                        bool                                `form:"compress,omitempty"`
	PrimaryGwName                   string                              `json:"primary_gw_name,omitempty"`
	EnableGlobalVpc                 bool                                `json:"global_vpc,omitempty"`
}

Gateway simple struct to hold gateway details

type GatewayCertificate

type GatewayCertificate struct {
	CaCertificate string
	CaPrivateKey  string
}

type GatewayCertificateStatus

type GatewayCertificateStatus struct {
	Status string
}

type GatewayCertificateStatusResp

type GatewayCertificateStatusResp struct {
	APIResp
	Results GatewayCertificateStatus
}

type GatewayDetail

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"`
	EnableAdvertiseTransitCidr   string        `json:"advertise_transit_cidr,omitempty"`
	BgpManualSpokeAdvertiseCidrs []string      `json:"bgp_manual_spoke_advertise_cidrs,omitempty"`
	VpnNat                       bool          `json:"vpn_nat,omitempty"`
	SnatPolicy                   []PolicyRule  `json:"snat_ip_port_list,omitempty"`
	DnatPolicy                   []PolicyRule  `json:"dnat_ip_port_list,omitempty"`
	Elb                          ElbDetail     `json:"elb,omitempty"`
	EnableEgressTransitFireNet   bool          `json:"egress_transit,omitempty"`
	EnableFireNet                bool          `json:"firenet_enabled,omitempty"`
	EnabledGatewayLoadBalancer   bool          `json:"gwlb_enabled,omitempty"`
	EnableTransitFireNet         bool          `json:"transit_firenet_enabled,omitempty"`
	LearnedCidrsApproval         string        `json:"learned_cidrs_approval,omitempty"`
	GwZone                       string        `json:"gw_zone,omitempty"`
	TransitGwName                string        `json:"transit_gw_name,omitempty"`
	EgressTransitGwName          string        `json:"egress_transit_gw_name,omitempty"`
	RouteTables                  []string      `json:"spoke_rtb_list,omitempty"`
	CustomizedTransitVpcRoutes   []string      `json:"customized_transit_vpc_cidrs"`
	BundleVpcInfo                BundleVpcInfo `json:"bundle_vpc_info"`
	BgpEnabled                   bool          `json:"bgp_enabled"`
}

type GatewayDetailApiResp

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

type GatewayInfo

type GatewayInfo struct {
	DomainName string `json:"domain_name"`
	HaStatus   string `json:"ha_status"`
	GwName     string `json:"name"`
	TgwID      string `json:"tgw_id"`
}

type GatewayListResp

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

type GeoVPN

type GeoVPN struct {
	Action      string `json:"action,omitempty"`
	CID         string `json:"CID,omitempty"`
	AccountName string `json:"account_name,omitempty"`
	CloudType   int    `json:"cloud_type,omitempty"`
	DomainName  string `json:"domain_name,omitempty"`
	ElbDNSName  string `json:"elb_dns_name,omitempty"`
	ServiceName string `json:"cname,omitempty"`
}

type GeoVPNEdit

type GeoVPNEdit struct {
	AccountName string         `json:"account_name,omitempty"`
	CloudType   int            `json:"cloud_type,omitempty"`
	DomainName  string         `json:"domain_name,omitempty"`
	DnsName     string         `json:"service_name,omitempty"`
	ElbDNSNames []GeoVPNPolicy `json:"geo_vpn_policy,omitempty"`
	ServiceName string         `json:"cname,omitempty"`
}

type GeoVPNPolicy

type GeoVPNPolicy struct {
	ElbDNSName string `json:"elb_dns,omitempty"`
	Region     string `json:"region,omitempty"`
}

type GetApiTokenResp

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

type GetAwsTgwVpnConnVpnIdResp

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

type GetCloudnBackupConfigResp

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

type GetFireNetResp

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

type GetFqdnExceptionRuleResp

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

type GetGeoVPNInfoResp

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

type GetHTTPSCertsStatus

type GetHTTPSCertsStatus struct {
	Method string
}

type GetHTTPSCertsStatusResp

type GetHTTPSCertsStatusResp struct {
	Return  bool
	Reason  string
	Results GetHTTPSCertsStatus
}

type GetSecurityGroupManagementResp

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

type GetVPNCertDownloadStatusResp

type GetVPNCertDownloadStatusResp struct {
	Return  bool
	Results VPNCertDownloadStatus
	Reason  string
}

type GetVpcByNameResp

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

type GlobalVpcExcludedInstance

type GlobalVpcExcludedInstance struct {
	UUID         string `json:"id"`
	AccountName  string `json:"account"`
	InstanceName string `json:"instance_name"`
	Region       string `json:"region"`
}

type GlobalVpcExcludedInstanceResp

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

type GlobalVpcTaggingSettings

type GlobalVpcTaggingSettings struct {
	ServiceState string `json:"service_state"`
	EnableAlert  bool   `json:"alert"`
}

type GlobalVpcTaggingSettingsResp

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

type GwFilterTag

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

type GwSourceIP

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

type HTTPSCertConfig

type HTTPSCertConfig struct {
	CACertificateFilePath     string
	ServerCertificateFilePath string
	ServerPrivateKeyFilePath  string
	CACertificateFile         string
	ServerCertificateFile     string
	ServerPrivateKeyFile      string
}

type HaGateway

type HaGateway struct {
	GwName              string             `json:"vpc_name"`
	CloudType           int                `json:"cloud_type"`
	GwSize              string             `json:"vpc_size"`
	VpcNet              string             `json:"public_subnet"`
	PublicIP            string             `json:"public_ip"`
	PrivateIP           string             `json:"private_ip"`
	ReuseEip            string             `json:"reuse_eip,omitempty"`
	CloudnGatewayInstID string             `json:"cloudn_gateway_inst_id"`
	GatewayZone         string             `json:"gateway_zone"`
	InsaneMode          string             `json:"high_perf"`
	EnablePrivateOob    bool               `json:"private_oob"`
	OobManagementSubnet string             `json:"oob_mgmt_subnet"`
	GwSecurityGroupID   string             `json:"gw_security_group_id"`
	FaultDomain         string             `json:"fault_domain"`
	ImageVersion        string             `json:"gw_image_name"`
	SoftwareVersion     string             `json:"gw_software_version"`
	HaBgpLanInterfaces  []BundleVpcLanInfo `json:"gce_ha_bgp_lan_info,omitempty"`
}

type IgnoreTagsConfig

type IgnoreTagsConfig struct {
	Keys        KeyValueTags
	KeyPrefixes KeyValueTags
}

type Interface

type Interface struct {
	IfName        string  `json:"ifname"`
	Type          string  `json:"type"`
	Bandwidth     int     `json:"bandwidth"`
	PublicIp      string  `json:"public_ip"`
	Tag           string  `json:"tag"`
	Dhcp          bool    `json:"dhcp"`
	IpAddr        string  `json:"ipaddr"`
	GatewayIp     string  `json:"gateway_ip"`
	DnsPrimary    string  `json:"dns_primary"`
	DnsSecondary  string  `json:"dns_secondary"`
	SubInterfaces []*Vlan `json:"subinterfaces"`
	VrrpState     bool    `json:"vrrp_state"`
	VirtualIp     string  `json:"virtual_ip"`
}

type IntraDomainInspection

type IntraDomainInspection struct {
	TgwName                      string `form:"tgw_name,omitempty" json:"tgw_name"`
	RouteDomainName              string `form:"route_domain_name,omitempty" json:"name"`
	FirewallDomainName           string `form:"firewall_domain_name,omitempty" json:"intra_domain_inspection_name"`
	IntraDomainInspectionEnabled bool   `json:"intra_domain_inspection"`
}

type KeyValueTags

type KeyValueTags map[string]string

func NewIgnoreTags

func NewIgnoreTags(i interface{}) KeyValueTags

func (KeyValueTags) Ignore

func (tags KeyValueTags) Ignore(ignoreTags KeyValueTags) KeyValueTags

func (KeyValueTags) IgnoreConfig

func (tags KeyValueTags) IgnoreConfig(config *IgnoreTagsConfig) KeyValueTags

func (KeyValueTags) IgnorePrefixes

func (tags KeyValueTags) IgnorePrefixes(ignoreTagPrefixes KeyValueTags) KeyValueTags

type LearnedCIDRApprovalInfo

type LearnedCIDRApprovalInfo struct {
	ConnName             string   `json:"conn_name"`
	EnabledApproval      string   `json:"conn_learned_cidrs_approval"`
	ApprovedLearnedCidrs []string `json:"conn_approved_learned_cidrs"`
}

type ListAdminEmailAddrResp

type ListAdminEmailAddrResp struct {
	AdminAlertEmail    EmailCell `json:"admin_alert"`
	CriticalAlertEmail EmailCell `json:"critical_alert"`
	SecurityEventEmail EmailCell `json:"security_event"`
	StatusChangeEmail  EmailCell `json:"status_change"`
}

type ListAwsGuardDutyIntervalInfo

type ListAwsGuardDutyIntervalInfo struct {
	Interval int
	Options  []int
}

type ListAwsGuardDutyResp

type ListAwsGuardDutyResp struct {
	Return  bool
	Reason  string
	Results ListAwsGuardDutyResults
}

type ListAwsGuardDutyResults

type ListAwsGuardDutyResults struct {
	IntervalInfo  ListAwsGuardDutyIntervalInfo `json:"interval_info"`
	GuardDutyList []*AwsGuardDutyAccount       `json:"guard_duty"`
}

type ListAwsTgwAttachmentAPIResp

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

type ListConnectedRouteDomainsResp

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

type ListFireNetResp

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

type ListSpokeGatewaySubnetsResp

type ListSpokeGatewaySubnetsResp struct {
	SubnetListAll []string `json:"subnet_list_all"`
}

type ListTransitFireNetPolicyResp

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

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 MainCopilot added in v3.1.1

type MainCopilot struct {
	VpcId        string `json:"vpc_id,omitempty"`
	Subnet       string `json:"subnet,omitempty"`
	InstanceSize string `json:"vm_size,omitempty"`
}

type NetflowAgent

type NetflowAgent struct {
	CID                   string
	ServerIp              string
	Port                  int
	Version               int
	L7Mode                string
	ExcludedGatewaysInput string
}

type NetflowAgentResp

type NetflowAgentResp struct {
	ServerIp         string   `json:"server_ip"`
	Port             string   `json:"port"`
	Version          string   `json:"version"`
	L7Mode           bool     `json:"l7_mode_enabled"`
	ExcludedGateways []string `json:"excluded_gateway"`
	Status           string   `json:"status"`
}

type NetworkDomainDetails

type NetworkDomainDetails struct {
	Name                         string `json:"name"`
	TgwName                      string `json:"tgw_name"`
	RouteTableId                 string `json:"route_table_id"`
	Account                      string `json:"account"`
	CouldType                    string `json:"cloud_type"`
	Region                       string `json:"region"`
	IntraDomainInspectionEnabled bool   `json:"intra_domain_inspection"`
	EgressInspection             bool   `json:"egress_inspection"`
	InspectionPolicy             string `json:"inspection_policy"`
	IntraDomainInspectionName    string `json:"intra_domain_inspection_name"`
	EgressInspectionName         string `json:"egress_inspection_name"`
	Type                         string `json:"type"`
}

type PairList

type PairList struct {
	PairLists []AWSPeerEdit `json:"pair_list,omitempty"`
}

type PeriodicPing

type PeriodicPing struct {
	Action        string `form:"action"`
	CID           string `form:"CID"`
	GwName        string `form:"gateway_name"`
	Interval      string `form:"interval"`
	IntervalAsInt int
	IP            string `form:"ip_address"`
}

type PeriodicPingStatusResp

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

type PeriodicPingStatusResult

type PeriodicPingStatusResult struct {
	Status   string   `json:"status"`
	IPs      []string `json:"address,omitempty"`
	Interval int      `json:"interval,omitempty"`
}

type PermissionAttachmentInfo

type PermissionAttachmentInfo struct {
	Name        string `json:"name"`
	DisplayName string `json:"display_name"`
	Description string `json:"description"`
	Type        string `json:"type"`
}

type PlatformUpgradeInfo

type PlatformUpgradeInfo struct {
	Progmsg string                `json:"progmsg,omitempty"`
	Results PlatformUpgradeResult `json:"results,omitempty"`
	Reason  string                `json:"reason,omitempty"`
}

type PlatformUpgradeResp

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

type PlatformUpgradeResult

type PlatformUpgradeResult struct {
	Msg    string `json:"msg,omitempty"`
	Reason string `json:"reason,omitempty"`
	Status string `json:"status,omitempty"`
}

type PlatformUpgradeStatus

type PlatformUpgradeStatus struct {
	PlatformUpgrade     PlatformUpgradeInfo `json:"platform_upgrade,omitempty"`
	IsUpgradeInProgress bool                `json:"is_upgrade_in_progress,omitempty"`
}

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"`
	Action      string `form:"deny_allow,omitempty" json:"deny_allow,omitempty"`
	LogEnabled  string `form:"log_enable,omitempty" json:"log_enable,omitempty"`
	Description string `form:"description,omitempty" json:"description,omitempty"`
	Position    int    `form:"position,omitempty" json:"position,omitempty"`
}

type PolicyRule

type PolicyRule struct {
	SrcIP           string `form:"src_ip,omitempty" json:"src_ip,omitempty"`
	SrcPort         string `form:"src_port,omitempty" json:"src_port,omitempty"`
	DstIP           string `form:"dst_ip,omitempty" json:"dst_ip,omitempty"`
	DstPort         string `form:"dst_port,omitempty" json:"dst_port,omitempty"`
	Protocol        string `form:"protocol,omitempty" json:"protocol,omitempty"`
	Interface       string `form:"interface,omitempty" json:"interface,omitempty"`
	Connection      string `form:"connection,omitempty" json:"connection,omitempty"`
	Mark            string `form:"mark,omitempty" json:"mark,omitempty"`
	NewSrcIP        string `form:"new_src_ip,omitempty" json:"new_src_ip,omitempty"`
	NewSrcPort      string `form:"new_src_port,omitempty" json:"new_src_port,omitempty"`
	ExcludeRTB      string `form:"exclude_rtb,omitempty" json:"exclude_rtb,omitempty"`
	ApplyRouteEntry bool   `form:"apply_route_entry,omitempty" json:"apply_route_entry"`
	NewDstIP        string `form:"new_dst_ip,omitempty" json:"new_dst_ip,omitempty"`
	NewDstPort      string `form:"new_dst_port,omitempty" json:"new_dst_port,omitempty"`
}

type PortWrapper

type PortWrapper string

func (*PortWrapper) UnmarshalJSON

func (w *PortWrapper) UnmarshalJSON(data []byte) (err error)

type PrivateModeLb

type PrivateModeLb struct {
	CID                   string `json:"CID"`
	Action                string `json:"action"`
	AccountName           string `json:"account_name"`
	VpcId                 string `json:"vpc_id"`
	Region                string `json:"region"`
	LbType                string `json:"lb_type"`
	MulticloudAccessVpcId string `json:"endpoint_vpc_id,omitempty"`
	EdgeVpc               bool   `json:"edge_vpc,omitempty"`
	Proxies               []PrivateModeMulticloudProxy
}

type PrivateModeLbRead

type PrivateModeLbRead struct {
	AccountName           string `json:"account_name"`
	VpcId                 string `json:"vpc_id"`
	Region                string `json:"region"`
	LbType                string `json:"lb_type"`
	MulticloudAccessVpcId string `json:"multicloud_access_vpc_id,omitempty"`
	EdgeVpc               bool   `json:"edge_vpc,omitempty"`
	Proxies               []PrivateModeMulticloudProxy
}

type PrivateModeMultiCloudEndpointRead

type PrivateModeMultiCloudEndpointRead struct {
	AccountName       string `json:"account_name"`
	VpcId             string `json:"endpoint_vpc_id"`
	Region            string `json:"region"`
	ControllerLbVpcId string `json:"endpoint_lb_vpc_id"`
	DnsEntry          string `json:"dns_entry"`
}

type PrivateModeMulticloudEndpoint

type PrivateModeMulticloudEndpoint struct {
	CID               string `json:"CID"`
	Action            string `json:"action"`
	AccountName       string `json:"account_name"`
	VpcId             string `json:"endpoint_vpc_id"`
	Region            string `json:"region"`
	ControllerLbVpcId string `json:"load_balancer_vpc_id"`
}

type PrivateModeMulticloudProxy

type PrivateModeMulticloudProxy struct {
	InstanceId string `json:"instance_id"`
	VpcId      string `json:"vpc_id"`
}

type PrivateOobResp

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

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 ProxyCaCertInstance added in v3.1.1

type ProxyCaCertInstance struct {
	SerialNumber   string `json:"serial_number,omitempty"`
	Issuer         string `json:"issuer,omitempty"`
	CommonName     string `json:"common_name,omitempty"`
	ExpirationDate string `json:"expire_date,omitempty"`
	Sans           string `json:"SANs,omitempty"`
	UploadInfo     string `json:"upload_info,omitempty"`
}

type ProxyCaConfig added in v3.1.1

type ProxyCaConfig struct {
	CaCert         string `json:"cert,omitempty"`
	CaKey          string `json:"file_key,omitempty"`
	SerialNumber   string `json:"serial_number,omitempty"`
	Issuer         string `json:"issuer,omitempty"`
	CommonName     string `json:"common_name,omitempty"`
	ExpirationDate string `json:"expire_date,omitempty"`
	SANs           string `json:"SANs,omitempty"`
	UploadInfo     string `json:"upload_info,omitempty"`
}

type ProxyConfig

type ProxyConfig struct {
	HttpProxy          string `json:"http_proxy,omitempty"`
	HttpsProxy         string `json:"https_proxy,omitempty"`
	ProxyCaCertificate string `json:"server_ca_cert_content"`
}

type ProxyConfigResp

type ProxyConfigResp struct {
	Return  bool
	Results ProxyConfig
	Reason  string
}

type PublicSubnetFilteringGatewayDetails

type PublicSubnetFilteringGatewayDetails struct {
	RouteTableList    []string `json:"rtb_list"`
	HaRouteTableList  []string `json:"ha_rtb_list"`
	GuardDutyEnforced string   `json:"guard_duty_enforced"`
	GwSubnetCidr      string   `json:"gw_subnet_cidr"`
	GwSubnetAz        string   `json:"gw_subnet_az"`
	HaGwSubnetCidr    string   `json:"ha_gw_subnet_cidr"`
	HaGwSubnetAz      string   `json:"ha_gw_subnet_az"`
}

type PublicSubnetFilteringGatewayDetailsResp

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

type QosClass

type QosClass struct {
	UUID     string `json:"uuid"`
	Name     string `json:"name"`
	Priority int    `json:"priority"`
}

type QosClassResp

type QosClassResp struct {
	QosClass []QosClass `json:"qos_class"`
}

type QosPolicy

type QosPolicy struct {
	UUID         string   `json:"uuid,omitempty"`
	Name         string   `json:"name,omitempty"`
	DscpValues   []string `json:"dscps,omitempty"`
	QosClassUuid string   `json:"qos_class,omitempty"`
}

type QosPolicyList

type QosPolicyList struct {
	Policies []QosPolicy `json:"policies"`
}

type QosPolicyListResp

type QosPolicyListResp struct {
	QosPolicy []QosPolicyList `json:"qos_policies"`
}

type RbacGroup

type RbacGroup struct {
	CID       string `form:"CID,omitempty"`
	Action    string `form:"action,omitempty"`
	GroupName string `form:"group_name,omitempty" json:"group_name,omitempty"`
}

type RbacGroupAccessAccountAttachment

type RbacGroupAccessAccountAttachment struct {
	CID               string `form:"CID,omitempty"`
	Action            string `form:"action,omitempty"`
	GroupName         string `form:"group_name,omitempty" json:"group_name,omitempty"`
	AccessAccountName string `form:"accounts,omitempty" json:"accounts,omitempty"`
}

type RbacGroupAccessAccountAttachmentListResp

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

type RbacGroupListDetailsResp

type RbacGroupListDetailsResp struct {
	Return        bool                `json:"return"`
	RbacGroupList []RbacGroupResponse `json:"results"`
	Reason        string              `json:"reason"`
}

type RbacGroupListResp

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

type RbacGroupPermissionAttachment

type RbacGroupPermissionAttachment struct {
	CID            string `form:"CID,omitempty"`
	Action         string `form:"action,omitempty"`
	GroupName      string `form:"group_name,omitempty" json:"group_name,omitempty"`
	PermissionName string `form:"permissions,omitempty" json:"permissions,omitempty"`
}

type RbacGroupPermissionAttachmentListResp

type RbacGroupPermissionAttachmentListResp struct {
	Return                            bool                       `json:"return"`
	RbacGroupPermissionAttachmentList []PermissionAttachmentInfo `json:"results"`
	Reason                            string                     `json:"reason"`
}

type RbacGroupResponse

type RbacGroupResponse struct {
	LocalLogin bool   `json:"local_login"`
	GroupName  string `json:"name"`
}

type RbacGroupUserAttachment

type RbacGroupUserAttachment struct {
	CID       string `form:"CID,omitempty"`
	Action    string `form:"action,omitempty"`
	GroupName string `form:"group_name,omitempty" json:"group_name,omitempty"`
	UserName  string `form:"users,omitempty" json:"users,omitempty"`
}

type RbacGroupUserAttachmentListResp

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

type RemoteSyslog

type RemoteSyslog struct {
	CID                 string `form:"CID,omitempty"`
	Server              string `form:"server,omitempty" json:"server"`
	Port                int    `form:"port,omitempty" json:"port"`
	Protocol            string `form:"protocol,omitempty" json:"protocol"`
	Index               int    `form:"index,omitempty" json:"index"`
	Name                string `form:"name,omitempty"`
	Template            string `form:"template,omitempty" json:"template"`
	CaCertificate       string `form:"ca_certificate,omitempty"`
	PublicCertificate   string `form:"public_certificate,omitempty"`
	PrivateKey          string `form:"private_key,omitempty"`
	ExcludeGatewayInput string `form:"exclude_gateway_list,omitempty"`
}

type RemoteSyslogResp

type RemoteSyslogResp struct {
	Server           string      `json:"server"`
	Port             PortWrapper `json:"port"`
	Protocol         string      `json:"protocol"`
	Index            string      `json:"index"`
	Name             string      `json:"name"`
	Template         string      `json:"template"`
	ExcludedGateways []string    `json:"excluded_gateway"`
	Status           string      `json:"status"`
	Notls            bool        `json:"notls"`
}

type ResourceCounts

type ResourceCounts struct {
	Name  string `json:"Name"`
	Count int    `json:"Count"`
}

type ResultListResp

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

type ResultListSourceIPResp

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"`
	AviatrixFirewallDomain bool                 `json:"firewall_domain"`
	NativeEgressDomain     bool                 `json:"egress_domain"`
	NativeFirewallDomain   bool                 `json:"native_firewall_domain"`
}

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 S2CCaCert

type S2CCaCert struct {
	Action          string `form:"action,omitempty"`
	CID             string `form:"CID,omitempty"`
	TagName         string `form:"name,omitempty"`
	CaCertificate   string `form:"ca_cert"`
	CaCertInstances []CaCertInstance
}

type S2CCaCertListResp

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

type S2CCaCertTag

type S2CCaCertTag struct {
	Action         string `form:"action,omitempty"`
	CID            string `form:"CID,omitempty"`
	TagName        string `form:"name,omitempty"`
	CaCertificates []CaCertInstance
}

type SamlEndpoint

type SamlEndpoint struct {
	Action            string   `form:"action,omitempty"`
	CID               string   `form:"CID,omitempty"`
	EndPointName      string   `form:"endpoint_name,omitempty" json:"name,omitempty"`
	IdpMetadataType   string   `form:"idp_metadata_type,omitempty" json:"metadata_type,omitempty"`
	IdpMetadata       string   `form:"idp_metadata,omitempty" json:"idp_metadata,omitempty"`
	EntityIdType      string   `form:"entityID,omitempty" json:"entity_id,omitempty"`
	CustomEntityId    string   `form:"custom_entityID,omitempty" json:"custom_entityID,omitempty"`
	MsgTemplate       string   `form:"msgtemplate,omitempty" json:"msgtemplate,omitempty"`
	MsgTemplateType   string   `form:"msgtemplatetype,omitempty" json:"msgtemplate_type,omitempty"`
	ControllerLogin   string   `form:"controller_login,omitempty" json:"controller_login,omitempty"`
	AccessSetBy       string   `form:"access_ctrl,omitempty" json:"access_ctrl,omitempty"`
	RbacGroups        string   `form:"groups,omitempty"`
	RbacGroupsRead    []string `json:"cl_rbac_groups,omitempty"`
	SignAuthnRequests string   `form:"sign_authn_requests,omitempty"`
}

type SamlEndpointInfo

type SamlEndpointInfo struct {
	EndPointName      string   `json:"name,omitempty"`
	IdpMetadataType   string   `json:"metadata_type,omitempty"`
	IdpMetadata       string   `json:"idp_metadata,omitempty"`
	IdpMetadataURL    string   `json:"url,omitempty"`
	EntityIdType      string   `json:"entity_id,omitempty"`
	CustomEntityId    string   `json:"custom_entityID,omitempty"`
	MsgTemplate       string   `json:"msgtemplate,omitempty"`
	MsgTemplateType   string   `json:"msgtemplate_type,omitempty"`
	ControllerLogin   bool     `json:"controller_login,omitempty"`
	AccessSetBy       string   `json:"access_ctrl,omitempty"`
	RbacGroupsRead    []string `json:"cl_rbac_groups,omitempty"`
	SignAuthnRequests bool     `json:"sign_authn_requests,omitempty"`
}

type SamlResp

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

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"`
	AviatrixFirewallDomain bool   `form:"firewall_domain, omitempty"`
	NativeEgressDomain     bool   `form:"native_egress_domain, omitempty"`
	NativeFirewallDomain   bool   `form:"native_firewall_domain, omitempty"`
	ForceDelete            bool   `form:"force,omitempty"`
	Async                  bool   `form:"async,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 SecurityDomainDetails

type SecurityDomainDetails struct {
	Name                   string    `json:"name"`
	ConnectedDomain        []string  `json:"connected_route_domain,omitempty"`
	AttachedVPCs           []VPCSolo `json:"attached_vpc,omitempty"`
	AviatrixFirewallDomain bool      `json:"firewall_domain,omitempty"`
	NativeEgressDomain     bool      `json:"egress_domain,omitempty"`
	NativeFirewallDomain   bool      `json:"native_firewall_domain,omitempty"`
}

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"`
	AviatrixFirewallDomain bool      `json:"firewall_domain,omitempty"`
	NativeEgressDomain     bool      `json:"egress_domain,omitempty"`
	NativeFirewallDomain   bool      `json:"native_firewall_domain,omitempty"`
}

type SecurityGroupInfo

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

type SegmentationSecurityDomain

type SegmentationSecurityDomain struct {
	DomainName string
}

type SegmentationSecurityDomainAssociation

type SegmentationSecurityDomainAssociation struct {
	TransitGatewayName string
	SecurityDomainName string
	AttachmentName     string
}

type SegmentationSecurityDomainConnectionPolicy

type SegmentationSecurityDomainConnectionPolicy struct {
	Domain1 *SegmentationSecurityDomain
	Domain2 *SegmentationSecurityDomain
}

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,omitempty" 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"`
	EnableIKEv2                   string   `form:"enable_ikev2,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
	EnableActiveActive            bool
	ForwardToTransit              bool
	EventTriggeredHA              bool
	CustomMap                     bool   `form:"custom_map,omitempty"`
	RemoteSourceRealCIDRs         string `form:"remote_src_real_cidrs,omitempty"`
	RemoteSourceVirtualCIDRs      string `form:"remote_src_virt_cidrs,omitempty"`
	RemoteDestinationRealCIDRs    string `form:"remote_dst_real_cidrs,omitempty"`
	RemoteDestinationVirtualCIDRs string `form:"remote_dst_virt_cidrs,omitempty"`
	LocalSourceRealCIDRs          string `form:"local_src_real_cidrs,omitempty"`
	LocalSourceVirtualCIDRs       string `form:"local_src_virt_cidrs,omitempty"`
	LocalDestinationRealCIDRs     string `form:"local_dst_real_cidrs,omitempty"`
	LocalDestinationVirtualCIDRs  string `form:"local_dst_virt_cidrs,omitempty"`
	LocalTunnelIp                 string `form:"local_tunnel_ip,omitempty"`
	RemoteTunnelIp                string `form:"remote_tunnel_ip,omitempty"`
	BackupLocalTunnelIp           string `form:"backup_local_tunnel_ip,omitempty"`
	BackupRemoteTunnelIp          string `form:"backup_remote_tunnel_ip,omitempty"`
	EnableSingleIpHA              bool
	Phase1LocalIdentifier         string
	Phase1RemoteIdentifier        string
	AuthType                      string `form:"auth_type,omitempty"`
	CaCertTagName                 string `form:"cert_name,omitempty"`
	RemoteIdentifier              string `form:"cert_based_s2c_remote_id,omitempty"`
	BackupRemoteIdentifier        string `form:"cert_based_s2c_ha_remote_id,omitempty"`
}

Site2Cloud simple struct to hold site2cloud details

type Site2CloudConnDetailList

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

type Site2CloudConnDetailResp

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 SiteDetail

type SiteDetail struct {
	ConnBgpPrependAsPath string `json:"conn_bgp_prepend_as_path"`
}

type SmartGroup

type SmartGroup struct {
	Name     string
	UUID     string
	Selector SmartGroupSelector
}

type SmartGroupMatchExpression

type SmartGroupMatchExpression struct {
	CIDR        string `json:"cidr,omitempty"`
	FQDN        string `json:"fqdn,omitempty"`
	Type        string `json:"type,omitempty"`
	Site        string `json:"site,omitempty"`
	ResId       string `json:"res_id,omitempty"`
	AccountId   string `json:"account_id,omitempty"`
	AccountName string `json:"account_name,omitempty"`
	Name        string `json:"name,omitempty"`
	Region      string `json:"region,omitempty"`
	Zone        string `json:"zone,omitempty"`
	Tags        map[string]string
}

type SmartGroupSelector

type SmartGroupSelector struct {
	Expressions []*SmartGroupMatchExpression
}

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"`
	Dns             string `form:"dns,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 SplunkLoggingResp

type SplunkLoggingResp struct {
	Server           string   `json:"server_ip"`
	Port             string   `json:"server_port"`
	CustomConfig     string   `json:"custom_input_cfg"`
	ExcludedGateways []string `json:"excluded_gateway"`
	Status           string   `json:"status"`
}

type SpokeGatewayAdvancedConfig

type SpokeGatewayAdvancedConfig struct {
	BgpPollingTime                    string
	PrependASPath                     []string
	LocalASNumber                     string
	BgpEcmpEnabled                    bool
	ActiveStandbyEnabled              bool
	ActiveStandbyConnections          []StandbyConnection
	LearnedCIDRsApprovalMode          string
	ConnectionLearnedCIDRApprovalInfo []LearnedCIDRApprovalInfo
	TunnelAddrLocal                   string
	TunnelAddrLocalBackup             string
	PeerVnetId                        []string
	BgpHoldTime                       int
	EnableSummarizeCidrToTgw          bool
	ApprovedLearnedCidrs              []string
}

type SpokeGatewayAdvancedConfigResp

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

type SpokeGatewayAdvancedConfigRespResult

type SpokeGatewayAdvancedConfigRespResult struct {
	BgpPollingTime                    int                       `json:"bgp_polling_time"`
	PrependASPath                     string                    `json:"bgp_prepend_as_path"`
	LocalASNumber                     string                    `json:"local_asn_num"`
	BgpEcmpEnabled                    string                    `json:"bgp_ecmp"`
	ActiveStandby                     string                    `json:"active-standby"`
	ActiveStandbyStatus               map[string]string         `json:"active_standby_status"`
	LearnedCIDRsApprovalMode          string                    `json:"learned_cidrs_approval_mode"`
	ConnectionLearnedCIDRApprovalInfo []LearnedCIDRApprovalInfo `json:"connection_learned_cidrs_approval_info"`
	TunnelAddrLocal                   string                    `json:"tunnel_addr_local"`
	TunnelAddrLocalBackup             string                    `json:"tunnel_addr_local_backup"`
	PeerVnetId                        []string                  `json:"peer_vnet_id"`
	BgpHoldTime                       int                       `json:"bgp_hold_time"`
	EnableSummarizeCidrToTgw          string                    `json:"summarize_cidr_to_tgw"`
	ApprovedLearnedCidrs              []string                  `json:"approved_learned_cidrs"`
}

type SpokeGatewaySubnetGroup

type SpokeGatewaySubnetGroup struct {
	CID             string
	GatewayName     string
	SubnetGroupName string
	SubnetList      []string
}

type SpokeGatewaySubnetGroupResp

type SpokeGatewaySubnetGroupResp struct {
	SubnetGroupName string   `json:"subnet_group_name"`
	SubnetList      []string `json:"subnet_list"`
}

type SpokeHaGateway

type SpokeHaGateway struct {
	Action                string `json:"action"`
	CID                   string `json:"CID"`
	AccountName           string `json:"account_name"`
	CloudType             int    `json:"cloud_type"`
	VpcID                 string `json:"vpc_id,omitempty"`
	VNetNameResourceGroup string `json:"vnet_and_resource_group_names"`
	PrimaryGwName         string `json:"primary_gw_name"`
	GwName                string `json:"ha_gw_name"`
	GwSize                string `json:"gw_size"`
	Subnet                string `json:"gw_subnet"`
	VpcRegion             string `json:"region"`
	Zone                  string `json:"zone"`
	AvailabilityDomain    string `json:"availability_domain"`
	FaultDomain           string `json:"fault_domain"`
	BgpLanVpcId           string `json:"bpg_lan_vpc_id"`
	BgpLanSubnet          string `json:"bgp_lan_subnet"`
	Eip                   string `json:"eip,omitempty"`
	InsaneMode            string `json:"insane_mode"`
	TagList               string `json:"tag_string"`
	TagJson               string `json:"tag_json"`
	AutoGenHaGwName       string `json:"autogen_hagw_name"`
}

type SpokeTransitAttachment

type SpokeTransitAttachment struct {
	Action                   string `form:"action,omitempty"`
	CID                      string `form:"CID,omitempty"`
	SpokeGwName              string `form:"spoke_gw,omitempty"`
	TransitGwName            string `form:"transit_gw,omitempty"`
	RouteTables              string `form:"route_table_list,omitempty"`
	SpokeBgpEnabled          bool
	SpokePrependAsPath       []string
	TransitPrependAsPath     []string
	EnableOverPrivateNetwork bool   `form:"over_private_network,omitempty"`
	EnableJumboFrame         bool   `form:"jumbo_frame,omitempty"`
	EnableInsaneMode         bool   `form:"insane_mode,omitempty"`
	InsaneModeTunnelNumber   int    `form:"tunnel_count,omitempty"`
	NoMaxPerformance         bool   `form:"no_max_performance,omitempty"`
	EdgeWanInterfaces        string `form:"edge_wan_interfaces,omitempty"`
	EdgeWanInterfacesResp    []string
}

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:"gw_subnet,omitempty" json:"gw_subnet,omitempty"`
	VpcRegion                    string `form:"vpc_region,omitempty" json:"vpc_region,omitempty"`
	VpcSize                      string `form:"gw_size,omitempty" json:"vpc_size,omitempty"`
	EnableNat                    string `form:"enable_nat,omitempty" json:"enable_nat,omitempty"`
	EnableVpcDnsServer           string `json:"use_vpc_dns,omitempty"`
	HASubnet                     string `form:"ha_subnet,omitempty"`
	HAZone                       string `form:"new_zone,omitempty"`
	HASubnetGCP                  string `form:"new_subnet,omitempty"`
	SingleAzHa                   string `form:"single_az_ha,omitempty"`
	TransitGateway               string `form:"transit_gw,omitempty"`
	TagJson                      string `form:"json_tags,omitempty"`
	ReuseEip                     string `form:"reuse_eip,omitempty"`
	AllocateNewEipRead           bool   `json:"newly_allocated_eip,omitempty"`
	Eip                          string `form:"eip,omitempty" json:"eip,omitempty"`
	InsaneMode                   string `form:"insane_mode,omitempty"`
	Zone                         string `form:"zone,omitempty" json:"zone,omitempty"`
	BgpManualSpokeAdvertiseCidrs string `form:"bgp_manual_spoke,omitempty"`
	EncVolume                    string `form:"enc_volume,omitempty"`
	CustomerManagedKeys          string `form:"cmk,omitempty"`
	EnablePrivateOob             string `form:"private_oob,omitempty"`
	OobManagementSubnet          string `form:"oob_mgmt_subnet,omitempty"`
	HAOobManagementSubnet        string
	AvailabilityDomain           string   `form:"availability_domain,omitempty"`
	FaultDomain                  string   `form:"fault_domain,omitempty"`
	EnableSpotInstance           bool     `form:"spot_instance,omitempty"`
	SpotPrice                    string   `form:"spot_price,omitempty"`
	EnableBgp                    string   `form:"enable_bgp"`
	LearnedCidrsApproval         string   `form:"learned_cidrs_approval,omitempty"`
	ApprovedLearnedCidrs         []string `form:"approved_learned_cidrs"`
	Async                        bool     `form:"async,omitempty"`
	BgpOverLan                   bool     `form:"bgp_lan,omitempty"`
	BgpLanInterfacesCount        int      `form:"bgp_lan_intf_count,omitempty"`
	LbVpcId                      string   `form:"lb_vpc_id,omitempty"`
	EnableGlobalVpc              bool     `form:"global_vpc"`
}

Spoke gateway simple struct to hold spoke details

type StandbyConnection

type StandbyConnection struct {
	ConnectionName    string
	ActiveGatewayType string
}

type SubnetInfo

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

type SumologicForwarderResp

type SumologicForwarderResp struct {
	AccessID         string   `json:"acc_id"`
	AccessKey        string   `json:"acc_key"`
	SourceCategory   string   `json:"source_category"`
	CustomConfig     string   `json:"custom_cfg"`
	ExcludedGateways []string `json:"excluded_gateway"`
	Status           string   `json:"status"`
}

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         map[string]string
	TagJson      string `form:"new_tag_json,omitempty"`
}

Tags simple struct to hold tag details

type TgwAttachmentResp

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

type TgwInfoDetail

type TgwInfoDetail struct {
	AccountName               string   `json:"acct_name"`
	Region                    string   `json:"region"`
	AwsSideAsNumber           int      `json:"tgw_aws_asn"`
	CloudType                 int      `json:"cloud_type"`
	EnableMulticast           bool     `json:"multicast_enable"`
	CidrList                  []string `json:"tgw_cidr_list"`
	TgwId                     string   `json:"tgw_id"`
	ConnectionBasedInspection bool     `json:"connection_based_inspection"`
}

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 TransitFireNetPolicy

type TransitFireNetPolicy struct {
	TransitFireNetGatewayName string `form:"gateway_1,omitempty" json:"gateway_1,omitempty"`
	InspectedResourceName     string `form:"gateway_2,omitempty" json:"gateway_2,omitempty"`
}

type TransitFireNetPolicyAPIResp

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

type TransitFireNetPolicyEdit

type TransitFireNetPolicyEdit struct {
	TransitFireNetGwName         string   `json:"gw_name,omitempty"`
	InspectedResourceNameList    []string `json:"inspected,omitempty"`
	ManagementAccessResourceName string   `json:"management_access,omitempty"`
}

type TransitGatewayAdvancedConfig

type TransitGatewayAdvancedConfig struct {
	BgpPollingTime                    string
	PrependASPath                     []string
	LocalASNumber                     string
	BgpEcmpEnabled                    bool
	ActiveStandbyEnabled              bool
	ActiveStandbyConnections          []StandbyConnection
	LearnedCIDRsApprovalMode          string
	ConnectionLearnedCIDRApprovalInfo []LearnedCIDRApprovalInfo
	TunnelAddrLocal                   string
	TunnelAddrLocalBackup             string
	PeerVnetId                        []string
	BgpHoldTime                       int
	EnableSummarizeCidrToTgw          bool
	ApprovedLearnedCidrs              []string
}

type TransitGatewayAdvancedConfigResp

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

type TransitGatewayAdvancedConfigRespResult

type TransitGatewayAdvancedConfigRespResult struct {
	BgpPollingTime                    int                       `json:"bgp_polling_time"`
	PrependASPath                     string                    `json:"bgp_prepend_as_path"`
	LocalASNumber                     string                    `json:"local_asn_num"`
	BgpEcmpEnabled                    string                    `json:"bgp_ecmp"`
	ActiveStandby                     string                    `json:"active-standby"`
	ActiveStandbyStatus               map[string]string         `json:"active_standby_status"`
	LearnedCIDRsApprovalMode          string                    `json:"learned_cidrs_approval_mode"`
	ConnectionLearnedCIDRApprovalInfo []LearnedCIDRApprovalInfo `json:"connection_learned_cidrs_approval_info"`
	TunnelAddrLocal                   string                    `json:"tunnel_addr_local"`
	TunnelAddrLocalBackup             string                    `json:"tunnel_addr_local_backup"`
	PeerVnetId                        []string                  `json:"peer_vnet_id"`
	BgpHoldTime                       int                       `json:"bgp_hold_time"`
	EnableSummarizeCidrToTgw          string                    `json:"summarize_cidr_to_tgw"`
	ApprovedLearnedCidrs              []string                  `json:"approved_learned_cidrs"`
}

type TransitGatewayBgpLanIpInfo

type TransitGatewayBgpLanIpInfo struct {
	BgpLanIpList        []string
	HaBgpLanIpList      []string
	AzureBgpLanIpList   []string
	AzureHaBgpLanIpList []string
}

type TransitGatewayBgpLanIpInfoResp

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

type TransitGatewayBgpLanIpInfoRespResult

type TransitGatewayBgpLanIpInfoRespResult struct {
	BgpLanIpList        []string `json:"gce_bgp_lan_all_intf_tuple_list"`
	HaBgpLanIpList      []string `json:"gce_bgp_lan_all_intf_ha_tuple_list"`
	AzureBgpLanIpList   []string `json:"arm_bgp_lan_all_intf_ip_list"`
	AzureHaBgpLanIpList []string `json:"arm_bgp_lan_all_intf_ha_ip_list"`
}

type TransitGatewayPeering

type TransitGatewayPeering struct {
	TransitGatewayName1                 string `form:"gateway1,omitempty" json:"gateway_1,omitempty"`
	TransitGatewayName2                 string `form:"gateway2,omitempty" json:"gateway_2,omitempty"`
	Gateway1ExcludedCIDRs               string `form:"src_filter_list,omitempty"`
	Gateway2ExcludedCIDRs               string `form:"dst_filter_list,omitempty"`
	Gateway1ExcludedTGWConnections      string `form:"source_exclude_connections,omitempty"`
	Gateway2ExcludedTGWConnections      string `form:"destination_exclude_connections,omitempty"`
	PrivateIPPeering                    string `form:"private_ip_peering,omitempty"`
	InsaneModeOverInternet              bool   `form:"insane_mode_over_internet,omitempty"`
	InsaneModeTunnelCount               int    `json:"insane_mode_tunnel_count"`
	TunnelCount                         int    `form:"tunnel_count,omitempty"`
	Gateway1ExcludedCIDRsSlice          []string
	Gateway2ExcludedCIDRsSlice          []string
	Gateway1ExcludedTGWConnectionsSlice []string
	Gateway2ExcludedTGWConnectionsSlice []string
	PrependAsPath1                      string
	PrependAsPath2                      string
	CID                                 string `form:"CID,omitempty"`
	Action                              string `form:"action,omitempty"`
	SingleTunnel                        string `form:"single_tunnel,omitempty"`
	NoMaxPerformance                    bool   `form:"no_max_performance,omitempty"`
}

type TransitGatewayPeeringAPIResp

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

type TransitGatewayPeeringDetail

type TransitGatewayPeeringDetail struct {
	ExcludedCIDRs          []string `json:"exclude_filter_list"`
	ExcludedTGWConnections []string `json:"exclude_connections"`
	ConnBGPPrependAsPath   string   `json:"conn_bgp_prepend_as_path"`
}

type TransitGatewayPeeringDetailsAPIResp

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

type TransitGatewayPeeringDetailsResults

type TransitGatewayPeeringDetailsResults struct {
	Site1                  TransitGatewayPeeringDetail `json:"site_1"`
	Site2                  TransitGatewayPeeringDetail `json:"site_2"`
	PrivateNetworkPeering  bool                        `json:"private_network_peering"`
	Tunnels                []TunnelsDetail             `json:"tunnels"`
	InsaneModeOverInternet bool                        `json:"insane_mode_over_internet"`
	InsaneModeTunnelCount  int                         `json:"insane_mode_tunnel_count"`
	TunnelCount            int                         `json:"tunnel_count"`
	NoMaxPerformance       bool                        `json:"no_max_performance"`
}

type TransitGatewayPeeringEdit added in v3.1.4

type TransitGatewayPeeringEdit struct {
	TransitGatewayName1            string `form:"gateway1,omitempty" json:"gateway_1,omitempty"`
	TransitGatewayName2            string `form:"gateway2,omitempty" json:"gateway_2,omitempty"`
	Gateway1ExcludedCIDRs          string `form:"src_filter_list,omitempty"`
	Gateway2ExcludedCIDRs          string `form:"dst_filter_list,omitempty"`
	Gateway1ExcludedTGWConnections string `form:"source_exclude_connections,omitempty"`
	Gateway2ExcludedTGWConnections string `form:"destination_exclude_connections,omitempty"`
	PrivateIPPeering               string `form:"private_ip_peering,omitempty"`
	InsaneModeOverInternet         bool   `form:"insane_mode_over_internet,omitempty"`
	InsaneModeTunnelCount          int    `json:"insane_mode_tunnel_count"`
	TunnelCount                    int    `form:"tunnel_count"`
	CID                            string `form:"CID,omitempty"`
	Action                         string `form:"action,omitempty"`
	SingleTunnel                   string `form:"single_tunnel,omitempty"`
	NoMaxPerformance               bool   `form:"no_max_performance,omitempty"`
}

type TransitGwFireNetInterfaces

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

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

type TransitHaGateway

type TransitHaGateway struct {
	Action                string `json:"action"`
	CID                   string `json:"CID"`
	AccountName           string `json:"account_name"`
	CloudType             int    `json:"cloud_type"`
	VpcID                 string `json:"vpc_id,omitempty"`
	VNetNameResourceGroup string `json:"vnet_and_resource_group_names"`
	PrimaryGwName         string `json:"primary_gw_name"`
	GwName                string `json:"ha_gw_name"`
	GwSize                string `json:"gw_size"`
	Subnet                string `json:"gw_subnet"`
	VpcRegion             string `json:"region"`
	Zone                  string `json:"zone"`
	AvailabilityDomain    string `json:"availability_domain"`
	FaultDomain           string `json:"fault_domain"`
	BgpLanVpcId           string `json:"bgp_lan_vpc"`
	BgpLanSubnet          string `json:"bgp_lan_specify_subnet"`
	Eip                   string `json:"eip,omitempty"`
	InsaneMode            string `json:"insane_mode"`
	TagList               string `json:"tag_string"`
	TagJson               string `json:"tag_json"`
	AutoGenHaGwName       string `json:"autogen_hagw_name"`
}

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"`
	Subnet                       string `form:"gw_subnet,omitempty" json:"gw_subnet,omitempty"`
	HASubnet                     string `form:"ha_subnet,omitempty"`
	HAZone                       string `form:"new_zone,omitempty"`
	HASubnetGCP                  string `form:"new_subnet,omitempty"`
	PeeringHASubnet              string `json:"public_subnet,omitempty"`
	VpcRegion                    string `form:"vpc_region,omitempty" json:"vpc_region,omitempty"`
	VpcSize                      string `form:"gw_size,omitempty" json:"gw_size,omitempty"`
	EnableNAT                    string `form:"enable_nat,omitempty" json:"enable_nat,omitempty"`
	SingleAzHa                   string `form:"single_az_ha,omitempty"`
	EnableVpcDnsServer           string `json:"use_vpc_dns,omitempty"`
	TagJson                      string `form:"json_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"`
	ReuseEip                     string `form:"reuse_eip,omitempty"`
	AllocateNewEipRead           bool   `json:"newly_allocated_eip,omitempty"`
	Eip                          string `form:"eip,omitempty"`
	Zone                         string `form:"zone,omitempty" json:"zone,omitempty"`
	EnableAdvertiseTransitCidr   bool
	BgpManualSpokeAdvertiseCidrs string `form:"bgp_manual_spoke,omitempty"`
	EnableTransitFireNet         bool   `form:"firenet,omitempty"`
	LanVpcID                     string `form:"lan_vpc,omitempty"`
	LanPrivateSubnet             string `form:"lan_subnet,omitempty"`
	LearnedCidrsApproval         string `form:"learned_cidrs_approval,omitempty"`
	EncVolume                    string `form:"enc_volume,omitempty"`
	CustomerManagedKeys          string `form:"cmk,omitempty"`
	BgpOverLan                   bool   `form:"bgp_lan,omitempty"`
	EnablePrivateOob             string `form:"private_oob,omitempty"`
	OobManagementSubnet          string `form:"oob_mgmt_subnet,omitempty"`
	HAOobManagementSubnet        string
	EnableSummarizeCidrToTgw     bool
	AvailabilityDomain           string   `form:"availability_domain,omitempty"`
	FaultDomain                  string   `form:"fault_domain,omitempty"`
	EnableSpotInstance           bool     `form:"spot_instance,omitempty"`
	SpotPrice                    string   `form:"spot_price,omitempty"`
	ApprovedLearnedCidrs         []string `form:"approved_learned_cidrs"`
	BgpLanVpcID                  string   `form:"bgp_lan_vpc"`
	BgpLanSpecifySubnet          string   `form:"bgp_lan_subnet"`
	Async                        bool     `form:"async,omitempty"`
	BgpLanInterfacesCount        int      `form:"bgp_lan_intf_count,omitempty"`
	LbVpcId                      string   `form:"lb_vpc_id,omitempty"`
	Transit                      bool     `form:"transit,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 TunnelData

type TunnelData struct {
	Status               string `json:"status"`
	RouteCount           int    `json:"route_count"`
	VpnOutsideAddress    string `json:"vpn_outside_address"`
	VpnInsideAddress     string `json:"vpn_inside_address"`
	TgwAsn               string `json:"tgw_asn"`
	StatusMessage        string `json:"status_message"`
	LastStatusChangeTime string `json:"last_status_change"`
}

type TunnelInfo

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"`
	TunnelProtocol string `json:"tunnel_protocol"`
}

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 TunnelsDetail

type TunnelsDetail struct {
	LicenseId      [][]string `json:"license_id"`
	SubTunnelCount int        `json:"sub_tunnel_count"`
}

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"`
	BgpVGWAccount    string `form:"bgp_vgw_account_name,omitempty" json:"bgp_vgw_account,omitempty"`
	BgpVGWRegion     string `form:"bgp_vgw_region,omitempty" json:"bgp_vgw_region,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"`
	ManualBGPCidrs   []string
	EventTriggeredHA bool
	PrependAsPath    string
}

VGWConn simple struct to hold VGW Connection details

type VGWConnBgpManualSpokeAdvertisedNetworksResp

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

type VGWConnDetail

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

type VGWConnDetailResp

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

type VGWConnEnableAdvertiseTransitCidrResp

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"`
	Subnets                      string
	RouteTables                  string
	CustomizedRoutes             string `json:",omitempty"`
	CustomizedRouteAdvertisement string
	DisableLocalRoutePropagation bool `json:",omitempty"`
}

type VPCTrackerItemResp

type VPCTrackerItemResp struct {
	VendorName    string             `json:"vendor_name,omitempty"`
	VpcID         string             `json:"vpc_id,omitempty"`
	AccountName   string             `json:"vpc_account_name,omitempty"`
	VpcName       string             `json:"vpc_name,omitempty"`
	Region        string             `json:"region,omitempty"`
	InstanceCount interface{}        `json:"inst_num,omitempty"`
	CIDRs         []string           `json:"vpc_cidrs,omitempty"`
	Subnets       []VPCTrackerSubnet `json:"subnets,omitempty"`
}

type VPCTrackerSubnet

type VPCTrackerSubnet struct {
	Region    string `json:"region,omitempty"`
	Cidr      string `json:"cidr,omitempty"`
	Name      string `json:"name,omitempty"`
	GatewayIP string `json:"gw_ip,omitempty"`
}

type VPNCertDownload

type VPNCertDownload struct {
	CID          string `form:"CID,omitempty"`
	Action       string `form:"action,omitempty"`
	SAMLEndpoint string `form:"saml_endpoint,omitempty"`
}

type VPNCertDownloadStatus

type VPNCertDownloadStatus struct {
	SAMLEndpointList []string `json:"saml_endpoint,omitempty"`
	Status           bool     `json:",omitempty"`
}

type VPNConfig

type VPNConfig struct {
	Name   string `form:"name,omitempty" json:"name,omitempty"`
	Value  string `form:"value,omitempty" json:"value,omitempty"`
	Status string `form:"status,omitempty" json:"status,omitempty"`
}

type VPNConfigListResp

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

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"`
	DnsName      string   `json:"dns,omitempty"`
	DnsEnabled   bool     `json:"dns_enabled,omitempty"`
	UserName     string   `form:"username" json:"_id,omitempty"`
	UserEmail    string   `form:"user_email,omitempty" json:"email,omitempty"`
	Profiles     []string `json:"profiles,omitempty"`
}

VPNUser simple struct to hold vpn_user details

type VPNUserInfo

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

type VPNUserResp

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

type VendorInfo

type VendorInfo struct {
	CID            string `form:"CID,omitempty"`
	Action         string `form:"action,omitempty"`
	VpcID          string `form:"vpc_id,omitempty"`
	InstanceID     string `form:"firewall_id,omitempty"`
	FirewallName   string `form:"firewall_name,omitempty"`
	VendorType     string `form:"firewall_vendor,omitempty"`
	Username       string `form:"user,omitempty"`
	Password       string `form:"password,omitempty"`
	ApiToken       string `form:"api_token,omitempty"`
	PrivateKeyFile string `form:"private_key_file,omitempty"`
	RouteTable     string `form:"route_table,omitempty"`
	PublicIP       string `form:"public_ip,omitempty"`
	Save           bool
	Synchronize    bool `form:"sync,omitempty"`
}

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 {
	Current  *AviatrixVersion
	Previous *AviatrixVersion
}

type VersionInfoResp

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

type VersionInfoResults

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

type Vlan

type Vlan struct {
	ParentInterface string `json:"parent_interface"`
	VlanId          string `json:"vlan_id"`
	IpAddr          string `json:"ipaddr"`
	GatewayIp       string `json:"gateway_ip"`
	PeerIpAddr      string `json:"peer_ipaddr"`
	PeerGatewayIp   string `json:"peer_gateway_ip"`
	VirtualIp       string `json:"virtual_ip"`
	Tag             string `json:"tag"`
}

type Vpc

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"`
	SubnetSize             int          `form:"num_of_subnets,omitempty"`
	NumOfSubnetPairs       int          `form:"num_of_zone,omitempty"`
	EnablePrivateOobSubnet bool         `form:"private_oob_subnet,omitempty"`
	AviatrixTransitVpc     string       `form:"aviatrix_transit_vpc,omitempty"`
	AviatrixFireNetVpc     string       `form:"aviatrix_firenet_vpc,omitempty"`
	VpcID                  string       `json:"vpc_list,omitempty"`
	Subnets                []SubnetInfo `form:"subnet_list,omitempty" json:"subnets,omitempty"`
	PublicSubnets          []SubnetInfo
	PrivateSubnets         []SubnetInfo
	PublicRoutesOnly       bool
	ResourceGroup          string `json:"resource_group,omitempty"`
	PrivateModeSubnets     bool
}

type VpcEdit

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"`
	SubnetSize             int          `json:"subnet_size,omitempty"`
	NumOfSubnetPairs       int          `json:"num_of_subnet_pairs,omitempty"`
	EnablePrivateOobSubnet bool         `json:"private_oob_subnets,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"`
	PublicSubnets          []SubnetInfo `json:"public_subnets,omitempty"`
	PrivateSubnets         []SubnetInfo `json:"private_subnets,omitempty"`
	PrivateModeSubnets     bool         `json:"private_mode_subnets"`
}

type VpcResp

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

type VpcTracker

type VpcTracker struct {
	CloudType     int
	AccountName   string
	Region        string
	Name          string
	Cidr          string
	InstanceCount int
	VpcID         string
	Subnets       []VPCTrackerSubnet
}

type VpcTrackerResp

type VpcTrackerResp struct {
	Return  bool                 `json:"return"`
	Results []VPCTrackerItemResp `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         bool   `form:"enable_ldap,omitempty" json:"enable_ldap,omitempty"`
	LbOrGatewayName    string `form:"lb_name,omitempty" json:"lb_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

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

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

type WanInterface

type WanInterface struct {
	Interface string `json:"interface"`
	Ip        string `json:"ip"`
}

type WanInterfaceResp

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

type WebGroup

type WebGroup struct {
	Name     string
	UUID     string
	Selector WebGroupSelector
}

type WebGroupMatchExpression

type WebGroupMatchExpression struct {
	SniFilter string `json:"snifilter,omitempty"`
	UrlFilter string `json:"urlfilter,omitempty"`
}

type WebGroupSelector

type WebGroupSelector struct {
	Expressions []*WebGroupMatchExpression
}

Source Files

Jump to

Keyboard shortcuts

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