v1alpha1

package
v0.0.0-...-fae2378 Latest Latest
Warning

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

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

Documentation

Overview

+kubebuilder:object:generate=true +groupName=transit.aviatrix.upbound.io +versionName=v1alpha1

Index

Constants

View Source
const (
	CRDGroup   = "transit.aviatrix.upbound.io"
	CRDVersion = "v1alpha1"
)

Package type metadata.

Variables

View Source
var (
	Gateway_Kind             = "Gateway"
	Gateway_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: Gateway_Kind}.String()
	Gateway_KindAPIVersion   = Gateway_Kind + "." + CRDGroupVersion.String()
	Gateway_GroupVersionKind = CRDGroupVersion.WithKind(Gateway_Kind)
)

Repository type metadata.

View Source
var (
	GatewayPeering_Kind             = "GatewayPeering"
	GatewayPeering_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: GatewayPeering_Kind}.String()
	GatewayPeering_KindAPIVersion   = GatewayPeering_Kind + "." + CRDGroupVersion.String()
	GatewayPeering_GroupVersionKind = CRDGroupVersion.WithKind(GatewayPeering_Kind)
)

Repository type metadata.

View Source
var (
	// CRDGroupVersion is the API Group Version used to register the objects
	CRDGroupVersion = schema.GroupVersion{Group: CRDGroup, Version: CRDVersion}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
	SchemeBuilder = &scheme.Builder{GroupVersion: CRDGroupVersion}

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)

Functions

This section is empty.

Types

type BGPLanInterfacesObservation

type BGPLanInterfacesObservation struct {
}

func (*BGPLanInterfacesObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BGPLanInterfacesObservation.

func (*BGPLanInterfacesObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type BGPLanInterfacesParameters

type BGPLanInterfacesParameters struct {

	// A VPC Network address range selected from one of the available network ranges. Example: "172.31.0.0/20". NOTE: If using
	// Subnet Info.
	// +kubebuilder:validation:Required
	Subnet *string `json:"subnet" tf:"subnet,omitempty"`

	// VPC-ID/VNet-Name of cloud provider. Example: AWS/AWSGov/AWSChina: "vpc-abcd1234", GCP: "vpc-gcp-test~-~project-id", Azure/AzureGov/AzureChina: "vnet_name:rg_name:resource_guid", OCI: "ocid1.vcn.oc1.iad.aaaaaaaaba3pv6wkcr4jqae5f44n2b2m2yt2j6rx32uzr4h25vqstifsfdsq".
	// VPC-ID of GCP cloud provider.
	// +kubebuilder:validation:Required
	VPCID *string `json:"vpcId" tf:"vpc_id,omitempty"`
}

func (*BGPLanInterfacesParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BGPLanInterfacesParameters.

func (*BGPLanInterfacesParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Gateway

type Gateway struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              GatewaySpec   `json:"spec"`
	Status            GatewayStatus `json:"status,omitempty"`
}

Gateway is the Schema for the Gateways API. Creates and manages the Aviatrix Transit Network gateways +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:subresource:status +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,aviatrix}

func (*Gateway) DeepCopy

func (in *Gateway) DeepCopy() *Gateway

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Gateway.

func (*Gateway) DeepCopyInto

func (in *Gateway) DeepCopyInto(out *Gateway)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Gateway) DeepCopyObject

func (in *Gateway) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*Gateway) GetCondition

func (mg *Gateway) GetCondition(ct xpv1.ConditionType) xpv1.Condition

GetCondition of this Gateway.

func (*Gateway) GetConnectionDetailsMapping

func (tr *Gateway) GetConnectionDetailsMapping() map[string]string

GetConnectionDetailsMapping for this Gateway

func (*Gateway) GetDeletionPolicy

func (mg *Gateway) GetDeletionPolicy() xpv1.DeletionPolicy

GetDeletionPolicy of this Gateway.

func (*Gateway) GetID

func (tr *Gateway) GetID() string

GetID returns ID of underlying Terraform resource of this Gateway

func (*Gateway) GetObservation

func (tr *Gateway) GetObservation() (map[string]any, error)

GetObservation of this Gateway

func (*Gateway) GetParameters

func (tr *Gateway) GetParameters() (map[string]any, error)

GetParameters of this Gateway

func (*Gateway) GetProviderConfigReference

func (mg *Gateway) GetProviderConfigReference() *xpv1.Reference

GetProviderConfigReference of this Gateway.

func (*Gateway) GetProviderReference

func (mg *Gateway) GetProviderReference() *xpv1.Reference

GetProviderReference of this Gateway. Deprecated: Use GetProviderConfigReference.

func (*Gateway) GetPublishConnectionDetailsTo

func (mg *Gateway) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo

GetPublishConnectionDetailsTo of this Gateway.

func (*Gateway) GetTerraformResourceType

func (mg *Gateway) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this Gateway

func (*Gateway) GetTerraformSchemaVersion

func (tr *Gateway) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*Gateway) GetWriteConnectionSecretToReference

func (mg *Gateway) GetWriteConnectionSecretToReference() *xpv1.SecretReference

GetWriteConnectionSecretToReference of this Gateway.

func (*Gateway) LateInitialize

func (tr *Gateway) LateInitialize(attrs []byte) (bool, error)

LateInitialize this Gateway using its observed tfState. returns True if there are any spec changes for the resource.

func (*Gateway) SetConditions

func (mg *Gateway) SetConditions(c ...xpv1.Condition)

SetConditions of this Gateway.

func (*Gateway) SetDeletionPolicy

func (mg *Gateway) SetDeletionPolicy(r xpv1.DeletionPolicy)

SetDeletionPolicy of this Gateway.

func (*Gateway) SetObservation

func (tr *Gateway) SetObservation(obs map[string]any) error

SetObservation for this Gateway

func (*Gateway) SetParameters

func (tr *Gateway) SetParameters(params map[string]any) error

SetParameters for this Gateway

func (*Gateway) SetProviderConfigReference

func (mg *Gateway) SetProviderConfigReference(r *xpv1.Reference)

SetProviderConfigReference of this Gateway.

func (*Gateway) SetProviderReference

func (mg *Gateway) SetProviderReference(r *xpv1.Reference)

SetProviderReference of this Gateway. Deprecated: Use SetProviderConfigReference.

func (*Gateway) SetPublishConnectionDetailsTo

func (mg *Gateway) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)

SetPublishConnectionDetailsTo of this Gateway.

func (*Gateway) SetWriteConnectionSecretToReference

func (mg *Gateway) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)

SetWriteConnectionSecretToReference of this Gateway.

type GatewayList

type GatewayList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Gateway `json:"items"`
}

GatewayList contains a list of Gateways

func (*GatewayList) DeepCopy

func (in *GatewayList) DeepCopy() *GatewayList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GatewayList.

func (*GatewayList) DeepCopyInto

func (in *GatewayList) DeepCopyInto(out *GatewayList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*GatewayList) DeepCopyObject

func (in *GatewayList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*GatewayList) GetItems

func (l *GatewayList) GetItems() []resource.Managed

GetItems of this GatewayList.

type GatewayObservation

