goaviatrix

package
v2.24.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: 25 Imported by: 1

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/v2/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)
)

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 added in v2.20.0

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 added in v2.21.2

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

func DiffSuppressFuncAwsTgwPeeringDomainConnDomainName2 added in v2.21.2

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

func DiffSuppressFuncAwsTgwPeeringDomainConnTgwName1 added in v2.21.2

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

func DiffSuppressFuncAwsTgwPeeringDomainConnTgwName2 added in v2.21.2

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

func DiffSuppressFuncAwsTgwPeeringTgwName1 added in v2.21.2

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

func DiffSuppressFuncAwsTgwPeeringTgwName2 added in v2.21.2

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

func DiffSuppressFuncEdgeSpokeCoordinate added in v2.23.0

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

func DiffSuppressFuncGatewayDNat added in v2.22.4

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

func DiffSuppressFuncGatewaySNat added in v2.22.4

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

func DiffSuppressFuncLocalDestinationRealCIDRs added in v2.21.2

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

func DiffSuppressFuncLocalDestinationVirtualCIDRs added in v2.21.2

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

func DiffSuppressFuncLocalSourceRealCIDRs added in v2.21.2

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

func DiffSuppressFuncLocalSourceVirtualCIDRs added in v2.21.2

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

func DiffSuppressFuncRemoteDestinationRealCIDRs added in v2.21.2

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

func DiffSuppressFuncRemoteDestinationVirtualCIDRs added in v2.21.2

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

func DiffSuppressFuncRemoteSourceRealCIDRs added in v2.21.2

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

func DiffSuppressFuncRemoteSourceVirtualCIDRs added in v2.21.2

func DiffSuppressFuncRemoteSourceVirtualCIDRs(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 added in v2.19.0

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 added in v2.19.0

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 added in v2.19.1

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

func TagListStrColon

func TagListStrColon(tagListStr []string) []string

func TransitExternalDeviceConnPh1RemoteIdDiffSuppressFunc added in v2.19.1

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 added in v2.23.0

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

func ValidateEdgeSpokeLongitude added in v2.23.0

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

func VendorToCloudType

func VendorToCloudType(vendor string) int

Convert vendor name to cloud_type

Types

type APIError added in v2.22.0

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 ARMPeer

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

ARMPeer simple struct to hold arm_peer details

type AWSPeer

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

AWSPeer simple struct to hold aws_peer details

type AWSTgw

type AWSTgw struct {
	Action                    string               `form:"action,omitempty"`
	CID                       string               `form:"CID,omitempty"`
	Name                      string               `form:"tgw_name,omitempty"`
	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"`
}

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 AppDomain added in v2.22.0

type AppDomain struct {
	Name     string
	UUID     string
	Selector AppDomainSelector
}

type AppDomainMatchExpression added in v2.22.0

type AppDomainMatchExpression struct {
	CIDR        string `json:"cidr,omitempty"`
	Type        string `json:"type,omitempty"`
	ResId       string `json:"res_id,omitempty"`
	AccountId   string `json:"account_id,omitempty"`
	AccountName string `json:"account_name,omitempty"`
	Region      string `json:"region,omitempty"`
	Zone        string `json:"zone,omitempty"`
	Tags        map[string]string
}

type AppDomainSelector added in v2.22.0

type AppDomainSelector struct {
	Expressions []*AppDomainMatchExpression
}

type ArmPeerAPIResp

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

type AttachedVPCDetail

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

type 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 added in v2.20.0

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 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 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 added in v2.23.0

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 CertDomainConfig added in v2.19.0

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 (*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 added in v2.21.2

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 added in v2.20.0

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 added in v2.19.0

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

func (*Client) ChangeBgpHoldTime added in v2.19.0

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

func (*Client) CommitDeviceTag

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

func (*Client) ConfigNotificationEmails added in v2.22.1

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

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

func (*Client) CreateAWSPeer

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

func (*Client) CreateAWSSAccount added in v2.19.5

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

func (*Client) CreateAWSTSAccount added in v2.19.5

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) CreateAppDomain added in v2.22.0

func (c *Client) CreateAppDomain(ctx context.Context, appDomain *AppDomain) (string, 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) CreateCloudnRegistration added in v2.21.2

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 added in v2.19.0

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

func (*Client) CreateDeviceAwsTgwAttachment

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

func (*Client) CreateDeviceTag

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

func (*Client) CreateDeviceTransitGatewayAttachment

func (c *Client) CreateDeviceTransitGatewayAttachment(attachment *DeviceTransitGatewayAttachment) error

func (*Client) CreateDeviceVirtualWanAttachment

func (c *Client) CreateDeviceVirtualWanAttachment(attachment *DeviceVirtualWanAttachment) 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) CreateEdgeCaag added in v2.22.0

func (c *Client) CreateEdgeCaag(ctx context.Context, edgeCaag *EdgeCaag) error

func (*Client) CreateEdgeSpoke added in v2.23.0

func (c *Client) CreateEdgeSpoke(ctx context.Context, edgeSpoke *EdgeSpoke) 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) CreateMicrosegPolicyList added in v2.22.0

func (c *Client) CreateMicrosegPolicyList(ctx context.Context, policyList *MicrosegPolicyList) 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 added in v2.23.0

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

func (*Client) CreatePrivateModeMulticloudEndpoint added in v2.23.0

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

func (*Client) CreatePrivateModeMulticloudLoadBalancer added in v2.23.0

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) 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 added in v2.23.0

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) 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) CreateTransitCloudnConn added in v2.21.2

func (c *Client) CreateTransitCloudnConn(ctx context.Context, transitCloudnConn *TransitCloudnConn) error

func (*Client) CreateTransitFireNetPolicy

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