type GatewayObservation struct {

	// List of available BGP LAN interface IPs for transit external device connection creation. Only supports GCP and Azure. Available as of provider version R2.21.0+.
	// List of available BGP LAN interface IPs for transit external device connection creation. Only supports GCP and Azure. Available as of provider version R2.21.0+.
	BGPLanIPList []*string `json:"bgpLanIpList,omitempty" tf:"bgp_lan_ip_list,omitempty"`

	// Cloud instance ID of the transit gateway.
	// Instance ID of the transit gateway.
	CloudInstanceID *string `json:"cloudInstanceId,omitempty" tf:"cloud_instance_id,omitempty"`

	// List of available BGP LAN interface IPs for transit external device HA connection creation. Only supports GCP and Azure. Available as of provider version R2.21.0+.
	// List of available BGP LAN interface IPs for transit external device HA connection creation. Only supports GCP and Azure. Available as of provider version R2.21.0+.
	HaBGPLanIPList []*string `json:"haBgpLanIpList,omitempty" tf:"ha_bgp_lan_ip_list,omitempty"`

	// Cloud instance ID of the HA transit gateway.
	// Cloud instance ID of HA transit gateway.
	HaCloudInstanceID *string `json:"haCloudInstanceId,omitempty" tf:"ha_cloud_instance_id,omitempty"`

	// Aviatrix transit gateway unique name of HA transit gateway.
	// Aviatrix transit gateway unique name of HA transit gateway.
	HaGwName *string `json:"haGwName,omitempty" tf:"ha_gw_name,omitempty"`

	// The image version of the HA gateway. Use aviatrix_gateway_image data source to programmatically retrieve this value for the desired ha_software_version. If set, we will attempt to update the HA gateway to the specified version if current version is different. If left blank, the gateway upgrades can be managed with the aviatrix_controller_config resource. Type: String. Example: "hvm-cloudx-aws-022021". Available as of provider version R2.20.0.
	// ha_image_version can be used to set the desired image version of the HA gateway. If set, we will attempt to update the gateway to the specified version.
	HaImageVersion *string `json:"haImageVersion,omitempty" tf:"ha_image_version,omitempty"`

	// LAN interface CIDR of the HA transit gateway created (will be used when enabling FQDN Firenet in Azure). Available in provider version R2.18+.
	// Transit gateway lan interface cidr for the HA gateway.
	HaLanInterfaceCidr *string `json:"haLanInterfaceCidr,omitempty" tf:"ha_lan_interface_cidr,omitempty"`

	// Private IP address of the HA transit gateway created.
	// Private IP address of HA transit gateway.
	HaPrivateIP *string `json:"haPrivateIp,omitempty" tf:"ha_private_ip,omitempty"`

	// Public IP address of the HA Transit Gateway.
	// Public IP address of the HA Transit Gateway.
	HaPublicIP *string `json:"haPublicIp,omitempty" tf:"ha_public_ip,omitempty"`

	// HA security group used for the transit gateway.
	// HA security group used for the transit gateway.
	HaSecurityGroupID *string `json:"haSecurityGroupId,omitempty" tf:"ha_security_group_id,omitempty"`

	// The software version of the HA gateway. If set, we will attempt to update the HA gateway to the specified version if current version is different. If left blank, the HA gateway upgrade can be managed with the aviatrix_controller_config resource. Type: String. Example: "6.5.821". Available as of provider version R2.20.0.
	// ha_software_version can be used to set the desired software version of the HA gateway. If set, we will attempt to update the gateway to the specified version. If left blank, the gateway software version will continue to be managed through the aviatrix_controller_config resource.
	HaSoftwareVersion *string `json:"haSoftwareVersion,omitempty" tf:"ha_software_version,omitempty"`

	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// The image version of the gateway. Use aviatrix_gateway_image data source to programmatically retrieve this value for the desired software_version. If set, we will attempt to update the gateway to the specified version if current version is different. If left blank, the gateway upgrades can be managed with the aviatrix_controller_config resource. Type: String. Example: "hvm-cloudx-aws-022021". Available as of provider version R2.20.0.
	// image_version can be used to set the desired image version of the gateway. If set, we will attempt to update the gateway to the specified version.
	ImageVersion *string `json:"imageVersion,omitempty" tf:"image_version,omitempty"`

	// LAN interface CIDR of the transit gateway created (will be used when enabling FQDN Firenet in Azure). Available in provider version R2.17.1+.
	// Transit gateway lan interface cidr.
	LanInterfaceCidr *string `json:"lanInterfaceCidr,omitempty" tf:"lan_interface_cidr,omitempty"`

	// Private IP address of the transit gateway created.
	// Private IP address of the transit gateway created.
	PrivateIP *string `json:"privateIp,omitempty" tf:"private_ip,omitempty"`

	// Public IP address of the Transit Gateway created.
	// Public IP address of the Transit Gateway created.
	PublicIP *string `json:"publicIp,omitempty" tf:"public_ip,omitempty"`

	// Security group used for the transit gateway.
	// Security group used for the transit gateway.
	SecurityGroupID *string `json:"securityGroupId,omitempty" tf:"security_group_id,omitempty"`

	// The software version of the gateway. If set, we will attempt to update the gateway to the specified version if current version is different. If left blank, the gateway upgrade can be managed with the aviatrix_controller_config resource. Type: String. Example: "6.5.821". Available as of provider version R2.20.0.
	// software_version can be used to set the desired software version of the gateway. If set, we will attempt to update the gateway to the specified version. If left blank, the gateway software version will continue to be managed through the aviatrix_controller_config resource.
	SoftwareVersion *string `json:"softwareVersion,omitempty" tf:"software_version,omitempty"`
}

func (*GatewayObservation) DeepCopy

func (in *GatewayObservation) DeepCopy() *GatewayObservation

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GatewayObservation.

func (*GatewayObservation) DeepCopyInto

func (in *GatewayObservation) DeepCopyInto(out *GatewayObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GatewayParameters

type GatewayParameters struct {

	// This parameter represents the name of a Cloud-Account in Aviatrix controller.
	// This parameter represents the name of a Cloud-Account in Aviatrix controller.
	// +kubebuilder:validation:Required
	AccountName *string `json:"accountName" tf:"account_name,omitempty"`

	// When value is false, reuse an idle address in Elastic IP pool for this gateway. Otherwise, allocate a new Elastic IP and use it for this gateway. Available in Controller 4.7+. Valid values: true, false. Default: true.
	// If false, reuse an idle address in Elastic IP pool for this gateway. Otherwise, allocate a new Elastic IP and use it for this gateway.
	// +kubebuilder:validation:Optional
	AllocateNewEIP *bool `json:"allocateNewEip,omitempty" tf:"allocate_new_eip,omitempty"`

	// A set of approved learned CIDRs. Only valid when enable_learned_cidrs_approval is set to true. Example: ["10.250.0.0/16", "10.251.0.0/16"]. Available as of provider version R2.21+.
	// Approved learned CIDRs. Available as of provider version R2.21+.
	// +kubebuilder:validation:Optional
	ApprovedLearnedCidrs []*string `json:"approvedLearnedCidrs,omitempty" tf:"approved_learned_cidrs,omitempty"`

	// Availability domain. Required and valid only for OCI. Available as of provider version R2.19.3.
	// Availability domain for OCI.
	// +kubebuilder:validation:Optional
	AvailabilityDomain *string `json:"availabilityDomain,omitempty" tf:"availability_domain,omitempty"`

	// Name of public IP Address resource and its resource group in Azure to be assigned to the Transit Gateway instance. Example: "IP_Name:Resource_Group_Name". Required if allocate_new_eip is false and cloud_type is Azure, AzureGov or AzureChina. Available as of provider version 2.20+.
	// The name of the public IP address and its resource group in Azure to assign to this Transit Gateway.
	// +kubebuilder:validation:Optional
	AzureEIPNameResourceGroup *string `json:"azureEipNameResourceGroup,omitempty" tf:"azure_eip_name_resource_group,omitempty"`

	// Enable Equal Cost Multi Path (ECMP) routing for the next hop. Default value: false.
	// Enable Equal Cost Multi Path (ECMP) routing for the next hop.
	// +kubebuilder:validation:Optional
	BGPEcmp *bool `json:"bgpEcmp,omitempty" tf:"bgp_ecmp,omitempty"`

	// BGP hold time. Unit is in seconds. Valid values are between 12 and 360. Default value: 180.
	// BGP Hold Time.
	// +kubebuilder:validation:Optional
	BGPHoldTime *float64 `json:"bgpHoldTime,omitempty" tf:"bgp_hold_time,omitempty"`

	// Interfaces to run BGP protocol on top of the ethernet interface, to connect to the onprem/remote peer. Only available for GCP Transit. Each interface has the following attributes:
	// Interfaces to run BGP protocol on top of the ethernet interface, to connect to the onprem/remote peer. Only available for GCP Transit.
	// +kubebuilder:validation:Optional
	BGPLanInterfaces []BGPLanInterfacesParameters `json:"bgpLanInterfaces,omitempty" tf:"bgp_lan_interfaces,omitempty"`

	// Number of interfaces that will be created for BGP over LAN enabled Azure transit. Applies on HA Transit as well if enabled. Valid value: 1~5 for FireNet case, 1~7 for Non-FireNet case. Available as of provider version R2.22+. Updatable as of provider version 3.0.3+.
	// Number of interfaces that will be created for BGP over LAN enabled Azure transit. Applies on HA Transit as well if enabled. Updatable as of provider version 3.0.3+.
	// +kubebuilder:validation:Optional
	BGPLanInterfacesCount *float64 `json:"bgpLanInterfacesCount,omitempty" tf:"bgp_lan_interfaces_count,omitempty"`

	// Intended CIDR list to be advertised to external BGP router. Example: "10.2.0.0/16,10.4.0.0/16". Available as of R2.6. NOTE: If previously enabled through vgw_conn resource prior to provider version R2.6, please see notes
	// Intended CIDR list to be advertised to external bgp router.
	// +kubebuilder:validation:Optional
	BGPManualSpokeAdvertiseCidrs *string `json:"bgpManualSpokeAdvertiseCidrs,omitempty" tf:"bgp_manual_spoke_advertise_cidrs,omitempty"`

	// BGP route polling time. Unit is in seconds. Valid values are between 10 and 50. Default value: "50".
	// BGP route polling time. Unit is in seconds. Valid values are between 10 and 50.
	// +kubebuilder:validation:Optional
	BGPPollingTime *string `json:"bgpPollingTime,omitempty" tf:"bgp_polling_time,omitempty"`

	// Type of cloud service provider, requires an integer value. Currently only AWS(1), GCP(4), Azure(8), OCI(16), AzureGov(32), AWSGov(256), AWSChina(1024), AzureChina(2048), Alibaba Cloud(8192), AWS Top Secret(16384) and AWS Secret (32768) are supported.
	// Type of cloud service provider, requires an integer value. Use 1 for AWS.
	// +kubebuilder:validation:Required
	CloudType *float64 `json:"cloudType" tf:"cloud_type,omitempty"`

	// Specify Connected Transit status. If enabled, it allows spokes to run traffics to other spokes via transit gateway. Valid values: true, false. Default value: false.
	// Specify Connected Transit status.
	// +kubebuilder:validation:Optional
	ConnectedTransit *bool `json:"connectedTransit,omitempty" tf:"connected_transit,omitempty"`

	// Customer managed key ID.
	// Customer managed key ID.
	// +kubebuilder:validation:Optional
	CustomerManagedKeysSecretRef *v1.SecretKeySelector `json:"customerManagedKeysSecretRef,omitempty" tf:"-"`

	// A list of comma-separated CIDRs to be customized for the spoke VPC routes. When configured, it will replace all learned routes in VPC routing tables, including RFC1918 and non-RFC1918 CIDRs. It applies to all spoke gateways attached to this transit gateway. Example: "10.0.0.0/16,10.2.0.0/16".
	// A list of comma separated CIDRs to be customized for the spoke VPC routes. When configured, it will replace all learned routes in VPC routing tables, including RFC1918 and non-RFC1918 CIDRs. It applies to all spoke gateways attached to this transit gateway.
	// +kubebuilder:validation:Optional
	CustomizedSpokeVPCRoutes *string `json:"customizedSpokeVpcRoutes,omitempty" tf:"customized_spoke_vpc_routes,omitempty"`

	// A list of CIDRs to be customized for the transit VPC routes. When configured, it will replace all learned routes in VPC routing tables, including RFC1918 and non-RFC1918 CIDRs. To be effective, enable_advertise_transit_cidr or firewall management access for a Transit FireNet gateway must be enabled. Example: ["10.0.0.0/16", "10.2.0.0/16"].
	// A list of CIDRs to be customized for the transit VPC routes. When configured, it will replace all learned routes in VPC routing tables, including RFC1918 and non-RFC1918 CIDRs.To be effective, `enable_advertise_transit_cidr` or firewall management access for a transit firenet gateway must be enabled.
	// +kubebuilder:validation:Optional
	CustomizedTransitVPCRoutes []*string `json:"customizedTransitVpcRoutes,omitempty" tf:"customized_transit_vpc_routes,omitempty"`

	// Required when allocate_new_eip is false. It uses the specified EIP for this gateway. Available in Controller version 4.7+. Only available for AWS, GCP, Azure, OCI, AzureGov, AWSGov, AWSChina, AzureChina, AWS Top Secret and AWS Secret.
	// Required when allocate_new_eip is false. It uses specified EIP for this gateway.
	// +kubebuilder:validation:Optional
	EIP *string `json:"eip,omitempty" tf:"eip,omitempty"`

	// Enables Active-Standby Mode. Available only with HA enabled. Valid values: true, false. Default value: false. Available in provider version R2.17.1+.
	// Enables Active-Standby Mode, available only with HA enabled.
	// +kubebuilder:validation:Optional
	EnableActiveStandby *bool `json:"enableActiveStandby,omitempty" tf:"enable_active_standby,omitempty"`

	// Enables Preemptive Mode for Active-Standby. Available only with BGP enabled, HA enabled and Active-Standby enabled. Valid values: true, false. Default value: false.
	// Enables Preemptive Mode for Active-Standby, available only with Active-Standby enabled.
	// +kubebuilder:validation:Optional
	EnableActiveStandbyPreemptive *bool `json:"enableActiveStandbyPreemptive,omitempty" tf:"enable_active_standby_preemptive,omitempty"`

	// Switch to enable/disable advertise transit VPC network CIDR for a VGW connection. Available as of R2.6. NOTE: If previously enabled through vgw_conn resource prior to provider version R2.6, please see notes
	// Switch to Enable/Disable advertise transit VPC network CIDR.
	// +kubebuilder:validation:Optional
	EnableAdvertiseTransitCidr *bool `json:"enableAdvertiseTransitCidr,omitempty" tf:"enable_advertise_transit_cidr,omitempty"`

	// Pre-allocate a network interface(eth4) for "BGP over LAN" functionality. Must be enabled to create a BGP over LAN aviatrix_transit_external_device_conn resource with this Transit Gateway. Only valid for GCP (4), Azure (8), AzureGov (32) or AzureChina (2048). Valid values: true or false. Default value: false. Available as of provider version R2.18+. Updatable as of provider version 3.0.3+.
	// Pre-allocate a network interface(eth4) for "BGP over LAN" functionality. Only valid for cloud_type = 4 (GCP) and 8 (Azure). Valid values: true or false. Default value: false. Available as of provider version R2.18+. Updatable as of provider version 3.0.3+.
	// +kubebuilder:validation:Optional
	EnableBGPOverLan *bool `json:"enableBgpOverLan,omitempty" tf:"enable_bgp_over_lan,omitempty"`

	// Enable Egress Transit FireNet. Valid values: true, false. Default value: false. Available in provider version R2.16.3+.
	// Specify whether to enable egress transit firenet interfaces or not.
	// +kubebuilder:validation:Optional
	EnableEgressTransitFirenet *bool `json:"enableEgressTransitFirenet,omitempty" tf:"enable_egress_transit_firenet,omitempty"`

	// Enable EBS volume encryption for Gateway. Only supports AWS, AWSGov, AWSChina, AWS Top Secret and AWS Secret. Valid values: true, false. Default value: false.
	// Enable encrypt gateway EBS volume. Only supported for AWS and AWSGov providers. Valid values: true, false. Default value: false.
	// +kubebuilder:validation:Optional
	EnableEncryptVolume *bool `json:"enableEncryptVolume,omitempty" tf:"enable_encrypt_volume,omitempty"`

	// Set to true to use gateway for legacy AWS TGW-based FireNet connection. Valid values: true, false. Default value: false. NOTE: If previously using an older provider version R2.5 where attribute name was
	// Specify whether to enable firenet interfaces or not.
	// +kubebuilder:validation:Optional
	EnableFirenet *bool `json:"enableFirenet,omitempty" tf:"enable_firenet,omitempty"`

	// Enable FireNet interfaces with AWS Gateway Load Balancer. Only valid when enable_firenet or enable_transit_firenet are set to true and cloud_type = 1 (AWS). Currently, AWS Gateway Load Balancer is only supported in AWS regions: us-west-2, us-east-1, eu-west-1, ap-southeast-2 and sa-east-1. Valid values: true or false. Default value: false. Available as of provider version R2.18+.
	// Enable firenet interfaces with AWS Gateway Load Balancer. Only valid when `enable_firenet` or `enable_transit_firenet` are set to true and `cloud_type` = 1 (AWS). Currently AWS Gateway Load Balancer is only supported in AWS regions us-west-2 and us-east-1. Valid values: true or false. Default value: false.
	// +kubebuilder:validation:Optional
	EnableGatewayLoadBalancer *bool `json:"enableGatewayLoadBalancer,omitempty" tf:"enable_gateway_load_balancer,omitempty"`

	// Enable GRO/GSO for this transit gateway. Default value is true. Available in provider R3.1.0+.
	// Specify whether to disable GRO/GSO or not.
	// +kubebuilder:validation:Optional
	EnableGroGso *bool `json:"enableGroGso,omitempty" tf:"enable_gro_gso,omitempty"`

	// Sign of readiness for AWS TGW connection. Only supported for AWS, AWSGov, AWSChina, AWS Top Secret and AWS Secret. Example: false.
	// Sign of readiness for TGW connection.
	// +kubebuilder:validation:Optional
	EnableHybridConnection *bool `json:"enableHybridConnection,omitempty" tf:"enable_hybrid_connection,omitempty"`

	// Enable jumbo frames for this transit gateway. Default value is true.
	// Enable jumbo frame support for transit gateway. Valid values: true or false. Default value: true.
	// +kubebuilder:validation:Optional
	EnableJumboFrame *bool `json:"enableJumboFrame,omitempty" tf:"enable_jumbo_frame,omitempty"`

	// Switch to enable/disable encrypted transit approval for transit gateway. Valid values: true, false. Default value: false.
	// Switch to enable/disable encrypted transit approval for transit Gateway. Valid values: true, false.
	// +kubebuilder:validation:Optional
	EnableLearnedCidrsApproval *bool `json:"enableLearnedCidrsApproval,omitempty" tf:"enable_learned_cidrs_approval,omitempty"`

	// If set to true, the Monitor Gateway Subnets feature is enabled. Default value is false. Available in provider version R2.18+.
	// Enable [monitor gateway subnets](https://docs.aviatrix.com/HowTos/gateway.html#monitor-gateway-subnet). Only valid for cloud_type = 1 (AWS) or 256 (AWSGov). Valid values: true, false. Default value: false.
	// +kubebuilder:validation:Optional
	EnableMonitorGatewaySubnets *bool `json:"enableMonitorGatewaySubnets,omitempty" tf:"enable_monitor_gateway_subnets,omitempty"`

	// Enable Multi-tier Transit mode on transit gateway. When enabled, transit gateway will propagate routes it receives from its transit peering peer to other transit peering peers. local_as_number is required. Default value: false. Available as of provider version R2.19+.
	// Enable Multi-tier Transit mode on transit gateway.
	// +kubebuilder:validation:Optional
	EnableMultiTierTransit *bool `json:"enableMultiTierTransit,omitempty" tf:"enable_multi_tier_transit,omitempty"`

	// Enable preserve as_path when advertising manual summary cidrs on transit gateway. Valid values: true, false. Default value: false. Available as of provider version R.2.22.1+.
	// Enable preserve as_path when advertising manual summary cidrs on transit gateway.
	// +kubebuilder:validation:Optional
	EnablePreserveAsPath *bool `json:"enablePreserveAsPath,omitempty" tf:"enable_preserve_as_path,omitempty"`

	// Enable Private OOB feature. Only available for AWS, AWSGov, AWSChina, AWS Top Secret and AWS Secret. Valid values: true, false. Default value: false.
	// Enable private OOB.
	// +kubebuilder:validation:Optional
	EnablePrivateOob *bool `json:"enablePrivateOob,omitempty" tf:"enable_private_oob,omitempty"`

	// Enable S2C receive packet CPU re-balancing on transit gateway. Valid values: true, false. Default value: false. Available in provider version R2.21.2+.
	// Enable S2C receive packet CPU re-balancing on transit gateway.
	// +kubebuilder:validation:Optional
	EnableS2CRxBalancing *bool `json:"enableS2CRxBalancing,omitempty" tf:"enable_s2c_rx_balancing,omitempty"`

	// Enable transit gateway for segmentation. Valid values: true, false. Default: false.
	// Enable segmentation to allow association of transit gateway to security domains.
	// +kubebuilder:validation:Optional
	EnableSegmentation *bool `json:"enableSegmentation,omitempty" tf:"enable_segmentation,omitempty"`

	// Enable spot instance. NOT supported for production deployment.
	// Enable spot instance. NOT supported for production deployment.
	// +kubebuilder:validation:Optional
	EnableSpotInstance *bool `json:"enableSpotInstance,omitempty" tf:"enable_spot_instance,omitempty"`

	// Set to true to use gateway for Transit FireNet connection. Valid values: true, false. Default value: false. Available in provider version R2.12+.
	// Specify whether to enable transit firenet interfaces or not.
	// +kubebuilder:validation:Optional
	EnableTransitFirenet *bool `json:"enableTransitFirenet,omitempty" tf:"enable_transit_firenet,omitempty"`

	// Enable summarize CIDR to TGW. Valid values: true, false. Default value: false.
	// Enable summarize CIDR to TGW.
	// +kubebuilder:validation:Optional
	EnableTransitSummarizeCidrToTgw *bool `json:"enableTransitSummarizeCidrToTgw,omitempty" tf:"enable_transit_summarize_cidr_to_tgw,omitempty"`

	// Enable VPC DNS Server for Gateway. Currently only supported for AWS, Azure, AzureGov, AWSGov, AWSChina, AzureChina, Alibaba Cloud, AWS Top Secret and AWS Secret gateways. Valid values: true, false. Default value: false.
	// Enable vpc_dns_server for Gateway. Valid values: true, false.
	// +kubebuilder:validation:Optional
	EnableVPCDNSServer *bool `json:"enableVpcDnsServer,omitempty" tf:"enable_vpc_dns_server,omitempty"`

	// A list of comma-separated CIDRs to be advertised to on-prem as 'Excluded CIDR List'. When configured, it inspects all the advertised CIDRs from its spoke gateways and remove those included in the 'Excluded CIDR List'. Example: "10.4.0.0/16,10.5.0.0/16".
	// A list of comma separated CIDRs to be advertised to on-prem as 'Excluded CIDR List'. When configured, it inspects all the advertised CIDRs from its spoke gateways and remove those included in the 'Excluded CIDR List'.
	// +kubebuilder:validation:Optional
	ExcludedAdvertisedSpokeRoutes *string `json:"excludedAdvertisedSpokeRoutes,omitempty" tf:"excluded_advertised_spoke_routes,omitempty"`

	// Fault domain. Required and valid only for OCI. Available as of provider version R2.19.3.
	// Fault domain for OCI.
	// +kubebuilder:validation:Optional
	FaultDomain *string `json:"faultDomain,omitempty" tf:"fault_domain,omitempty"`

	// A list of comma-separated CIDRs to be filtered from the spoke VPC route table. When configured, filtering CIDR(s) or it’s subnet will be deleted from VPC routing tables as well as from spoke gateway’s routing table. It applies to all spoke gateways attached to this transit gateway. Example: "10.2.0.0/16,10.3.0.0/16".
	// A list of comma separated CIDRs to be filtered from the spoke VPC route table. When configured, filtering CIDR(s) or it’s subnet will be deleted from VPC routing tables as well as from spoke gateway’s routing table. It applies to all spoke gateways attached to this transit gateway.
	// +kubebuilder:validation:Optional
	FilteredSpokeVPCRoutes *string `json:"filteredSpokeVpcRoutes,omitempty" tf:"filtered_spoke_vpc_routes,omitempty"`

	// Size of the gateway instance. Example: AWS: "t2.large", Azure/AzureGov: "Standard_B1s", OCI: "VM.Standard2.2", GCP: "n1-standard-1", AWSGov: "t2.large", AWSChina: "t2.large", AzureChina: "Standard_A0".
	// Size of the gateway instance.
	// +kubebuilder:validation:Required
	GwSize *string `json:"gwSize" tf:"gw_size,omitempty"`

	// HA gateway availability domain. Required and valid only for OCI. Available as of provider version R2.19.3.
	// HA availability domain for OCI.
	// +kubebuilder:validation:Optional
	HaAvailabilityDomain *string `json:"haAvailabilityDomain,omitempty" tf:"ha_availability_domain,omitempty"`

	// Name of public IP Address resource and its resource group in Azure to be assigned to the HA Transit Gateway instance. Example: "IP_Name:Resource_Group_Name". Required if ha_eip is set and cloud_type is Azure, AzureGov or AzureChina. Available as of provider version 2.20+.
	// The name of the public IP address and its resource group in Azure to assign to the HA Transit Gateway.
	// +kubebuilder:validation:Optional
	HaAzureEIPNameResourceGroup *string `json:"haAzureEipNameResourceGroup,omitempty" tf:"ha_azure_eip_name_resource_group,omitempty"`

	// Interfaces to run BGP protocol on top of the ethernet interface, to connect to the onprem/remote peer. Only available for GCP Transit HA. Each interface has the following attributes:
	// Interfaces to run BGP protocol on top of the ethernet interface, to connect to the onprem/remote peer. Only available for GCP HA Transit.
	// +kubebuilder:validation:Optional
	HaBGPLanInterfaces []HaBGPLanInterfacesParameters `json:"haBgpLanInterfaces,omitempty" tf:"ha_bgp_lan_interfaces,omitempty"`

	// Public IP address that you want to assign to the HA peering instance. If no value is given, a new EIP will automatically be allocated. Only available for AWS, GCP, Azure, OCI, AzureGov, AWSGov, AWSChina, AzureChina, AWS Top Secret and AWS Secret.
	// Public IP address that you want assigned to the HA Transit Gateway.
	// +kubebuilder:validation:Optional
	HaEIP *string `json:"haEip,omitempty" tf:"ha_eip,omitempty"`

	// HA gateway fault domain. Required and valid only for OCI. Available as of provider version R2.19.3.
	// HA fault domain for OCI.
	// +kubebuilder:validation:Optional
	HaFaultDomain *string `json:"haFaultDomain,omitempty" tf:"ha_fault_domain,omitempty"`

	// HA Gateway Size. Mandatory if enabling HA. Example: "t2.micro".
	// HA Gateway Size. Mandatory if HA is enabled (ha_subnet is set).
	// +kubebuilder:validation:Optional
	HaGwSize *string `json:"haGwSize,omitempty" tf:"ha_gw_size,omitempty"`

	// AZ of subnet being created for Insane Mode Transit HA Gateway. Required for AWS, AWSGov, AWSChina, AWS Top Secret and AWS Secret if insane_mode is enabled and ha_subnet is set. Example: AWS: "us-west-1a".
	// AZ of subnet being created for Insane Mode Transit HA Gateway. Required for AWS if insane_mode is enabled and ha_subnet is set.
	// +kubebuilder:validation:Optional
	HaInsaneModeAz *string `json:"haInsaneModeAz,omitempty" tf:"ha_insane_mode_az,omitempty"`

	// HA OOB availability zone. Required if enabling Private OOB and HA. Example: "us-west-1b".
	// OOB HA availability zone.
	// +kubebuilder:validation:Optional
	HaOobAvailabilityZone *string `json:"haOobAvailabilityZone,omitempty" tf:"ha_oob_availability_zone,omitempty"`

	// HA OOB management subnet. Required if enabling Private OOB and HA. Example: "11.0.0.48/28".
	// OOB HA management subnet.
	// +kubebuilder:validation:Optional
	HaOobManagementSubnet *string `json:"haOobManagementSubnet,omitempty" tf:"ha_oob_management_subnet,omitempty"`

	// Availability Zone of the HA subnet. Required when Private Mode is enabled on the Controller and cloud_type is AWS or AWSGov with HA. Available in Provider version R2.23+.
	// Private Mode HA subnet availability zone.
	// +kubebuilder:validation:Optional
	HaPrivateModeSubnetZone *string `json:"haPrivateModeSubnetZone,omitempty" tf:"ha_private_mode_subnet_zone,omitempty"`

	// HA Subnet CIDR. Required only if enabling HA for AWS, Azure, AzureGov, AWSGov, AWSChina, AzureChina, OCI, Alibaba Cloud, AWS Top Secret or AWS Secret gateways. Optional for GCP. Setting to empty/unsetting will disable HA. Setting to a valid subnet CIDR will create an HA gateway on the subnet. Example: "10.12.0.0/24".
	// HA Subnet. Required for enabling HA for AWS/AWSGov/AWSChina/Azure/OCI/Alibaba Cloud. Optional for enabling HA for GCP gateway.
	// +kubebuilder:validation:Optional
	HaSubnet *string `json:"haSubnet,omitempty" tf:"ha_subnet,omitempty"`

	// HA Zone. Required if enabling HA for GCP gateway. Optional if enabling HA for Azure gateway. For GCP, setting to empty/unsetting will disable HA and setting to a valid zone will create an HA gateway in the zone. Example: "us-west1-c". For Azure, this is an optional parameter to place the HA gateway in a specific availability zone. Valid values for Azure gateways are in the form "az-n". Example: "az-2". Available for Azure as of provider version R2.17+.
	// HA Zone. Required if enabling HA for GCP. Optional for Azure.
	// +kubebuilder:validation:Optional
	HaZone *string `json:"haZone,omitempty" tf:"ha_zone,omitempty"`

	// , please see notes here.
	// Enable Insane Mode for Transit. Valid values: true, false. Supported for AWS/AWSGov, GCP, Azure and OCI. If insane mode is enabled, gateway size has to at least be c5 size for AWS and Standard_D3_v2 size for Azure.
	// +kubebuilder:validation:Optional
	InsaneMode *bool `json:"insaneMode,omitempty" tf:"insane_mode,omitempty"`

	// AZ of subnet being created for Insane Mode Transit Gateway. Required for AWS, AWSGov, AWS China, AWS Top Secret or AWS Secret if insane_mode is enabled. Example: AWS: "us-west-1a".
	// AZ of subnet being created for Insane Mode Transit Gateway. Required for AWS if insane_mode is enabled.
	// +kubebuilder:validation:Optional
	InsaneModeAz *string `json:"insaneModeAz,omitempty" tf:"insane_mode_az,omitempty"`

	// LAN Private Subnet. Only valid when enabling Transit FireNet on GCP. Available as of provider version R2.18.1+.
	// LAN Private Subnet. Only used for GCP Transit FireNet.
	// +kubebuilder:validation:Optional
	LanPrivateSubnet *string `json:"lanPrivateSubnet,omitempty" tf:"lan_private_subnet,omitempty"`

	// LAN VPC ID. Only valid when enabling Transit FireNet on GCP. Available as of provider version R2.18.1+.
	// LAN VPC ID. Only used for GCP Transit FireNet.
	// +kubebuilder:validation:Optional
	LanVPCID *string `json:"lanVpcId,omitempty" tf:"lan_vpc_id,omitempty"`

	// Learned CIDRs approval mode. Either "gateway" (approval on a per gateway basis) or "connection" (approval on a per connection basis). Default value: "gateway". Available as of provider version R2.18+.
	// Set the learned CIDRs approval mode. Only valid when 'enable_learned_cidrs_approval' is set to true. If set to 'gateway', learned CIDR approval applies to ALL connections. If set to 'connection', learned CIDR approval is configured on a per connection basis. When configuring per connection, use the enable_learned_cidrs_approval attribute within the connection resource to toggle learned CIDR approval. Valid values: 'gateway' or 'connection'. Default value: 'gateway'.
	// +kubebuilder:validation:Optional
	LearnedCidrsApprovalMode *string `json:"learnedCidrsApprovalMode,omitempty" tf:"learned_cidrs_approval_mode,omitempty"`

	// Changes the Aviatrix Transit Gateway ASN number before you setup Aviatrix Transit Gateway connection configurations.
	// Changes the Aviatrix Transit Gateway ASN number before you setup Aviatrix Transit Gateway connection configurations.
	// +kubebuilder:validation:Optional
	LocalAsNumber *string `json:"localAsNumber,omitempty" tf:"local_as_number,omitempty"`

	// Set of monitored instance ids. Only valid when 'enable_monitor_gateway_subnets' = true. Available in provider version R2.18+.
	// A set of monitored instance ids. Only valid when 'enable_monitor_gateway_subnets' = true.
	// +kubebuilder:validation:Optional
	MonitorExcludeList []*string `json:"monitorExcludeList,omitempty" tf:"monitor_exclude_list,omitempty"`

	// OOB availability zone. Required if enabling Private OOB. Example: "us-west-1a".
	// OOB subnet availability zone.
	// +kubebuilder:validation:Optional
	OobAvailabilityZone *string `json:"oobAvailabilityZone,omitempty" tf:"oob_availability_zone,omitempty"`

	// OOB management subnet. Required if enabling Private OOB. Example: "11.0.2.0/24".
	// OOB management subnet.
	// +kubebuilder:validation:Optional
	OobManagementSubnet *string `json:"oobManagementSubnet,omitempty" tf:"oob_management_subnet,omitempty"`

	// List of AS numbers to populate BGP AP_PATH field when it advertises to VGW or peer devices.
	// List of AS numbers to populate BGP AP_PATH field when it advertises to VGW or peer devices.
	// +kubebuilder:validation:Optional
	PrependAsPath []*string `json:"prependAsPath,omitempty" tf:"prepend_as_path,omitempty"`

	// VPC ID of Private Mode load balancer. Required when Private Mode is enabled on the Controller. Available in Provider version R2.23+.
	// Private Mode Controller load balancer VPC ID. Required when private mode is enabled for the Controller.
	// +kubebuilder:validation:Optional
	PrivateModeLBVPCID *string `json:"privateModeLbVpcId,omitempty" tf:"private_mode_lb_vpc_id,omitempty"`

	// Availability Zone of the subnet. Required when Private Mode is enabled on the Controller and cloud_type is AWS or AWSGov. Available in Provider version R2.23+.
	// Private Mode subnet availability zone.
	// +kubebuilder:validation:Optional
	PrivateModeSubnetZone *string `json:"privateModeSubnetZone,omitempty" tf:"private_mode_subnet_zone,omitempty"`

	// Gateway ethernet interface RX queue size. Applies on HA as well if enabled. Once set, can't be deleted or disabled. Available for AWS as of provider version R2.22+.
	// Gateway ethernet interface RX queue size. Supported for AWS related clouds only. Applies on HA as well if enabled.
	// +kubebuilder:validation:Optional
	RxQueueSize *string `json:"rxQueueSize,omitempty" tf:"rx_queue_size,omitempty"`

	// Set to true if this feature is desired. Valid values: true, false.
	// Set to 'enabled' if this feature is desired.
	// +kubebuilder:validation:Optional
	SingleAzHa *bool `json:"singleAzHa,omitempty" tf:"single_az_ha,omitempty"`

	// Enable "single_ip" mode Source NAT for this container. Valid values: true, false. NOTE: Please see notes
	// Enable or disable Source NAT feature in 'single_ip' mode for this container.
	// +kubebuilder:validation:Optional
	SingleIPSnat *bool `json:"singleIpSnat,omitempty" tf:"single_ip_snat,omitempty"`

	// Price for spot instance. NOT supported for production deployment.
	// Price for spot instance. NOT supported for production deployment.
	// +kubebuilder:validation:Optional
	SpotPrice *string `json:"spotPrice,omitempty" tf:"spot_price,omitempty"`

	// A VPC Network address range selected from one of the available network ranges. Example: "172.31.0.0/20". NOTE: If using
	// Public Subnet Name.
	// +kubebuilder:validation:Required
	Subnet *string `json:"subnet" tf:"subnet,omitempty"`

	// Map of tags to assign to the gateway. Only available for AWS, Azure, AzureGov, AWSGov, AWSChina, AzureChina, AWS Top Secret and AWS Secret gateways. Allowed characters vary by cloud type but always include: letters, spaces, and numbers. AWS, AWSGov, AWSChina, AWS Top Secret and AWS Secret allow the use of any character.  Azure, AzureGov and AzureChina allows the following special characters: + - = . _ : @. Example: {"key1" = "value1", "key2" = "value2"}.
	// A map of tags to assign to the transit gateway.
	// +kubebuilder:validation:Optional
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// The IPsec tunnel down detection time for the Transit Gateway in seconds. Must be a number in the range [20-600]. The default value is set by the controller (60 seconds if nothing has been changed). NOTE: The controller UI has an option to set the tunnel detection time for all gateways. Available in provider R2.19+.
	// The IPSec tunnel down detection time for the transit gateway.
	// +kubebuilder:validation:Optional
	TunnelDetectionTime *float64 `json:"tunnelDetectionTime,omitempty" tf:"tunnel_detection_time,omitempty"`

	// VPC-ID/VNet-Name of cloud provider. Example: AWS/AWSGov/AWSChina: "vpc-abcd1234", GCP: "vpc-gcp-test~-~project-id", Azure/AzureGov/AzureChina: "vnet_name:rg_name:resource_guid", OCI: "ocid1.vcn.oc1.iad.aaaaaaaaba3pv6wkcr4jqae5f44n2b2m2yt2j6rx32uzr4h25vqstifsfdsq".
	// VPC-ID/VNet-Name of cloud provider.
	// +kubebuilder:validation:Required
	VPCID *string `json:"vpcId" tf:"vpc_id,omitempty"`

	// Region of cloud provider. Example: AWS: "us-east-1", GCP: "us-west2-a", Azure: "East US 2", OCI: "us-ashburn-1", AzureGov: "USGov Arizona", AWSGov: "us-gov-west-1", AWSChina: "cn-north-1", AzureChina: "China North", AWS Top Secret: "us-iso-east-1", AWS Secret: "us-isob-east-1".
	// Region of cloud provider.
	// +kubebuilder:validation:Required
	VPCReg *string `json:"vpcReg" tf:"vpc_reg,omitempty"`

	// Availability Zone. Only available Azure (8), Azure GOV (32) and Azure CHINA (2048). Must be in the form 'az-n', for example, 'az-2'. Available in provider version R2.17+.
	// Availability Zone. Only available for Azure (8), Azure GOV (32) and Azure CHINA (2048). Must be in the form 'az-n', for example, 'az-2'.
	// +kubebuilder:validation:Optional
	Zone *string `json:"zone,omitempty" tf:"zone,omitempty"`
}

func (*GatewayParameters) DeepCopy

func (in *GatewayParameters) DeepCopy() *GatewayParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GatewayParameters.

func (*GatewayParameters) DeepCopyInto

func (in *GatewayParameters) DeepCopyInto(out *GatewayParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GatewayPeering

type GatewayPeering struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              GatewayPeeringSpec   `json:"spec"`
	Status            GatewayPeeringStatus `json:"status,omitempty"`
}

GatewayPeering is the Schema for the GatewayPeerings API. Creates and manages Aviatrix transit gateway peerings +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:subresource:status +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,aviatrix}