func (*Client) CreateTransitGatewayPeering

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

func (*Client) CreateTunnel

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

func (*Client) CreateVGWConn

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

func (*Client) CreateVPNUser

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

func (*Client) CreateVpc

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

func (*Client) Delete

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

Delete issues an HTTP DELETE request.

func (*Client) DeleteAPIContext25 added in v2.22.0

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

func (*Client) DeleteARMPeer

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

func (*Client) DeleteAWSPeer

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

func (*Client) DeleteAWSTgw

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

func (*Client) DeleteAccount

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

func (*Client) DeleteAccountUser

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

func (*Client) DeleteAppDomain added in v2.22.0

func (c *Client) DeleteAppDomain(ctx context.Context, uuid string) 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) DeleteCertInstance added in v2.23.0

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

func (*Client) DeleteCloudnRegistration added in v2.21.2

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

func (*Client) DeleteDeviceAttachment

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

func (*Client) DeleteDeviceTag

func (c *Client) DeleteDeviceTag(brt *DeviceTag) 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) DeleteEdgeCaag added in v2.22.0

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

func (*Client) DeleteEdgeSpoke added in v2.23.0

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

func (*Client) DeleteElbFromGeoVPN

func (c *Client) DeleteElbFromGeoVPN(geoVPN *GeoVPN) 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) DeleteMicrosegPolicyList added in v2.22.0

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

func (*Client) DeletePeriodicPing

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

func (*Client) DeletePermissionGroup

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

func (*Client) DeletePrivateModeLoadBalancer added in v2.23.0

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

func (*Client) DeletePrivateModeMulticloudEndpoint added in v2.23.0

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) 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) DeleteSpokeGatewaySubnetGroup added in v2.21.2

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) DeleteTransitCloudnConn added in v2.21.2

func (c *Client) DeleteTransitCloudnConn(ctx context.Context, transitCloudnConn *TransitCloudnConn) 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) 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 added in v2.21.2

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

func (*Client) DisableAdvertiseTransitCidr

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

func (*Client) DisableAutoAdvertiseS2CCidrs added in v2.19.0

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 added in v2.19.0

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

func (*Client) DisableCopilotAssociation added in v2.19.0

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

func (*Client) DisableCopilotSecurityGroupManagement added in v2.23.0

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) DisableEdgeSpokeTransitiveRouting added in v2.23.0

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

func (c *Client) DisableFQDNPassThrough(gw *Gateway) 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) 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 added in v2.19.0

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

func (*Client) DisableJumboFrame

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

func (*Client) DisableJumboFrameExternalDeviceConn added in v2.22.2

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

func (*Client) DisableJumboFrameOnConnectionToCloudn added in v2.19.0

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 added in v2.19.0

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 added in v2.23.0

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

func (*Client) DisablePrivateOob

func (c *Client) DisablePrivateOob() error

func (*Client) DisablePrivateVpcDefaultRoute added in v2.19.0

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

func (*Client) DisableRemoteSyslog

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

func (*Client) DisableS2CRxBalancing added in v2.21.2

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 added in v2.19.0

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

func (*Client) DisableSite2cloudActiveActive

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

func (*Client) DisableSkipPublicRouteUpdate added in v2.19.0

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

func (*Client) DisableSplunkLogging

func (c *Client) DisableSplunkLogging() error

func (*Client) DisableSpokeConnectionLearnedCIDRApproval added in v2.21.2

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

func (*Client) DisableSpokeLearnedCidrsApproval added in v2.21.2

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

func (*Client) DisableSpokeMappedSite2CloudForwarding

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

func (*Client) DisableSpokeOnpremRoutePropagation added in v2.21.2

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

func (*Client) DisableSpokePreserveAsPath added in v2.22.1

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 added in v2.19.0

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 added in v2.22.1

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 added in v2.22.1

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

func (*Client) DoAPIContext25 added in v2.22.0

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

func (*Client) EditBgpMd5Key added in v2.22.0

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

func (*Client) EditCloudnTransitGatewayAttachmentASPathPrepend added in v2.21.2

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 added in v2.19.5

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

func (*Client) EditFireNetFirewallVendorInfo

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

func (*Client) EditFireNetFirewallVendorInfoWithPrivateKey added in v2.20.0

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 added in v2.19.0

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

func (*Client) EditFirenetExcludedCidr added in v2.19.5

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) EditSpokeConnectionBGPManualAdvertiseCIDRs added in v2.21.2

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

func (*Client) EditSpokeExternalDeviceConnASPathPrepend added in v2.21.2

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 added in v2.21.2

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

func (*Client) EditTransitExternalDeviceConnASPathPrepend added in v2.19.5

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

func (*Client) EditVgwConnectionASPathPrepend added in v2.19.5

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

func (*Client) EnableActiveStandby

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

func (*Client) EnableActiveStandbyPreemptive added in v2.21.2

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

func (*Client) EnableActiveStandbyPreemptiveSpoke added in v2.21.2

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

func (*Client) EnableActiveStandbySpoke added in v2.21.2

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

func (*Client) EnableAdvertiseTransitCidr

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

func (*Client) EnableAutoAdvertiseS2CCidrs added in v2.19.0

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 added in v2.19.0

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

func (*Client) EnableCopilotSecurityGroupManagement added in v2.23.0

func (c *Client) EnableCopilotSecurityGroupManagement(ctx context.Context, copilotSecurityGroupManagementConfig *CopilotSecurityGroupManagementConfig) 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) EnableEdgeSpokeTransitiveRouting added in v2.23.0

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

func (c *Client) EnableFilebeatForwarder(r *FilebeatForwarder) 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(geoVPN *GeoVPN) 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 added in v2.19.0

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

func (*Client) EnableJumboFrame

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

func (*Client) EnableJumboFrameExternalDeviceConn added in v2.22.2

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

func (*Client) EnableJumboFrameOnConnectionToCloudn added in v2.19.0

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 added in v2.19.0

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

func (*Client) EnableNatGateway

func (c *Client) EnableNatGateway(gateway *Gateway) 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 added in v2.23.0

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

func (*Client) EnablePrivateOob

func (c *Client) EnablePrivateOob() error

func (*Client) EnablePrivateVpcDefaultRoute added in v2.19.0

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 added in v2.21.2

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 added in v2.19.0

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

func (*Client) EnableSite2cloudActiveActive

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

func (*Client) EnableSkipPublicRouteUpdate added in v2.19.0

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

func (*Client) EnableSplunkLogging

func (c *Client) EnableSplunkLogging(r *SplunkLogging) error

func (*Client) EnableSpokeConnectionLearnedCIDRApproval added in v2.21.2

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

func (*Client) EnableSpokeLearnedCidrsApproval added in v2.21.2

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

func (*Client) EnableSpokeMappedSite2CloudForwarding

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

func (*Client) EnableSpokeOnpremRoutePropagation added in v2.21.2

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

func (*Client) EnableSpokePreserveAsPath added in v2.22.1

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

func (*Client) EnableSummarizeCidrToTgw

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

func (*Client) EnableSumologicForwarder

func (c *Client) EnableSumologicForwarder(r *SumologicForwarder) error

func (*Client) EnableTgwSegmentationForEgress added in v2.19.0

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 added in v2.22.1

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 added in v2.22.0

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

func (*Client) GetARMPeer

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

func (*Client) GetAWSPeer

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

func (*Client) GetAWSTgw

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

func (*Client) GetAccount

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

func (*Client) GetAccountUser

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

func (*Client) GetAllNetworkDomains added in v2.23.0

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

func (*Client) GetAppDomain added in v2.22.0

func (c *Client) GetAppDomain(ctx context.Context, uuid string) (*AppDomain, 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 added in v2.20.0

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 added in v2.21.2

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

func (*Client) GetCertDomain added in v2.19.0

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 added in v2.21.2

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

func (*Client) GetCloudnTransitGatewayAttachment added in v2.19.0

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

func (*Client) GetCloudwatchAgentStatus

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

func (*Client) GetCompatibleImageVersion added in v2.20.0

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) GetControllerBgpMaxAsLimit added in v2.19.0

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

func (*Client) GetControllerVpcDnsServerStatus

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

func (*Client) GetCopilotAssociationStatus added in v2.19.0

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

func (*Client) GetCopilotSecurityGroupManagementConfig added in v2.23.0

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

func (c *Client) GetDeviceTransitGatewayAttachment(attachment *DeviceTransitGatewayAttachment) (*DeviceTransitGatewayAttachment, error)

func (*Client) GetDeviceVirtualWanAttachment

func (c *Client) GetDeviceVirtualWanAttachment(attachment *DeviceVirtualWanAttachment) (*DeviceVirtualWanAttachment, error)

func (*Client) GetDomainConn

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

func (*Client) GetEdgeCaag added in v2.22.0

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

func (*Client) GetEdgeSpoke added in v2.23.0

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

func (*Client) GetEdgeSpokeTransitAttachment added in v2.23.0

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

func (*Client) GetEmailExceptionNotificationStatus added in v2.19.0

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

func (*Client) GetExceptionRuleStatus

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

func (*Client) GetExternalDeviceConnDetail

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

func (*Client) GetFQDNPassThroughCIDRs

func (c *Client) GetFQDNPassThroughCIDRs(gw *Gateway) ([]string, 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 added in v2.21.2

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 added in v2.19.5

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

func (*Client) GetGatewayDetail

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

func (*Client) GetGatewayKeepaliveConfig added in v2.19.5

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) 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 added in v2.19.0

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) GetMicrosegPolicyList added in v2.22.0

func (c *Client) GetMicrosegPolicyList(ctx context.Context) (*MicrosegPolicyList, error)

func (*Client) GetNetflowAgentStatus

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

func (*Client) GetNotificationEmails added in v2.22.1

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) GetPrivateModeInfo added in v2.23.0

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

func (*Client) GetPrivateModeLoadBalancer added in v2.23.0

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

func (*Client) GetPrivateModeMulticloudEndpoint added in v2.23.0

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

func (*Client) GetPrivateModeProxies added in v2.23.0

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) 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 added in v2.23.0

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

func (*Client) GetSamlEndpoint

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

func (*Client) GetSecurityDomain

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

func (*Client) GetSecurityDomainDetails added in v2.19.0

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 added in v2.19.5

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

func (*Client) GetSplitTunnel

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

func (*Client) GetSplunkLoggingStatus

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

func (*Client) GetSpokeGatewayAdvancedConfig added in v2.21.2

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

func (*Client) GetSpokeGatewaySubnetGroup added in v2.21.2

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

func (*Client) GetSpokeTransitAttachment

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

func (*Client) GetSubnetsForInspection added in v2.21.2

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) GetTransitCloudnConn added in v2.21.2

func (c *Client) GetTransitCloudnConn(ctx context.Context, transitCloudnConn *TransitCloudnConn) (*TransitCloudnConn, 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 added in v2.23.0

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 added in v2.19.0

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 added in v2.20.0

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

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

func (*Client) InsertFirewallPolicy added in v2.23.0

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 added in v2.19.5

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

func (*Client) ListOciVpcFaultDomains added in v2.19.5

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

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

func (*Client) ModifyTunnelDetectionTime added in v2.19.0

func (c *Client) ModifyTunnelDetectionTime(entity string, detectionTime int) 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) 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) PostAPIContext2 added in v2.22.1

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 added in v2.22.0

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