func (*GatewayPeering) DeepCopy

func (in *GatewayPeering) DeepCopy() *GatewayPeering

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GatewayPeering.

func (*GatewayPeering) DeepCopyInto

func (in *GatewayPeering) DeepCopyInto(out *GatewayPeering)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*GatewayPeering) DeepCopyObject

func (in *GatewayPeering) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*GatewayPeering) GetCondition

func (mg *GatewayPeering) GetCondition(ct xpv1.ConditionType) xpv1.Condition

GetCondition of this GatewayPeering.

func (*GatewayPeering) GetConnectionDetailsMapping

func (tr *GatewayPeering) GetConnectionDetailsMapping() map[string]string

GetConnectionDetailsMapping for this GatewayPeering

func (*GatewayPeering) GetDeletionPolicy

func (mg *GatewayPeering) GetDeletionPolicy() xpv1.DeletionPolicy

GetDeletionPolicy of this GatewayPeering.

func (*GatewayPeering) GetID

func (tr *GatewayPeering) GetID() string

GetID returns ID of underlying Terraform resource of this GatewayPeering

func (*GatewayPeering) GetObservation

func (tr *GatewayPeering) GetObservation() (map[string]any, error)

GetObservation of this GatewayPeering

func (*GatewayPeering) GetParameters

func (tr *GatewayPeering) GetParameters() (map[string]any, error)

GetParameters of this GatewayPeering

func (*GatewayPeering) GetProviderConfigReference

func (mg *GatewayPeering) GetProviderConfigReference() *xpv1.Reference

GetProviderConfigReference of this GatewayPeering.

func (*GatewayPeering) GetProviderReference

func (mg *GatewayPeering) GetProviderReference() *xpv1.Reference

GetProviderReference of this GatewayPeering. Deprecated: Use GetProviderConfigReference.

func (*GatewayPeering) GetPublishConnectionDetailsTo

func (mg *GatewayPeering) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo

GetPublishConnectionDetailsTo of this GatewayPeering.

func (*GatewayPeering) GetTerraformResourceType

func (mg *GatewayPeering) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this GatewayPeering

func (*GatewayPeering) GetTerraformSchemaVersion

func (tr *GatewayPeering) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*GatewayPeering) GetWriteConnectionSecretToReference

func (mg *GatewayPeering) GetWriteConnectionSecretToReference() *xpv1.SecretReference

GetWriteConnectionSecretToReference of this GatewayPeering.

func (*GatewayPeering) LateInitialize

func (tr *GatewayPeering) LateInitialize(attrs []byte) (bool, error)

LateInitialize this GatewayPeering using its observed tfState. returns True if there are any spec changes for the resource.