func (*Client) PostAPIContextWithResponse added in v2.21.2

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 added in v2.22.0

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 added in v2.21.2

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 added in v2.21.2

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

func (*Client) PostAsyncAPIContext added in v2.21.2

func (c *Client) PostAsyncAPIContext(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) Pre32Upgrade

func (c *Client) Pre32Upgrade() error

func (*Client) Put

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

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

func (*Client) PutAPIContext25 added in v2.22.0

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 added in v2.22.1

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

func (*Client) RequestContext25 added in v2.22.0

func (c *Client) RequestContext25(ctx context.Context, verb string, Url string, i interface{}) (*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 added in v2.21.2

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 added in v2.21.2

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

func (*Client) SetCertDomain added in v2.19.0

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

func (*Client) SetControllerBgpMaxAsLimit added in v2.19.0

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

func (*Client) SetControllerVpcDnsServer

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

func (*Client) SetEmailExceptionNotification added in v2.19.0

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

func (*Client) SetGatewayKeepaliveConfig added in v2.19.5

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 added in v2.21.2

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

func (*Client) SetPrependASPath

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

func (*Client) SetPrependASPathSpoke added in v2.21.2

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

func (*Client) SetRxQueueSize added in v2.22.0

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

func (*Client) SetSpokeBgpManualAdvertisedNetworks added in v2.21.2

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

func (*Client) SetStatusChangeNotificationInterval added in v2.22.1

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 added in v2.19.5

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

func (*Client) UpdateARMPeer

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

func (*Client) UpdateAWSPeer

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

func (*Client) UpdateAWSSAccount added in v2.19.5

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

func (*Client) UpdateAWSTSAccount added in v2.19.5

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) UpdateAppDomain added in v2.22.0

func (c *Client) UpdateAppDomain(ctx context.Context, appDomain *AppDomain, uuid string) error

func (*Client) UpdateAwsGuardDutyExcludedIPs

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

func (*Client) UpdateAwsGuardDutyPollInterval

func (c *Client) UpdateAwsGuardDutyPollInterval(scanningInterval int) 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) UpdateDomains

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

func (*Client) UpdateEdgeCaag added in v2.22.0

func (c *Client) UpdateEdgeCaag(ctx context.Context, edgeCaag *EdgeCaag) error

func (*Client) UpdateEdgeSpokeGeoCoordinate added in v2.23.0

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

func (*Client) UpdateEdgeSpokeIpConfigurations added in v2.23.0

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

func (*Client) UpdateFQDNMode

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

Change default mode to 'white' or 'black'

func (*Client) UpdateFQDNStatus

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

change state to 'enabled' or 'disabled'

func (*Client) 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) UpdateMaxVpnConn

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

func (*Client) UpdateMicrosegPolicyList added in v2.22.0

func (c *Client) UpdateMicrosegPolicyList(ctx context.Context, policyList *MicrosegPolicyList) error

func (*Client) UpdatePolicy

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

func (*Client) UpdatePrivateModeControllerProxies added in v2.23.0

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

func (*Client) UpdatePrivateModeCopilot added in v2.23.0

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

func (*Client) UpdatePrivateModeMulticloudProxies added in v2.23.0

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

func (*Client) UpdateProfilePolicy

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

func (*Client) UpdateSecurityDomain

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

func (*Client) UpdateSite2Cloud

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

func (*Client) UpdateSourceIPFilters

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

func (*Client) UpdateSpokeConnectionPendingApprovedCidrs added in v2.21.2

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

func (*Client) UpdateSpokeGatewaySubnetGroup added in v2.21.2

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

func (*Client) UpdateSpokePendingApprovedCidrs added in v2.21.2

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

func (*Client) UpdateTGWCidrs

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

func (*Client) UpdateTGWInspectionMode added in v2.23.0

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

func (*Client) UpdateTags added in v2.19.0

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

func (*Client) UpdateTransPeer

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

func (*Client) UpdateTransitConnectionPendingApprovedCidrs added in v2.19.0

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) UpdateTransitPendingApprovedCidrs added in v2.21.2

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) UpgradeGateway added in v2.20.0

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"`
	BackupContainerName string `json:"container_name"`
	BackupRegion        string `json:"region"`
	MultipleBackups     string `json:"multiple_bkup,omitempty"`
}

type CloudnRegistration added in v2.21.2

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 added in v2.19.0

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 `form:"cloudn_neighbor_ip" json:"cloudn_neighbor_ip"`
	CloudnLanInterfaceNeighborBgpAsn string `form:"cloudn_neighbor_as_number" json:"cloudn_neighbor_as_number"`
	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       bool     `form:"connection_learned_cidrs_approval"`
	EnableLearnedCidrsApprovalValue  string   `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 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 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 added in v2.22.1

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 ControllerPrivateModeConfig added in v2.23.0

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

type CopilotAssociationStatus added in v2.19.0

type CopilotAssociationStatus struct {
	Status bool
	IP     string
}

type CopilotSecurityGroupManagementConfig added in v2.23.0

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 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 DeviceTransitGatewayAttachment

type DeviceTransitGatewayAttachment struct {
	DeviceName              string `form:"device_name,omitempty"`
	TransitGatewayName      string `form:"transit_gw,omitempty"`
	ConnectionName          string `form:"connection_name,omitempty"`
	RoutingProtocol         string `form:"routing_protocol,omitempty"`
	TransitGatewayBgpAsn    string `form:"bgp_local_as_number,omitempty"`
	DeviceBgpAsn            string `form:"external_device_as_number,omitempty"`
	Phase1Authentication    string `form:"phase1_authentication,omitempty"`
	Phase1DHGroups          string `form:"phase1_dh_groups,omitempty"`
	Phase1Encryption        string `form:"phase1_encryption,omitempty"`
	Phase2Authentication    string `form:"phase2_authentication,omitempty"`
	Phase2DHGroups          string `form:"phase2_dh_groups,omitempty"`
	Phase2Encryption        string `form:"phase2_encryption,omitempty"`
	EnableGlobalAccelerator string `form:"enable_global_accelerator,omitempty"`
	PreSharedKey            string `form:"pre_shared_key,omitempty"`
	LocalTunnelIP           string `form:"local_tunnel_ip,omitempty"`
	RemoteTunnelIP          string `form:"remote_tunnel_ip,omitempty"`
	VpcID                   string
	EventTriggeredHA        bool
	ManualBGPCidrs          []string
	Action                  string `form:"action"`
	CID                     string `form:"CID"`
	Async                   bool   `form:"async,omitempty"`
}

type DeviceVirtualWanAttachment

type DeviceVirtualWanAttachment struct {
	ConnectionName string `form:"connection_name"`
	DeviceName     string `form:"device_name"`
	AccountName    string `form:"account_name"`
	ResourceGroup  string `form:"arm_resource_group"`
	HubName        string `form:"virtual_wan_hub_name"`
	DeviceAsn      string `form:"external_device_as_number"`
	Action         string `form:"action"`
	CID            string `form:"CID"`
	Async          bool   `form:"async,omitempty"`
}

type DeviceWanInterface added in v2.22.0

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

type DeviceWanInterfaceResp added in v2.22.0

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

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 added in v2.23.0

type DuplicateError struct {
	Err error
}

func (DuplicateError) Error added in v2.23.0

func (d DuplicateError) Error() string

type EdgeCaag added in v2.22.0

type EdgeCaag struct {
	Action                      string `form:"action,omitempty"`
	CID                         string `form:"CID,omitempty"`
	Type                        string `form:"type,omitempty"`
	Caag                        bool   `form:"caag,omitempty"`
	Name                        string `form:"gateway_name,omitempty" json:"name"`
	ManagementInterfaceConfig   string
	ManagementEgressIpPrefix    string `form:"mgmt_egress_ip" json:"mgmt_egress_ip"`
	EnableOverPrivateNetwork    bool   `form:"mgmt_over_private_network,omitempty" json:"mgmt_over_private_network"`
	WanInterfaceIpPrefix        string `form:"wan_ip,omitempty" json:"wan_ip"`
	WanDefaultGatewayIp         string `form:"wan_default_gateway,omitempty" json:"wan_default_gateway"`
	LanInterfaceIpPrefix        string `form:"lan_ip,omitempty" json:"lan_ip"`
	ManagementInterfaceIpPrefix string `form:"mgmt_ip,omitempty" json:"mgmt_ip"`
	ManagementDefaultGatewayIp  string `form:"mgmt_default_gateway,omitempty" json:"mgmt_default_gateway"`
	DnsServerIp                 string `form:"dns_server_ip,omitempty" json:"dns_server_ip"`
	SecondaryDnsServerIp        string `form:"dns_server_ip_secondary,omitempty" json:"dns_server_ip_secondary"`
	Dhcp                        bool   `form:"dhcp,omitempty" json:"dhcp"`
	Hpe                         bool   `form:"hpe,omitempty"`
	ZtpFileType                 string `form:"ztp_file_type,omitempty"`
	ZtpFileDownloadPath         string
	State                       string `json:"state"`
}

type EdgeSpoke added in v2.23.0

type EdgeSpoke struct {
	Action                             string `form:"action,omitempty"`
	CID                                string `form:"CID,omitempty"`
	Type                               string `form:"type,omitempty"`
	Caag                               bool   `form:"caag,omitempty"`
	GwName                             string `form:"gateway_name,omitempty" json:"gw_name"`
	SiteId                             string `form:"site_id,omitempty" json:"vpc_id"`
	ManagementInterfaceConfig          string
	ManagementEgressIpPrefix           string `form:"mgmt_egress_ip" json:"mgmt_egress_ip"`
	EnableManagementOverPrivateNetwork bool   `form:"mgmt_over_private_network,omitempty" json:"mgmt_over_private_network"`
	WanInterfaceIpPrefix               string `form:"wan_ip,omitempty" json:"wan_ip"`
	WanDefaultGatewayIp                string `form:"wan_default_gateway,omitempty" json:"wan_default_gateway"`
	LanInterfaceIpPrefix               string `form:"lan_ip,omitempty" json:"lan_ip"`
	ManagementInterfaceIpPrefix        string `form:"mgmt_ip,omitempty" json:"mgmt_ip"`
	ManagementDefaultGatewayIp         string `form:"mgmt_default_gateway,omitempty" json:"mgmt_default_gateway"`
	DnsServerIp                        string `form:"dns_server_ip,omitempty" json:"dns_server_ip"`
	SecondaryDnsServerIp               string `form:"dns_server_ip_secondary,omitempty" json:"dns_server_ip_secondary"`
	Dhcp                               bool   `form:"dhcp,omitempty" json:"dhcp"`
	ZtpFileType                        string `form:"ztp_file_type,omitempty"`
	ZtpFileDownloadPath                string
	ActiveStandby                      string `form:"active_standby,omitempty"`
	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                           string
	Longitude                          string
	LatitudeReturn                     float64 `json:"latitude"`
	LongitudeReturn                    float64 `json:"longitude"`
	WanPublicIp                        string  `form:"wan_discovery_ip" json:"public_ip"`
	PrivateIP                          string  `json:"private_ip"`
	RxQueueSize                        string  `json:"rx_queue_size"`
	State                              string  `json:"vpc_state"`
}

type EdgeSpokeListResp added in v2.23.0

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

type EdgeSpokeTransitAttachmentResp added in v2.23.0

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

type EdgeSpokeTransitAttachmentResults added in v2.23.0

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:"tunnel_count"`
}