func (*GatewayPeering) SetConditions

func (mg *GatewayPeering) SetConditions(c ...xpv1.Condition)

SetConditions of this GatewayPeering.

func (*GatewayPeering) SetDeletionPolicy

func (mg *GatewayPeering) SetDeletionPolicy(r xpv1.DeletionPolicy)

SetDeletionPolicy of this GatewayPeering.

func (*GatewayPeering) SetObservation

func (tr *GatewayPeering) SetObservation(obs map[string]any) error

SetObservation for this GatewayPeering

func (*GatewayPeering) SetParameters

func (tr *GatewayPeering) SetParameters(params map[string]any) error

SetParameters for this GatewayPeering

func (*GatewayPeering) SetProviderConfigReference

func (mg *GatewayPeering) SetProviderConfigReference(r *xpv1.Reference)

SetProviderConfigReference of this GatewayPeering.

func (*GatewayPeering) SetProviderReference

func (mg *GatewayPeering) SetProviderReference(r *xpv1.Reference)

SetProviderReference of this GatewayPeering. Deprecated: Use SetProviderConfigReference.

func (*GatewayPeering) SetPublishConnectionDetailsTo

func (mg *GatewayPeering) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)

SetPublishConnectionDetailsTo of this GatewayPeering.

func (*GatewayPeering) SetWriteConnectionSecretToReference