type EditBgpMd5Key added in v2.22.0

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"`
	BackupRemoteGatewayIP  string
	PreSharedKey           string
	BackupPreSharedKey     string
	IkeVer                 string `json:"ike_ver"`
	PeerVnetId             string `json:"peer_vnet_id"`
	RemoteLanIP            string `json:"remote_lan_ip"`
	LocalLanIP             string `json:"local_lan_ip"`
	BackupRemoteLanIP      string `json:"backup_remote_lan_ip"`
	BackupLocalLanIP       string `json:"backup_local_lan_ip"`
	EventTriggeredHA       string `json:"event_triggered_ha"`
	Phase1RemoteIdentifier string `json:"phase1_remote_id"`
	PrependAsPath          string `json:"conn_bgp_prepend_as_path"`
	EnableJumboFrame       bool   `json:"jumbo_frame,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"`
	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"`
	Phase1RemoteIdentifier         string        `json:"phase1_remote_id"`
	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"`
}

type ElbDetail

type ElbDetail struct {
	VpnProtocol string `json:"elb_protocol,omitempty"`
}

type EmailCell added in v2.22.1

type EmailCell struct {
	Address  string `json:"address"`
	Verified bool   `json:"verified"`
}

type EmailConfiguration added in v2.22.1

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 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"`
	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"`
	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
	Phase1RemoteIdentifier string
	PrependAsPath          string
	BgpMd5Key              string `form:"bgp_md5_key,omitempty"`
	BackupBgpMd5Key        string `form:"backup_bgp_md5_key,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"`
}

Gateway 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 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 FilebeatForwarder

type FilebeatForwarder struct {
	CID                   string
	Server                string
	Port                  int
	TrustedCAFile         string
	ConfigFile            string
	ExcludedGatewaysInput string
}

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"`
	FirewallInstance  []FirewallInstance
	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"`

	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 added in v2.21.2

type FirewallInstanceImage struct {
	Image   string   `json:"description"`
	Version []string `json:"version"`
	Size    []string `json:"size"`
}

type FirewallInstanceImages added in v2.21.2

type FirewallInstanceImages struct {
	Images []FirewallInstanceImage `json:"images"`
}

type FirewallInstanceImagesResp added in v2.21.2

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 added in v2.19.5

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              string `form:"enable_ldap,omitempty"`
	EnableLdapRead          bool   `json:"enable_ldap,omitempty"`
	EnableVpcDnsServer      string `json:"use_vpc_dns,omitempty"`
	DnsServer               string `form:"dns_server,omitempty"`
	PublicDnsServer         string `form:"public_dns_server,omitempty" json:"public_dns_server,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   `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"`
	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"`
	TagList                         string            `form:"tag_string,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:"vpc_net,omitempty" json:"public_subnet,omitempty"`
	VpcRegion                       string            `form:"vpc_reg,omitempty" json:"vpc_region,omitempty"`
	VpcSplunkIPPort                 string            `form:"vpc_splunk_ip_port,omitempty" json:"vpc_splunk_ip_port,omitempty"`
	VpcState                        string            `form:"vpc_state,omitempty" json:"vpc_state,omitempty"`
	VpcType                         string            `form:"vpc_type,omitempty" json:"vpc_type,omitempty"`
	VpnCidr                         string            `form:"cidr,omitempty" json:"vpn_cidr,omitempty"`
	VpnStatus                       string            `form:"vpn_access,omitempty" json:"vpn_status,omitempty"`
	Zone                            string            `form:"zone,omitempty" json:"zone,omitempty"`
	VpcSize                         string            `form:"vpc_size,omitempty" ` //Only use for gateway create
	DMZEnabled                      string            `json:"dmz_enabled,omitempty"`
	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"`
	SyncSNATToHA                    string   `form:"sync_snat_to_ha,omitempty"`
	SyncDNATToHA                    string   `form:"sync_dnat_to_ha,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_id"`
	LanPrivateSubnet                string                              `form:"lan_private_subnet"`
	CreateFQDNGateway               bool                                `form:"create_firewall_gw"`
	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"`
	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"`
}

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"`
	SyncSNATToHA                 bool          `json:"sync_snat_to_ha,omitempty"`
	SyncDNATToHA                 bool          `json:"sync_dnat_to_ha,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 {
	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"`
	ServiceName string   `form:"cname,omitempty" json:"cname,omitempty"`
	DomainName  string   `form:"domain_name,omitempty" json:"domain_name,omitempty"`
	ElbDNSName  string   `form:"elb_dns_name,omitempty"`
	ElbDNSNames []string `json:"elb_dns_name,omitempty"`
}

type GeoVPNEdit

type GeoVPNEdit struct {
	AccountName string         `json:"account_name,omitempty"`
	CloudType   int            `json:"cloud_type,omitempty"`
	ServiceName string         `json:"cname,omitempty"`
	DomainName  string         `json:"domain_name,omitempty"`
	ElbDNSNames []GeoVPNPolicy `json:"geo_vpn_policy,omitempty"`
	DnsName     string         `json:"service_name,omitempty"`
}

type GeoVPNPolicy

type GeoVPNPolicy struct {
	ElbDNSName string `json:"elb_dns,omitempty"`
	Region     string `json:"region,omitempty"`
}

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 added in v2.20.0

type GetVpcByNameResp struct {
	Return  bool    `json:"return"`
	Results VpcEdit `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 added in v2.19.0

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 added in v2.23.0

type IgnoreTagsConfig struct {
	Keys        KeyValueTags
	KeyPrefixes KeyValueTags
}

type IntraDomainInspection added in v2.19.0

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 added in v2.23.0

type KeyValueTags map[string]string

func NewIgnoreTags added in v2.23.0

func NewIgnoreTags(i interface{}) KeyValueTags

func (KeyValueTags) Ignore added in v2.23.0

func (tags KeyValueTags) Ignore(ignoreTags KeyValueTags) KeyValueTags

func (KeyValueTags) IgnoreConfig added in v2.23.0

func (tags KeyValueTags) IgnoreConfig(config *IgnoreTagsConfig) KeyValueTags

func (KeyValueTags) IgnorePrefixes added in v2.23.0

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 added in v2.22.1

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 added in v2.21.2

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 MicrosegPolicy added in v2.22.0

type MicrosegPolicy struct {
	Name          string              `json:"name"`
	Action        string              `json:"action"`
	Logging       bool                `json:"logging,omitempty"`
	DstAppDomains []string            `json:"dst_ads"`
	SrcAppDomains []string            `json:"src_ads"`
	PortRanges    []MicrosegPortRange `json:"port_ranges,omitempty"`
	Priority      int                 `json:"priority"`
	Protocol      string              `json:"protocol"`
	Watch         bool                `json:"watch,omitempty"`
	UUID          string              `json:"uuid,omitempty"`
}

type MicrosegPolicyList added in v2.22.0

type MicrosegPolicyList struct {
	Policies []MicrosegPolicy `json:"policies"`
}

type MicrosegPortRange added in v2.22.0

type MicrosegPortRange struct {
	Hi int `json:"hi,omitempty"`
	Lo int `json:"lo"`
}

type NetflowAgent

type NetflowAgent struct {
	CID                   string
	ServerIp              string
	Port                  int
	Version               int
	ExcludedGatewaysInput string
}

type NetflowAgentResp

type NetflowAgentResp struct {
	ServerIp         string   `json:"server_ip"`
	Port             string   `json:"port"`
	Version          string   `json:"version"`
	ExcludedGateways []string `json:"excluded_gateway"`
	Status           string   `json:"status"`
}

type NetworkDomainDetails added in v2.23.0

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 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 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 PrivateModeLb added in v2.23.0

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 added in v2.23.0

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 added in v2.23.0

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 added in v2.23.0

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 added in v2.23.0

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 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 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             string   `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 added in v2.19.5

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 added in v2.23.0

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 added in v2.23.0

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

type S2CCaCertTag added in v2.23.0

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   `json:"entity_id,omitempty"`
	CustomEntityId    string   `form:"entity_id,omitempty" json:"custom_entityID,omitempty"`
	MsgTemplate       string   `form:"msgtemplate,omitempty" json:"msgtemplate,omitempty"`
	MsgTemplateType   string   `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 added in v2.19.0

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" 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
	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 added in v2.23.0

type SiteDetail struct {
	ConnBgpPrependAsPath string `json:"conn_bgp_prepend_as_path"`
}

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 SplunkLogging

type SplunkLogging struct {
	CID                   string
	Server                string
	Port                  int
	ConfigFile            string
	CustomConfig          string
	ExcludedGatewaysInput string
	UseConfigFile         bool
}

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 added in v2.21.2

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 added in v2.21.2

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

type SpokeGatewayAdvancedConfigRespResult added in v2.21.2

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 added in v2.21.2

type SpokeGatewaySubnetGroup struct {
	CID             string
	GatewayName     string
	SubnetGroupName string
	SubnetList      []string
}

type SpokeGatewaySubnetGroupResp added in v2.21.2

type SpokeGatewaySubnetGroupResp struct {
	SubnetGroupName string   `json:"subnet_group_name"`
	SubnetList      []string `json:"subnet_list"`
}

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"`
}

type SpokeVpc

type SpokeVpc struct {
	AccountName                  string `form:"account_name,omitempty" json:"account_name,omitempty"`
	Action                       string `form:"action,omitempty"`
	CID                          string `form:"CID,omitempty"`
	CloudType                    int    `form:"cloud_type,omitempty" json:"cloud_type,omitempty"`
	DnsServer                    string `form:"dns_server,omitempty" json:"dns_server,omitempty"`
	GwName                       string `form:"gw_name,omitempty" json:"vpc_name,omitempty"`
	GwSize                       string `form:"gw_size,omitempty"`
	VpcID                        string `form:"vpc_id,omitempty" json:"vpc_id,omitempty"`
	VNetNameResourceGroup        string `form:"vnet_and_resource_group_names,omitempty"`
	Subnet                       string `form:"public_subnet,omitempty" json:"public_subnet,omitempty"`
	VpcRegion                    string `form:"region,omitempty" json:"vpc_region,omitempty"`
	VpcSize                      string `form:"gw_size,omitempty" json:"vpc_size,omitempty"`
	EnableNat                    string `form:"nat_enabled,omitempty" json:"enable_nat,omitempty"`
	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"`
	TagList                      string `form:"tag_string,omitempty"`
	TagJson                      string `form:"tag_json,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"`
	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"`
	LbVpcId                      string   `form:"private_mode_load_balancer,omitempty"`
}

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 SumologicForwarder

type SumologicForwarder struct {
	CID                   string
	AccessID              string
	AccessKey             string
	SourceCategory        string
	CustomCfg             string
	ExcludedGatewaysInput string
}

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 TransitCloudnConn added in v2.21.2