func (mg *GatewayPeering) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)

SetWriteConnectionSecretToReference of this GatewayPeering.

type GatewayPeeringList

type GatewayPeeringList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []GatewayPeering `json:"items"`
}

GatewayPeeringList contains a list of GatewayPeerings

func (*GatewayPeeringList) DeepCopy

func (in *GatewayPeeringList) DeepCopy() *GatewayPeeringList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GatewayPeeringList.

func (*GatewayPeeringList) DeepCopyInto

func (in *GatewayPeeringList) DeepCopyInto(out *GatewayPeeringList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*GatewayPeeringList) DeepCopyObject

func (in *GatewayPeeringList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*GatewayPeeringList) GetItems

func (l *GatewayPeeringList) GetItems() []resource.Managed

GetItems of this GatewayPeeringList.

type GatewayPeeringObservation

type GatewayPeeringObservation struct {
	ID *string `json:"id,omitempty" tf:"id,omitempty"`
}

func (*GatewayPeeringObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GatewayPeeringObservation.

func (*GatewayPeeringObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GatewayPeeringParameters

type GatewayPeeringParameters struct {

	// Advanced option. Enable Insane Mode Encryption over Internet. Transit gateways must be in Insane Mode. Currently, only inter-cloud connections between AWS and Azure are supported. Required with valid tunnel_count. Conflicts with enable_peering_over_private_network and enable_single_tunnel_mode. Type: Boolean. Default: false. Available as of provider version R2.19+.
	// (Optional) Advanced option. Enable Insane Mode Encryption over Internet. Transit gateways must be in Insane Mode. Currently, only inter-cloud connections between AWS and Azure are supported. Required with valid `tunnel_count`. Conflicts with `enable_peering_over_private_network` and `enable_single_tunnel_mode`. Type: Boolean. Default: false. Available as of provider version R2.19+.
	// +kubebuilder:validation:Optional
	EnableInsaneModeEncryptionOverInternet *bool `json:"enableInsaneModeEncryptionOverInternet,omitempty" tf:"enable_insane_mode_encryption_over_internet,omitempty"`

	// Indicates whether the maximum amount of HPE tunnels will be created. Only valid when the two transit gateways are each launched in Insane Mode and in the same cloud type. Default value: true. Available as of provider version R2.22.2+.
	// Indicates whether the maximum amount of HPE tunnels will be created. Only valid when the two transit gateways are each launched in Insane Mode and in the same cloud type. Available as of provider version R2.22.2+.
	// +kubebuilder:validation:Optional
	EnableMaxPerformance *bool `json:"enableMaxPerformance,omitempty" tf:"enable_max_performance,omitempty"`

	// Advanced option. Enable peering over private network. Only appears and applies to when the two Multi-cloud Transit Gateways are each launched in Insane Mode and in a different cloud type. Conflicts with enable_insane_mode_encryption_over_internet and tunnel_count. Type: Boolean. Default: false. Available in provider version R2.17.1+.
	// (Optional) Advanced option. Enable peering over private network. Only appears and applies to when the two Multi-cloud Transit Gateways are each launched in Insane Mode and in a different cloud type. Conflicts with `enable_insane_mode_encryption_over_internet` and `tunnel_count`. Type: Boolean. Default: false. Available in provider version R2.17.1+
	// +kubebuilder:validation:Optional
	EnablePeeringOverPrivateNetwork *bool `json:"enablePeeringOverPrivateNetwork,omitempty" tf:"enable_peering_over_private_network,omitempty"`

	// Advanced option. Enable peering with Single-Tunnel mode. Only appears and applies to when the two Multi-cloud Transit Gateways are each launched in Insane Mode and in a different cloud type. Required with enable_peering_over_private_network. Conflicts with enable_insane_mode_encryption_over_internet and tunnel_count. Type: Boolean. Default: false. Available as of provider version R2.18+.
	// (Optional) Advanced option. Enable peering with Single-Tunnel mode. Only appears and applies to when the two Multi-cloud Transit Gateways are each launched in Insane Mode and in a different cloud type. Required with `enable_peering_over_private_network`. Conflicts with `enable_insane_mode_encryption_over_internet` and `tunnel_count`. Type: Boolean. Default: false. Available as of provider version R2.18+.
	// +kubebuilder:validation:Optional
	EnableSingleTunnelMode *bool `json:"enableSingleTunnelMode,omitempty" tf:"enable_single_tunnel_mode,omitempty"`

	// List of excluded network CIDRs for the first transit gateway.
	// List of excluded network CIDRs for the first transit gateway.
	// +kubebuilder:validation:Optional
	Gateway1ExcludedNetworkCidrs []*string `json:"gateway1ExcludedNetworkCidrs,omitempty" tf:"gateway1_excluded_network_cidrs,omitempty"`

	// List of excluded TGW connections for the first transit gateway.
	// List of excluded TGW connections for the first transit gateway.
	// +kubebuilder:validation:Optional
	Gateway1ExcludedTgwConnections []*string `json:"gateway1ExcludedTgwConnections,omitempty" tf:"gateway1_excluded_tgw_connections,omitempty"`

	// List of excluded network CIDRs for the second transit gateway.
	// List of excluded network CIDRs for the second transit gateway.
	// +kubebuilder:validation:Optional
	Gateway2ExcludedNetworkCidrs []*string `json:"gateway2ExcludedNetworkCidrs,omitempty" tf:"gateway2_excluded_network_cidrs,omitempty"`

	// List of excluded TGW connections for the second transit gateway.
	// List of excluded TGW connections for the second transit gateway.
	// +kubebuilder:validation:Optional
	Gateway2ExcludedTgwConnections []*string `json:"gateway2ExcludedTgwConnections,omitempty" tf:"gateway2_excluded_tgw_connections,omitempty"`

	// AS Path Prepend for BGP connection. Can only use the transit's own local AS number, repeated up to 25 times. Applies on transit_gateway_name1. Available in provider version R2.17.2+.
	// AS Path Prepend customized by specifying AS PATH for a BGP connection. Applies on transit_gateway_name1.
	// +kubebuilder:validation:Optional
	PrependAsPath1 []*string `json:"prependAsPath1,omitempty" tf:"prepend_as_path1,omitempty"`

	// AS Path Prepend for BGP connection. Can only use the transit's own local AS number, repeated up to 25 times. Applies on transit_gateway_name2. Available in provider version R2.17.2+.
	// AS Path Prepend customized by specifying AS PATH for a BGP connection. Applies on transit_gateway_name2.
	// +kubebuilder:validation:Optional
	PrependAsPath2 []*string `json:"prependAsPath2,omitempty" tf:"prepend_as_path2,omitempty"`

	// The first transit gateway name to make a peer pair.
	// The first transit gateway name to make a peer pair.
	// +kubebuilder:validation:Required
	TransitGatewayName1 *string `json:"transitGatewayName1" tf:"transit_gateway_name1,omitempty"`

	// The second transit gateway name to make a peer pair.
	// The second transit gateway name to make a peer pair.
	// +kubebuilder:validation:Required
	TransitGatewayName2 *string `json:"transitGatewayName2" tf:"transit_gateway_name2,omitempty"`

	// Advanced option. Number of public tunnels. Required with enable_insane_mode_encryption_over_internet. Conflicts with enable_peering_over_private_network and enable_single_tunnel_mode. Type: Integer. Valid Range: 2-20. Available as of provider version R2.19+.
	// (Optional) Advanced option. Number of public tunnels. Required with `enable_insane_mode_encryption_over_internet`. Conflicts with `enable_peering_over_private_network` and `enable_single_tunnel_mode`. Type: Integer. Valid Range: 2-20. Available as of provider version R2.19+.
	// +kubebuilder:validation:Optional
	TunnelCount *float64 `json:"tunnelCount,omitempty" tf:"tunnel_count,omitempty"`
}

func (*GatewayPeeringParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GatewayPeeringParameters.

func (*GatewayPeeringParameters) DeepCopyInto

func (in *GatewayPeeringParameters) DeepCopyInto(out *GatewayPeeringParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GatewayPeeringSpec

type GatewayPeeringSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     GatewayPeeringParameters `json:"forProvider"`
}

GatewayPeeringSpec defines the desired state of GatewayPeering

func (*GatewayPeeringSpec) DeepCopy

func (in *GatewayPeeringSpec) DeepCopy() *GatewayPeeringSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GatewayPeeringSpec.

func (*GatewayPeeringSpec) DeepCopyInto

func (in *GatewayPeeringSpec) DeepCopyInto(out *GatewayPeeringSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GatewayPeeringStatus

type GatewayPeeringStatus struct {
	v1.ResourceStatus `json:",inline"`
	AtProvider        GatewayPeeringObservation `json:"atProvider,omitempty"`
}

GatewayPeeringStatus defines the observed state of GatewayPeering.

func (*GatewayPeeringStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GatewayPeeringStatus.

func (*GatewayPeeringStatus) DeepCopyInto

func (in *GatewayPeeringStatus) DeepCopyInto(out *GatewayPeeringStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GatewaySpec

type GatewaySpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     GatewayParameters `json:"forProvider"`
}

GatewaySpec defines the desired state of Gateway

func (*GatewaySpec) DeepCopy

func (in *GatewaySpec) DeepCopy() *GatewaySpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GatewaySpec.

func (*GatewaySpec) DeepCopyInto

func (in *GatewaySpec) DeepCopyInto(out *GatewaySpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GatewayStatus

type GatewayStatus struct {
	v1.ResourceStatus `json:",inline"`
	AtProvider        GatewayObservation `json:"atProvider,omitempty"`
}

GatewayStatus defines the observed state of Gateway.

func (*GatewayStatus) DeepCopy

func (in *GatewayStatus) DeepCopy() *GatewayStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GatewayStatus.

func (*GatewayStatus) DeepCopyInto

func (in *GatewayStatus) DeepCopyInto(out *GatewayStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type HaBGPLanInterfacesObservation

type HaBGPLanInterfacesObservation struct {
}

func (*HaBGPLanInterfacesObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HaBGPLanInterfacesObservation.

func (*HaBGPLanInterfacesObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type HaBGPLanInterfacesParameters

type HaBGPLanInterfacesParameters struct {

	// A VPC Network address range selected from one of the available network ranges. Example: "172.31.0.0/20". NOTE: If using
	// Subnet Info.
	// +kubebuilder:validation:Required
	Subnet *string `json:"subnet" tf:"subnet,omitempty"`

	// VPC-ID/VNet-Name of cloud provider. Example: AWS/AWSGov/AWSChina: "vpc-abcd1234", GCP: "vpc-gcp-test~-~project-id", Azure/AzureGov/AzureChina: "vnet_name:rg_name:resource_guid", OCI: "ocid1.vcn.oc1.iad.aaaaaaaaba3pv6wkcr4jqae5f44n2b2m2yt2j6rx32uzr4h25vqstifsfdsq".
	// VPC-ID of GCP cloud provider.
	// +kubebuilder:validation:Required
	VPCID *string `json:"vpcId" tf:"vpc_id,omitempty"`
}

func (*HaBGPLanInterfacesParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HaBGPLanInterfacesParameters.

func (*HaBGPLanInterfacesParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

Jump to

Keyboard shortcuts

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