type TransitCloudnConn 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"`
	InsaneMode                 bool   `form:"insane_mode,omitempty"`
	DirectConnect              bool   `form:"direct_connect,omitempty"`
	BgpLocalAsNum              string `form:"bgp_local_as_number,omitempty"`
	CloudnIP                   string `form:"cloudn_ip,omitempty"`
	CloudnAsNum                string `form:"cloudn_as_number,omitempty"`
	CloudnNeighborIP           string `form:"cloudn_neighbor_ip,omitempty"`
	CloudnNeighborAsNum        string `form:"cloudn_neighbor_as_number,omitempty"`
	EnableHA                   bool   `form:"enable_ha,omitempty"`
	BackupCloudnIP             string `form:"backup_cloudn_ip,omitempty"`
	BackupCloudnAsNum          string `form:"backup_cloudn_as_number,omitempty"`
	BackupCloudnNeighborIP     string `form:"backup_cloudn_neighbor_ip,omitempty"`
	BackupCloudnNeighborAsNum  string `form:"backup_cloudn_neighbor_as_number,omitempty"`
	BackupInsaneMode           bool   `form:"backup_insane_mode,omitempty"`
	BackupDirectConnect        bool   `form:"backup_direct_connect,omitempty"`
	EnableLoadBalancing        bool
	EnableLoadBalancingStr     string `form:"enable_load_balancing,omitempty"`
	EnableLearnedCidrsApproval bool   `form:"connection_learned_cidrs_approval,omitempty"`
	ApprovedCidrs              []string
}

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 added in v2.21.2

type TransitGatewayBgpLanIpInfo struct {
	BgpLanIpList        []string
	HaBgpLanIpList      []string
	AzureBgpLanIpList   []string
	AzureHaBgpLanIpList []string
}

type TransitGatewayBgpLanIpInfoResp added in v2.21.2

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

type TransitGatewayBgpLanIpInfoRespResult added in v2.21.2

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:"source_filter_cidrs,omitempty"`
	Gateway2ExcludedCIDRs               string `form:"destination_filter_cidrs,omitempty"`
	Gateway1ExcludedTGWConnections      string `form:"source_exclude_connections,omitempty"`
	Gateway2ExcludedTGWConnections      string `form:"destination_exclude_connections,omitempty"`
	PrivateIPPeering                    bool   `form:"private_ip_peering,omitempty"`
	InsaneModeOverInternet              bool   `form:"insane_mode_over_internet,omitempty"`
	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                        bool   `form:"single_tunnel"`
	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"`
	TunnelCount            int                         `json:"tunnel_count"`
	NoMaxPerformance       bool                        `json:"no_max_performance"`
}

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 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:"public_subnet,omitempty" json:"vpc_net,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:"region,omitempty" json:"vpc_region,omitempty"`
	VpcSize                      string `form:"gw_size,omitempty" json:"gw_size,omitempty"`
	EnableNAT                    string `form:"nat_enabled,omitempty" json:"enable_nat,omitempty"`
	SingleAzHa                   string `form:"single_az_ha,omitempty"`
	EnableVpcDnsServer           string `json:"use_vpc_dns,omitempty"`
	TagList                      string `form:"tag_string,omitempty"`
	TagJson                      string `form:"tag_json,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         string `form:"enable_transit_firenet,omitempty"`
	LanVpcID                     string `form:"lan_vpc_id,omitempty"`
	LanPrivateSubnet             string `form:"lan_private_subnet,omitempty"`
	LearnedCidrsApproval         string `form:"learned_cidrs_approval,omitempty"`
	EncVolume                    string `form:"enc_volume,omitempty"`
	BgpOverLan                   string `form:"bgp_over_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_specify_subnet"`
	Async                        bool     `form:"async,omitempty"`
	BgpLanInterfacesCount        int      `form:"bgp_lan_intf_count,omitempty"`
	LbVpcId                      string   `form:"private_mode_load_balancer,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 added in v2.20.0

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"`
}

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 added in v2.20.0

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

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         string `form:"enable_ldap,omitempty"`
	LbOrGatewayName    string `form:"lb_or_gateway_name,omitempty" json:"lb_or_gateway_name,omitempty"`
	LdapAdditionalReq  string `form:"ldap_additional_req,omitempty"`
	LdapBaseDn         string `form:"ldap_base_dn,omitempty" json:"ldap_base_dn,omitempty"`
	LdapBindDn         string `form:"ldap_bind_dn,omitempty" json:"ldap_bind_dn,omitempty"`
	LdapCaCert         string `form:"ldap_ca_cert,omitempty" json:"ldap_ca_cert,omitempty"`
	LdapClientCert     string `form:"ldap_client_cert,omitempty" json:"ldap_client_cert,omitempty"`
	LdapPassword       string `form:"ldap_password,omitempty" json:"ldap_password,omitempty"`
	LdapServer         string `form:"ldap_server,omitempty" json:"ldap_server,omitempty"`
	LdapUseSsl         string `form:"ldap_use_ssl,omitempty" json:"ldap_use_ssl,omitempty"`
	LdapUserAttr       string `form:"ldap_username_attribute,omitempty" json:"ldap_username_attribute,omitempty"`
	OktaToken          string `form:"okta_token,omitempty" json:"okta_token,omitempty"`
	OktaURL            string `form:"okta_url,omitempty" json:"okta_url,omitempty"`
	OktaUsernameSuffix string `form:"okta_username_suffix,omitempty" json:"okta_username_suffix,omitempty"`
	OtpMode            string `form:"otp_mode,omitempty" json:"otp_mode,omitempty"`
	SamlEnabled        string `form:"saml_enabled,omitempty" json:"saml_enabled,omitempty"`
	VpcID              string `form:"vpc_id,omitempty" json:"vpc_id,omitempty"`
}

type VpnUserXlr

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"`
}

Source Files

Jump to

Keyboard shortcuts

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