Documentation ¶
Overview ¶
v1alpha1 contains API types that extend the Crossplane API. +kubebuilder:object:generate=true +groupName=xnetworks.crossplane.giantswarm.io +versionName=v1alpha1
Index ¶
- Constants
- Variables
- type AvailabilityZone
- type Cidr
- type Discovery
- type DiscoveryList
- type DiscoverySpec
- type DiscoveryStatus
- type ManagedPrefixList
- type ManagedPrefixListEntry
- type ManagedPrefixListList
- type ManagedPrefixListParameters
- type ManagedPrefixListSpec
- type ManagedPrefixListStatus
- type ManagedPrefixListSubParameters
- type PeeredSubnetBuilder
- type PeeredSubnetSet
- type PeeredSubnets
- type PeeredVpcLookup
- type PeeredVpcNetwork
- type PeeredVpcNetworkList
- type PeeredVpcNetworkParameters
- type PeeredVpcNetworkSpec
- type PeeredVpcNetworkStatus
- type PeeredVpcTags
- type Peering
- type PeeringList
- type PeeringParameters
- type PeeringSpec
- type PeeringStatus
- type PrefixList
- type RAM
- type RouteTableId
- type ShortAz
- type SubnetId
- type SubnetSet
- type SubnetSetList
- type SubnetSetParameters
- type SubnetSetSpec
- type SubnetSetStatus
- type TagSet
- type TgwPeerWrapper
- type TgwVpcDetailsWrapper
- type TgwWrappedVpcWithProviderConfig
- type TransitGateway
- type TransitGatewayList
- type TransitGatewayNamedVpc
- type TransitGatewayParameters
- type TransitGatewayPeer
- type TransitGatewaySpec
- type TransitGatewayStatus
- type TransitGatewayVpc
- type TransitGatewayVpcWithProviderConfig
- type TransitGatewayWrapper
- type VpcDetails
- type VpcId
- type VpcPeer
- type VpcPeering
- type WrappedVpcPeer
Constants ¶
const ( XRDGroup = "xnetworks.crossplane.giantswarm.io" XRDVersion = "v1alpha1" )
Package type metadata.
Variables ¶
var ( DiscoveryKind = "Discovery" DiscoveryGroupKind = schema.GroupKind{ Group: XRDGroup, Kind: DiscoveryKind, }.String() DiscoveryKindAPIVersion = DiscoveryKind + "." + GroupVersion.String() DiscoveryGroupVersionKind = GroupVersion.WithKind(DiscoveryKind) )
Repository type metadata.
var ( // GroupVersion is the API Group Version used to register the objects GroupVersion = schema.GroupVersion{Group: XRDGroup, Version: XRDVersion} // SchemeBuilder is used to add go types to the GroupVersionKind scheme SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion} // AddToScheme adds the types in this group-version to the given scheme. AddToScheme = SchemeBuilder.AddToScheme )
var ( ManagedPrefixListKind = "ManagedPrefixList" ManagedPrefixListGroupKind = schema.GroupKind{ Group: XRDGroup, Kind: ManagedPrefixListKind, }.String() ManagedPrefixListKindAPIVersion = ManagedPrefixListKind + "." + GroupVersion.String() ManagedPrefixListGroupVersionKind = GroupVersion.WithKind(ManagedPrefixListKind) )
Repository type metadata.
var ( PeeredVpcNetworkKind = "PeeredVpcNetwork" PeeredVpcNetworkGroupKind = schema.GroupKind{ Group: XRDGroup, Kind: PeeredVpcNetworkKind, }.String() PeeredVpcNetworkKindAPIVersion = PeeredVpcNetworkKind + "." + GroupVersion.String() PeeredVpcNetworkGroupVersionKind = GroupVersion.WithKind(PeeredVpcNetworkKind) )
Repository type metadata.
var ( PeeringKind = "Peering" PeeringGroupKind = schema.GroupKind{ Group: XRDGroup, Kind: PeeringKind, }.String() PeeringKindAPIVersion = PeeringKind + "." + GroupVersion.String() PeeringGroupVersionKind = GroupVersion.WithKind(PeeringKind) )
Repository type metadata.
var ( SubnetSetKind = "SubnetSet" SubnetSetGroupKind = schema.GroupKind{Group: XRDGroup, Kind: SubnetSetKind}.String() SubnetSetKindAPIVersion = SubnetSetKind + "." + GroupVersion.String() SubnetSetGroupVersionKind = GroupVersion.WithKind(SubnetSetKind) )
Repository type metadata.
var ( TransitGatewayKind = "TransitGateway" TransitGatewayGroupKind = schema.GroupKind{ Group: XRDGroup, Kind: TransitGatewayKind, }.String() TransitGatewayKindAPIVersion = TransitGatewayKind + "." + GroupVersion.String() TransitGatewayGroupVersionKind = GroupVersion.WithKind(TransitGatewayKind) )
Repository type metadata.
Functions ¶
This section is empty.
Types ¶
type AvailabilityZone ¶
type AvailabilityZone string
AvailabilityZone is a string type that represents the availability zone for a subnet.
+kubebuilder:validation:Type=string +kubebuilder:validation:Pattern="^[a-z]{2}-[a-z]+-[0-9]+[a-z]$"
type Cidr ¶
type Cidr string
Cidr is a string type that represents a CIDR block.
+kubebuilder:validation:Pattern="^([0-9]{1,3}.){3}[0-9]{1,3}/[0-9]{1,2}$" +kubebuilder:validation:Type=string
type Discovery ¶
type Discovery struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec DiscoverySpec `json:"spec"` Status DiscoveryStatus `json:"status,omitempty"` }
+kubebuilder:object:root=true +kubebuilder:storageversion +genclient +genclient:nonNamespaced
+kubebuilder:resource:scope=Cluster,categories=crossplane;network +kubebuilder:subresource:status +kubebuilder:resource:shortName=dscvr +crossbuilder:generate:xrd:claimNames:kind=DiscoveryClaim,plural=discoveryclaims +crossbuilder:generate:xrd:defaultCompositionRef:name=network-discovery +crossbuilder:generate:xrd:enforcedCompositionRef:name=network-discovery
func (*Discovery) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Discovery.
func (*Discovery) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Discovery) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type DiscoveryList ¶
type DiscoveryList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []Discovery `json:"items"` }
+kubebuilder:object:root=true
func (*DiscoveryList) DeepCopy ¶
func (in *DiscoveryList) DeepCopy() *DiscoveryList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiscoveryList.
func (*DiscoveryList) DeepCopyInto ¶
func (in *DiscoveryList) DeepCopyInto(out *DiscoveryList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DiscoveryList) DeepCopyObject ¶
func (in *DiscoveryList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type DiscoverySpec ¶
type DiscoverySpec struct { xpv1.ResourceSpec `json:",inline"` // Whether this discovery is enabled. // // +optional // +default=true Enabled bool `json:"enabled"` // A tag that can be referenced to group subnets and route tables // into subnetsets. // // The tag must have an integer value // // +optional // +default="giantswarm.io/subnetset" GroupBy string `json:"groupBy"` // The name of the provider config to use for creating kubernetes resources. // // +required KubernetesProviderConfigRef xpv1.Reference `json:"kubernetesProviderConfigRef"` // The name of the provider config to use for looking up remote VPCs. // // +required ProviderType string `json:"providerType"` // The default region to look in. // // +required Region string `json:"region"` // Details about the remove VPCs to look up. // // +required RemoteVpcs []VpcPeer `json:"remoteVpcs"` }
func (*DiscoverySpec) DeepCopy ¶
func (in *DiscoverySpec) DeepCopy() *DiscoverySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiscoverySpec.
func (*DiscoverySpec) DeepCopyInto ¶
func (in *DiscoverySpec) DeepCopyInto(out *DiscoverySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DiscoveryStatus ¶
type DiscoveryStatus struct { xpv1.ConditionedStatus `json:",inline"` // The VPCs that have been discovered. // // +optional Vpcs map[string]nd.AwsVpc `json:"vpcs,omitempty"` }
func (*DiscoveryStatus) DeepCopy ¶
func (in *DiscoveryStatus) DeepCopy() *DiscoveryStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiscoveryStatus.
func (*DiscoveryStatus) DeepCopyInto ¶
func (in *DiscoveryStatus) DeepCopyInto(out *DiscoveryStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ManagedPrefixList ¶
type ManagedPrefixList struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec ManagedPrefixListSpec `json:"spec"` Status ManagedPrefixListStatus `json:"status,omitempty"` }
+kubebuilder:object:root=true +kubebuilder:storageversion +genclient +genclient:nonNamespaced
+kubebuilder:resource:scope=Cluster,categories=crossplane +kubebuilder:subresource:status +kubebuilder:resource:shortName=mpl +crossbuilder:generate:xrd:claimNames:kind=ManagedPrefixListClaim,plural=managedprefixlistclaims +crossbuilder:generate:xrd:defaultCompositionRef:name=managed-prefix-list +crossbuilder:generate:xrd:enforcedCompositionRef:name=managed-prefix-list
func (*ManagedPrefixList) DeepCopy ¶
func (in *ManagedPrefixList) DeepCopy() *ManagedPrefixList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedPrefixList.
func (*ManagedPrefixList) DeepCopyInto ¶
func (in *ManagedPrefixList) DeepCopyInto(out *ManagedPrefixList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ManagedPrefixList) DeepCopyObject ¶
func (in *ManagedPrefixList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ManagedPrefixListEntry ¶
type ManagedPrefixListEntry struct { // The CIDR block for the prefix list entry. // // +optional Cidr *Cidr `json:"cidr,omitempty"` // The description for the prefix list entry. // // +optional Description *string `json:"description,omitempty"` }
func (*ManagedPrefixListEntry) DeepCopy ¶
func (in *ManagedPrefixListEntry) DeepCopy() *ManagedPrefixListEntry
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedPrefixListEntry.
func (*ManagedPrefixListEntry) DeepCopyInto ¶
func (in *ManagedPrefixListEntry) DeepCopyInto(out *ManagedPrefixListEntry)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ManagedPrefixListList ¶
type ManagedPrefixListList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []ManagedPrefixList `json:"items"` }
+kubebuilder:object:root=true
func (*ManagedPrefixListList) DeepCopy ¶
func (in *ManagedPrefixListList) DeepCopy() *ManagedPrefixListList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedPrefixListList.
func (*ManagedPrefixListList) DeepCopyInto ¶
func (in *ManagedPrefixListList) DeepCopyInto(out *ManagedPrefixListList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ManagedPrefixListList) DeepCopyObject ¶
func (in *ManagedPrefixListList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ManagedPrefixListParameters ¶
type ManagedPrefixListParameters struct { ManagedPrefixListSubParameters `json:",inline"` // The name of the prefix list. // // +required Name *string `json:"name,omitempty"` // The region for the prefix list. // // +required Region *string `json:"region,omitempty"` // The tags for the prefix list. // // +optional // +kubebuilder:validation:MaxProperties=50 Tags map[string]string `json:"tags,omitempty"` }
func (*ManagedPrefixListParameters) DeepCopy ¶
func (in *ManagedPrefixListParameters) DeepCopy() *ManagedPrefixListParameters
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedPrefixListParameters.
func (*ManagedPrefixListParameters) DeepCopyInto ¶
func (in *ManagedPrefixListParameters) DeepCopyInto(out *ManagedPrefixListParameters)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ManagedPrefixListSpec ¶
type ManagedPrefixListSpec struct { xpv1.ResourceSpec `json:",inline"` ManagedPrefixListParameters `json:",inline"` }
func (*ManagedPrefixListSpec) DeepCopy ¶
func (in *ManagedPrefixListSpec) DeepCopy() *ManagedPrefixListSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedPrefixListSpec.
func (*ManagedPrefixListSpec) DeepCopyInto ¶
func (in *ManagedPrefixListSpec) DeepCopyInto(out *ManagedPrefixListSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ManagedPrefixListStatus ¶
type ManagedPrefixListStatus struct { xpv1.ConditionedStatus `json:",inline"` // The ARN of the prefix list. // // +optional Arn *string `json:"arn,omitempty"` // The ID of the prefix list. // // +optional ID *string `json:"id,omitempty"` // Is the prefix list ready // // +optional Ready bool `json:"ready,omitempty"` }
func (*ManagedPrefixListStatus) DeepCopy ¶
func (in *ManagedPrefixListStatus) DeepCopy() *ManagedPrefixListStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedPrefixListStatus.
func (*ManagedPrefixListStatus) DeepCopyInto ¶
func (in *ManagedPrefixListStatus) DeepCopyInto(out *ManagedPrefixListStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ManagedPrefixListSubParameters ¶
type ManagedPrefixListSubParameters struct { // The address family (ipv4 or ipv6) for the prefix list. // // +optional // +kubebuilder:validation:Enum=IPv4;IPv6 // +kubebuilder:default=IPv4 AddressFamily *string `json:"addressFamily,omitempty"` // The prefix list entries. // // +optional Entries []ManagedPrefixListEntry `json:"entries,omitempty"` // The maximum number of entries for the prefix list. // // +optional MaxEntries *int64 `json:"maxEntries,omitempty"` }
ManagedPrefixListSubParameters
func (*ManagedPrefixListSubParameters) DeepCopy ¶
func (in *ManagedPrefixListSubParameters) DeepCopy() *ManagedPrefixListSubParameters
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedPrefixListSubParameters.
func (*ManagedPrefixListSubParameters) DeepCopyInto ¶
func (in *ManagedPrefixListSubParameters) DeepCopyInto(out *ManagedPrefixListSubParameters)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PeeredSubnetBuilder ¶
type PeeredSubnetBuilder struct { // A list of cluster names that may add load balancers in the tagged subnet // set. Each entry will result in the tag // `kubernetes.io/cluster/$CLUSTER_NAME shared` being added to the subnets // in this set. // // See [public.lbSetIndex](#specsubnetsetscidrspubliclbsetindex) and // [private.lbSetIndex](#specsubnetsetscidrsprivatelbsetindex) for deciding // which subnetset gets these tags. // // +optional // +listType=atomic ClusterNames []string `json:"clusterNames"` // Count is the number of subnet sets to create with this mask. // // > [!WARNING] // > Whilst this field is not `immutable`, care should be taken to never // > decrease its value once set as this will result in the destruction of // > subnet sets which may fail if there are attached resources. // // +required // +kubebuilder:validation:XValidation:rule="self >= oldSelf",message="count cannot be decreased" Count int `json:"count"` // Identifies which subnet set to use for public EKS load balancers. Subnets // in this set will recieve either the `kubernetes.io/role/elb: 1` or // `kubernetes.io/role/internal-elb: 1` tag depending on if these are public // or private subnets. // // If this is not set, or set to -1 (the default value), no subnets will be // tagged as load balancer subnets otherwise it should be the index of the // subnet set to tag, starting from index 0. // // +optional // +default=-1 LoadBalancerIndex int `json:"lbSetIndex"` // This should be a valid CIDR or CIDR suffix (including the prefix `/`) to // use as a mask for the subnet. // // To prevent subnets being destroyed and recreated *This field is immutable* // // +required // +kubebuilder:validation:XValidation:rule="self == oldSelf",message="mask is immutable" Mask string `json:"mask"` // Offset is the number of bits to offset the subnet mask by // // +optional // +default=0 Offset int `json:"offset"` }
PeeredSubnetBuilder defines the parameters for creating a set of subnets with the same mask.
The mask is the destination CIDR range to use and the count is the number of subnets to create with this mask. It is your responsibility to ensure that the VPC Cidr to be used as a prefix is large enough to encompass all the subnets created, if not an error will be returned on the staus of the XR
The offset is the number of bits to offset the subnet mask by. This is useful when you may want to create only private subnets, leaving public to be created at a later time, or just want to control how the subnets are created. If no offset is specified, the subnets will be created from the start of the cidr range
func (*PeeredSubnetBuilder) DeepCopy ¶
func (in *PeeredSubnetBuilder) DeepCopy() *PeeredSubnetBuilder
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PeeredSubnetBuilder.
func (*PeeredSubnetBuilder) DeepCopyInto ¶
func (in *PeeredSubnetBuilder) DeepCopyInto(out *PeeredSubnetBuilder)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PeeredSubnetSet ¶
type PeeredSubnetSet struct { // The network mask to use when provisioning from IPAM // // +optional // +minimum: 16 // +maximum: 28 Netmask int `json:"netmask,omitempty"` // deliberatly does not have a default // A VPC CIDR or Additional CIDR to use for the VPC. If this is the first // entry in the list, it will be used as the default VPC CIDR, otherwise it // will be assigned as an additional CIDR to the VPC. // // +required // +kubebuilder:validation:XValidation:rule="self == oldSelf",message="Cidr is immutable" Prefix Cidr `json:"prefix"` // Details on how to build the public subnets. // // Public subnets are subnets with a route to the internet gateway. // // > [!IMPORTANT] // > If this is the default VPC CIDR, i.e. the first entry in the list, the // > public subnets will be used for the NAT gateways. Setting this value to // > 0 on the default VPC CIDR may result in the creation of fully private // > networks with no route to the outside world. // // +required Public PeeredSubnetBuilder `json:"public"` // Private is the number of private subnets to create in this set // // +required Private PeeredSubnetBuilder `json:"private"` }
PeeredSubnetSet defines the parameters for creating a set of subnets with the same mask.
Either one of Netmask or Prefix must be set.
func (*PeeredSubnetSet) DeepCopy ¶
func (in *PeeredSubnetSet) DeepCopy() *PeeredSubnetSet
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PeeredSubnetSet.
func (*PeeredSubnetSet) DeepCopyInto ¶
func (in *PeeredSubnetSet) DeepCopyInto(out *PeeredSubnetSet)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PeeredSubnets ¶
type PeeredSubnets struct { // A list of PeeredSubnetSets to create in the VPC // // Each VPC Cidr may be split into *n* public and *n* private subnets as long // as there is enough room on the cidr for it to be split at that level. Any // overflow will cause the composition to fail and this will be reflected in // the status of the XR. // // > [!IMPORTANT] // > There must be at least 1 entry in this set which will be used as the VPC // > default CIDR range, and you may define a maximum of 4 additional entries. // // +required // +kubebuilder:validation:MinItems=1 // +kubebuilder:validation:MaxItems=5 // +listType=map // +listMapKey=prefix Cidrs []PeeredSubnetSet `json:"cidrs"` // Defines the function to use to calculate the CIDR blocks for thesubnets. // // The default value is "multiprefixloop" which will split multiple CIDRs // into equal parts based on the number of bits provided. // // `multiprefixloop` is the only function being made available as part of // this XRD and as it's defaulted it can be hidden from the user. The // function input expects a path though so this has to exist but isn't // expected to be defined on the claim. // // +optional // +kubebuilder:validation:Type=string // +kubebuilder:validation:Enum=multiprefixloop // +kubebuilder:default=multiprefixloop Function string `json:"function"` // If this composition is to use IPAM to calculate the CIDR blocks for the // VPC. // // +optional // +default=false IPAM bool `json:"ipam"` // The name of the IPAM pool to use. // // Only relevant if IPAM is enabled and there are IPAM pools available in // the region. // // +optional PoolName string `json:"poolName"` }
PeeredSubnets defines the parameters for creating a set of subnets with the same mask.
If IPAM is enabled, you must provide an IPAM pool name to use for the VPC Cidr blocks.
func (*PeeredSubnets) DeepCopy ¶
func (in *PeeredSubnets) DeepCopy() *PeeredSubnets
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PeeredSubnets.
func (*PeeredSubnets) DeepCopyInto ¶
func (in *PeeredSubnets) DeepCopyInto(out *PeeredSubnets)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PeeredVpcLookup ¶
type PeeredVpcLookup struct { // If network discovery is enabled // // +optional // +default=true Enabled bool `json:"enabled"` // GroupBy is the key to group the remote VPCs by // // +optional GroupBy string `json:"groupBy"` // RemoteVpcs is a list of VPCs to lookup // // +optional RemoteVpcs []VpcPeer `json:"remoteVpcs"` }
func (*PeeredVpcLookup) DeepCopy ¶
func (in *PeeredVpcLookup) DeepCopy() *PeeredVpcLookup
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PeeredVpcLookup.
func (*PeeredVpcLookup) DeepCopyInto ¶
func (in *PeeredVpcLookup) DeepCopyInto(out *PeeredVpcLookup)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PeeredVpcNetwork ¶
type PeeredVpcNetwork struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec PeeredVpcNetworkSpec `json:"spec"` Status PeeredVpcNetworkStatus `json:"status,omitempty"` }
PeeredVpcNetwork defines the desired state of a VPC.
This composition can be used to create an *n-dimensional* VPC with optional peering to other VPCs.
A claim made against this composition will result in the creation of a VPC with a number of subnets grouped into sets across *n* availability zones.
If VPC Peering is enabled, the VPC will be peered with the VPCs specified in the claim under the `spec.peering.remoteVpcs` field.
Up to 5 CIDR ranges can be specified and these are done via the `spec.subnetsets.cidrs` field, where the first entry in the list is the default VPC CIDR and all subsequent entries are attached as additional VPC CIDRs.
+kubebuilder:object:root=true +kubebuilder:storageversion +genclient +genclient:nonNamespaced
+kubebuilder:resource:scope=Cluster,categories=crossplane +kubebuilder:subresource:status +kubebuilder:printcolumn:name="Region",type=string,JSONPath=`.spec.region` +kubebuilder:printcolumn:name="VpcID",type=string,JSONPath=`.status.vpcs.self.id` +kubebuilder:resource:shortName=pvpc +crossbuilder:generate:xrd:claimNames:kind=PeeredVpcNetworkClaim,plural=peeredvpcnetworkclaims +crossbuilder:generate:xrd:defaultCompositionRef:name=peered-vpc-network +crossbuilder:generate:xrd:enforcedCompositionRef:name=peered-vpc-network
func (*PeeredVpcNetwork) DeepCopy ¶
func (in *PeeredVpcNetwork) DeepCopy() *PeeredVpcNetwork
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PeeredVpcNetwork.
func (*PeeredVpcNetwork) DeepCopyInto ¶
func (in *PeeredVpcNetwork) DeepCopyInto(out *PeeredVpcNetwork)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PeeredVpcNetwork) DeepCopyObject ¶
func (in *PeeredVpcNetwork) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type PeeredVpcNetworkList ¶
type PeeredVpcNetworkList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []PeeredVpcNetwork `json:"items"` }
+kubebuilder:object:root=true
func (*PeeredVpcNetworkList) DeepCopy ¶
func (in *PeeredVpcNetworkList) DeepCopy() *PeeredVpcNetworkList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PeeredVpcNetworkList.
func (*PeeredVpcNetworkList) DeepCopyInto ¶
func (in *PeeredVpcNetworkList) DeepCopyInto(out *PeeredVpcNetworkList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PeeredVpcNetworkList) DeepCopyObject ¶
func (in *PeeredVpcNetworkList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type PeeredVpcNetworkParameters ¶
type PeeredVpcNetworkParameters struct { // PeeredSubnets defines how many public and private subnet sets to create. // // +required PeeredSubnets PeeredSubnets `json:"subnetsets"` // Resource Access Management (RAM) // // +optional RAM RAM `json:"ram,omitempty"` // Tags is a map of additional tags to assign to the VPC. // // +optional // +structType=granular Tags PeeredVpcTags `json:"tags,omitempty"` // Peering is the VPC to peer with. // // +required Peering VpcPeering `json:"peering"` // TransitGateway is the transit gateway to attach to the VPC. // // +optional TransitGateway TransitGatewayWrapper `json:"transitGateway"` }
PeeredVpcNetworkParameters defines the parameters for creating a VPC with the option of peered subnets.
func (*PeeredVpcNetworkParameters) DeepCopy ¶
func (in *PeeredVpcNetworkParameters) DeepCopy() *PeeredVpcNetworkParameters
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PeeredVpcNetworkParameters.
func (*PeeredVpcNetworkParameters) DeepCopyInto ¶
func (in *PeeredVpcNetworkParameters) DeepCopyInto(out *PeeredVpcNetworkParameters)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PeeredVpcNetworkSpec ¶
type PeeredVpcNetworkSpec struct { xpv1.ResourceSpec `json:",inline"` // AvailabilityZones is a list of availability zones in the region to be // used for this VPC. This should be a list of single character strings // // +required // +kubebuilder:validation:MinItems=3 // +kubebuilder:validation:MaxItems=3 AvailabilityZones []ShortAz `json:"availabilityZones"` // PeeredVpcNetworkParameters defines the parameters for creating a VPC with // the option of peered subnets. // // +required PeeredVpcNetworkParameters `json:",inline"` // Region is the region in which the VPC will be created. // // +required Region string `json:"region"` }
func (*PeeredVpcNetworkSpec) DeepCopy ¶
func (in *PeeredVpcNetworkSpec) DeepCopy() *PeeredVpcNetworkSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PeeredVpcNetworkSpec.
func (*PeeredVpcNetworkSpec) DeepCopyInto ¶
func (in *PeeredVpcNetworkSpec) DeepCopyInto(out *PeeredVpcNetworkSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PeeredVpcNetworkStatus ¶
type PeeredVpcNetworkStatus struct { xpv1.ConditionedStatus `json:",inline"` // Contains the CIDR blocks output by function-cidr // // +optional // +mapType=atomic CalculatedCidrs map[string][]string `json:"calculatedCidrs"` // Is the network ready // // +optional Ready bool `json:"ready"` // // +optional // +listType=atomic SharedSubnets []string `json:"sharedSubnets"` // Contains the subnet bits output by function-kcl-subnet-bits // // +listType=atomic // +optional SubnetBits []fncdr.MultiPrefix `json:"subnetBits"` // Details of VPCs to lookup in network discovery // // +optional VpcLookup PeeredVpcLookup `json:"vpcLookup"` // Vpcs contains details of both the peered VPCs and the current local VPC // The current VPC can be found at the `self` key // // +optional // +mapType=granular Vpcs map[string]nd.AwsVpc `json:"vpcs,omitempty"` }
func (*PeeredVpcNetworkStatus) DeepCopy ¶
func (in *PeeredVpcNetworkStatus) DeepCopy() *PeeredVpcNetworkStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PeeredVpcNetworkStatus.
func (*PeeredVpcNetworkStatus) DeepCopyInto ¶
func (in *PeeredVpcNetworkStatus) DeepCopyInto(out *PeeredVpcNetworkStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PeeredVpcTags ¶
type PeeredVpcTags struct { // common tags apoplied to all resources // // +optional // +mapType=granular Common map[string]string `json:"common,omitempty"` // Subnet tags to apply to all subnetsets // // +optional // +mapType=granular Subnet map[string]string `json:"subnet,omitempty"` // Cluster tags to apply subnets for autodiscovery of load balancers // // +optional // +mapType=granular Cluster map[string]string `json:"cluster,omitempty"` }
PeeredVpcTags defines the tags to apply to the VPC and subnets.
func (*PeeredVpcTags) DeepCopy ¶
func (in *PeeredVpcTags) DeepCopy() *PeeredVpcTags
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PeeredVpcTags.
func (*PeeredVpcTags) DeepCopyInto ¶
func (in *PeeredVpcTags) DeepCopyInto(out *PeeredVpcTags)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Peering ¶
type Peering struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec PeeringSpec `json:"spec"` Status PeeringStatus `json:"status,omitempty"` }
+kubebuilder:object:root=true +kubebuilder:storageversion +genclient +genclient:nonNamespaced
+kubebuilder:resource:scope=Cluster,categories=crossplane +kubebuilder:subresource:status +kubebuilder:resource:shortName=pcx +crossbuilder:generate:xrd:claimNames:kind=VpcPeeringClaim,plural=vpcpeeringclaims +crossbuilder:generate:xrd:defaultCompositionRef:name=vpcpeering +crossbuilder:generate:xrd:enforcedCompositionRef:name=vpcpeering
func (*Peering) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Peering.
func (*Peering) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Peering) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type PeeringList ¶
type PeeringList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []Peering `json:"items"` }
+kubebuilder:object:root=true
func (*PeeringList) DeepCopy ¶
func (in *PeeringList) DeepCopy() *PeeringList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PeeringList.
func (*PeeringList) DeepCopyInto ¶
func (in *PeeringList) DeepCopyInto(out *PeeringList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PeeringList) DeepCopyObject ¶
func (in *PeeringList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type PeeringParameters ¶
type PeeringParameters struct { // Determines if the VPC peering should be enabled // // +optional // +default=true Enabled bool `json:"enabled"` // Details of the local VPC LocalVpcDetails VpcDetails `json:"localVpcDetails"` // Details of the peer VPC PeerVpcDetails VpcDetails `json:"peerVpcDetails"` // Tags to apply to the VPC peering connection // // +optional Tags map[string]string `json:"tags,omitempty"` }
func (*PeeringParameters) DeepCopy ¶
func (in *PeeringParameters) DeepCopy() *PeeringParameters
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PeeringParameters.
func (*PeeringParameters) DeepCopyInto ¶
func (in *PeeringParameters) DeepCopyInto(out *PeeringParameters)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PeeringSpec ¶
type PeeringSpec struct { xpv1.ResourceSpec `json:",inline"` // Contains details about the VPC peering connection PeeringParameters `json:",inline"` }
func (*PeeringSpec) DeepCopy ¶
func (in *PeeringSpec) DeepCopy() *PeeringSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PeeringSpec.
func (*PeeringSpec) DeepCopyInto ¶
func (in *PeeringSpec) DeepCopyInto(out *PeeringSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PeeringStatus ¶
type PeeringStatus struct { xpv1.ConditionedStatus `json:",inline"` // The ARN of the VPC peering connection. // // +optional PeeringConnectionArn string `json:"peeringConnectionArn,omitempty"` // The ID of the VPC peering connection. // // +optional PeeringConnectionId string `json:"peeringConnectionId,omitempty"` // Is the peering connection ready // // +optional Ready bool `json:"ready,omitempty"` }
func (*PeeringStatus) DeepCopy ¶
func (in *PeeringStatus) DeepCopy() *PeeringStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PeeringStatus.
func (*PeeringStatus) DeepCopyInto ¶
func (in *PeeringStatus) DeepCopyInto(out *PeeringStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PrefixList ¶
type PrefixList struct { // If this is a blackhole route // // +optional // +default=false Blackhole bool `json:"blackhole"` // The ID of the prefix list. // // +optional Id string `json:"id"` // Outbound route // // This places it in the ManagedPrefixList attached // to the outbound route table // // +optional // +default=true Outbound bool `json:"outbound"` ManagedPrefixListSubParameters `json:",inline"` }
+
func (*PrefixList) DeepCopy ¶
func (in *PrefixList) DeepCopy() *PrefixList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PrefixList.
func (*PrefixList) DeepCopyInto ¶
func (in *PrefixList) DeepCopyInto(out *PrefixList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RAM ¶
type RAM struct { // Is RAM enabled // // +optional // +default=false Enabled bool `json:"enabled"` ram.RamParameters `json:",inline"` }
Resource Access Management (RAM)
func (*RAM) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RAM.
func (*RAM) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RouteTableId ¶
type RouteTableId string
RouteTableId is a string type that represents the unique identifier for a route table.
+kubebuilder:validation:Type=string +kubebuilder:validation:Pattern="^rtb-[a-z0-9]{8,17}$"
type ShortAz ¶
type ShortAz string
A single character representation of the short name of an availability zone. For example, "a" for "eu-west-1a".
+kubebuilder:validation:Type=string +kubebuilder:validation:Pattern="^[a-z]$"
type SubnetId ¶
type SubnetId string
SubnetId is a string type that represents the unique identifier for a subnet.
+kubebuilder:validation:Type=string +kubebuilder:validation:Pattern="^subnet-[a-z0-9]{8,17}$"
type SubnetSet ¶
type SubnetSet struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec SubnetSetSpec `json:"spec"` Status SubnetSetStatus `json:"status,omitempty"` }
+kubebuilder:object:root=true +kubebuilder:storageversion +genclient +genclient:nonNamespaced
+kubebuilder:resource:scope=Cluster,categories=crossplane +kubebuilder:subresource:status +kubebuilder:resource:shortName=sn +crossbuilder:generate:xrd:claimNames:kind=SubnetSetClaim,plural=subnetsetclaims +crossbuilder:generate:xrd:defaultCompositionRef:name=subnetset +crossbuilder:generate:xrd:enforcedCompositionRef:name=subnetset
func (*SubnetSet) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubnetSet.
func (*SubnetSet) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*SubnetSet) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type SubnetSetList ¶
type SubnetSetList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []SubnetSet `json:"items"` }
+kubebuilder:object:root=true
func (*SubnetSetList) DeepCopy ¶
func (in *SubnetSetList) DeepCopy() *SubnetSetList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubnetSetList.
func (*SubnetSetList) DeepCopyInto ¶
func (in *SubnetSetList) DeepCopyInto(out *SubnetSetList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*SubnetSetList) DeepCopyObject ¶
func (in *SubnetSetList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type SubnetSetParameters ¶
type SubnetSetParameters struct { // The index of the application that the subnet is being created for. // // This is used for complex applications that require multiple subnet groups // Normally leave this on the default. // // +optional // +default="" AppIndex string `json:"appIndex,omitempty"` // Region is the region you'd like the VPC to be created in. // // +immutable // +required // +kubebuilder:validation:Pattern="^[a-z]{2}-[a-z]+-[0-9]$" // +kubebuilder:validation:Required Region string `json:"region"` // Subnets is a map of availability zones and subnet cidr blocks. // // +required Subnets map[ShortAz]*Cidr `json:"subnets"` // Tags is a set of tags to apply to resources in the subnetset // // +optional // +structType=atomic Tags TagSet `json:"tags,omitempty"` // Type is the type of VPC Subnet to create. // // +optional // +kubebuilder:validation:Enum=public;private // +kubebuilder:default=public // +kubebuilder:validation:Required Type string `json:"type,omitempty"` // VpcId is the unique identifier for the VPC. // // +required // +kubebuilder:validation:XValidation:rule="self == oldSelf",message="vpcId is immutable" VpcId VpcId `json:"vpcId"` }
func (*SubnetSetParameters) DeepCopy ¶
func (in *SubnetSetParameters) DeepCopy() *SubnetSetParameters
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubnetSetParameters.
func (*SubnetSetParameters) DeepCopyInto ¶
func (in *SubnetSetParameters) DeepCopyInto(out *SubnetSetParameters)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SubnetSetSpec ¶
type SubnetSetSpec struct { xpv1.ResourceSpec `json:",inline"` SubnetSetParameters `json:",inline"` }
func (*SubnetSetSpec) DeepCopy ¶
func (in *SubnetSetSpec) DeepCopy() *SubnetSetSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubnetSetSpec.
func (*SubnetSetSpec) DeepCopyInto ¶
func (in *SubnetSetSpec) DeepCopyInto(out *SubnetSetSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SubnetSetStatus ¶
type SubnetSetStatus struct { xpv1.ConditionedStatus `json:",inline"` // VpcID is the unique identifier for the VPC. // // +optional VpcID VpcId `json:"vpcId,omitempty"` // Subnets is a map of subnets discovered by the composite. // // +optional // +structType=atomic Subnets map[AvailabilityZone]*SubnetId `json:"subnets,omitempty"` // Is the subnetset ready // // +optional Ready bool `json:"ready,omitempty"` // RouteTables is a map of route tables discovered by the composite. // // +optional // +structType=atomic RouteTables map[AvailabilityZone]*RouteTableId `json:"routeTables,omitempty"` }
func (*SubnetSetStatus) DeepCopy ¶
func (in *SubnetSetStatus) DeepCopy() *SubnetSetStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubnetSetStatus.
func (*SubnetSetStatus) DeepCopyInto ¶
func (in *SubnetSetStatus) DeepCopyInto(out *SubnetSetStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TagSet ¶
type TagSet struct { // A map of tags to apply to all resources in the subnetset. // // +optional // +mapType=atomic // +kubebuilder:validation:MaxProperties=50 All map[string]string `json:"all,omitempty"` // Subnet is a map of tags to apply only to the subnet resources // // +optional // +mapType=atomic // +kubebuilder:validation:MaxProperties=50 Subnet map[string]string `json:"subnet,omitempty"` }
TagSet is a set of tags to apply to resources in the subnetset.
func (*TagSet) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TagSet.
func (*TagSet) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TgwPeerWrapper ¶
type TgwPeerWrapper struct { TransitGatewayPeer `json:",inline"` // Name of the transit gateway to peer with // // +required Name string `json:"name"` }
func (*TgwPeerWrapper) DeepCopy ¶
func (in *TgwPeerWrapper) DeepCopy() *TgwPeerWrapper
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TgwPeerWrapper.
func (*TgwPeerWrapper) DeepCopyInto ¶
func (in *TgwPeerWrapper) DeepCopyInto(out *TgwPeerWrapper)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TgwVpcDetailsWrapper ¶
type TgwVpcDetailsWrapper struct { TransitGatewayVpc `json:",inline"` // AllowPublic specifies if the VPC peering connections should be allowed to // be linked to the public subnets // // +optional // +default=true AllowPublic bool `json:"allowPublic"` }
func (*TgwVpcDetailsWrapper) DeepCopy ¶
func (in *TgwVpcDetailsWrapper) DeepCopy() *TgwVpcDetailsWrapper
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TgwVpcDetailsWrapper.
func (*TgwVpcDetailsWrapper) DeepCopyInto ¶
func (in *TgwVpcDetailsWrapper) DeepCopyInto(out *TgwVpcDetailsWrapper)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TgwWrappedVpcWithProviderConfig ¶
type TgwWrappedVpcWithProviderConfig struct { TransitGatewayVpcWithProviderConfig `json:",inline"` // AllowPublic specifies if the VPC peering connections should be allowed to // be linked to the public subnets // // +optional // +default=true AllowPublic bool `json:"allowPublic"` }
TgwWrappedVpcWithProviderConfig defines the parameters for creating a VPC with the option of peered subnets.
func (*TgwWrappedVpcWithProviderConfig) DeepCopy ¶
func (in *TgwWrappedVpcWithProviderConfig) DeepCopy() *TgwWrappedVpcWithProviderConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TgwWrappedVpcWithProviderConfig.
func (*TgwWrappedVpcWithProviderConfig) DeepCopyInto ¶
func (in *TgwWrappedVpcWithProviderConfig) DeepCopyInto(out *TgwWrappedVpcWithProviderConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TransitGateway ¶
type TransitGateway struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec TransitGatewaySpec `json:"spec"` Status TransitGatewayStatus `json:"status,omitempty"` }
+kubebuilder:object:root=true +kubebuilder:storageversion +genclient +genclient:nonNamespaced
+kubebuilder:resource:scope=Cluster,categories=crossplane +kubebuilder:subresource:status +kubebuilder:resource:shortName=tgw +crossbuilder:generate:xrd:claimNames:kind=TransitGatewayClaim,plural=transitgatewayclaims +crossbuilder:generate:xrd:defaultCompositionRef:name=transitgateway +crossbuilder:generate:xrd:enforcedCompositionRef:name=transitgateway
func (*TransitGateway) DeepCopy ¶
func (in *TransitGateway) DeepCopy() *TransitGateway
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TransitGateway.
func (*TransitGateway) DeepCopyInto ¶
func (in *TransitGateway) DeepCopyInto(out *TransitGateway)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*TransitGateway) DeepCopyObject ¶
func (in *TransitGateway) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type TransitGatewayList ¶
type TransitGatewayList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []TransitGateway `json:"items"` }
+kubebuilder:object:root=true
func (*TransitGatewayList) DeepCopy ¶
func (in *TransitGatewayList) DeepCopy() *TransitGatewayList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TransitGatewayList.
func (*TransitGatewayList) DeepCopyInto ¶
func (in *TransitGatewayList) DeepCopyInto(out *TransitGatewayList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*TransitGatewayList) DeepCopyObject ¶
func (in *TransitGatewayList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type TransitGatewayNamedVpc ¶
type TransitGatewayNamedVpc struct { // The name of the VPC // // +required Name string `json:"name"` TransitGatewayVpc `json:",inline"` }
func (*TransitGatewayNamedVpc) DeepCopy ¶
func (in *TransitGatewayNamedVpc) DeepCopy() *TransitGatewayNamedVpc
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TransitGatewayNamedVpc.
func (*TransitGatewayNamedVpc) DeepCopyInto ¶
func (in *TransitGatewayNamedVpc) DeepCopyInto(out *TransitGatewayNamedVpc)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TransitGatewayParameters ¶
type TransitGatewayParameters struct { // Amazon side ASN. Private autonomous system number (ASN) for // the Amazon side of a BGP session. // // +optional AmazonSideAsn int64 `json:"amazonSideAsn,omitempty"` // Appliance mode support. Indicates whether appliance mode support is enabled. // // +optional // +kube:validation:Enum=disable;enable // +default=disable ApplianceModeSupport string `json:"applianceModeSupport,omitempty"` // acceptance of attachment requests. // // +optional // +kube:validation:Enum=disable;enable // +default=enable AutoAcceptSharedAttachments string `json:"autoAcceptSharedAttachments,omitempty"` // Create the policy table. // // +optional // +default=false CreatePolicyTable bool `json:"createPolicyTable,omitempty"` // Default route table association. Indicates whether resource attachments // are automatically associated with the default association route table. // // +optional // +default=true DefaultRouteTableAssociation bool `json:"defaultRouteTableAssociation,omitempty"` // Default route table propagation. Indicates whether resource attachments // automatically propagate routes to the default propagation route table. // // +optional // +default=true DefaultRouteTablePropagation bool `json:"defaultRouteTablePropagation,omitempty"` // Dns support. Indicates whether DNS support is enabled. // // +optional // +kube:validation:Enum=disable;enable // +default=enable DnsSupport string `json:"dnsSupport,omitempty"` // If IPv6 support is enabled for the transit gateway. // // +optional // +kube:validation:Enum=disable;enable // +default=disable Ipv6Support string `json:"ipv6Support,omitempty"` // Multicast support. Indicates whether multicast is enabled on the transit gateway. // // Currently unused in this composition // // +optional // +kube:validation:Enum=disable;enable // +default=disable MulticastSupport string `json:"multicastSupport,omitempty"` // TransitGatewayDefaultRouteTableAssociation. Indicates whether resource // attachments are automatically associated with the default association route table. // // +optional // +kube:validation:Enum=disable;enable // +default=disable TransitGatewayDefaultRouteTableAssociation string `json:"transitGatewayDefaultRouteTableAssociation,omitempty"` // TransitGatewayDefaultRouteTablePropagation. Indicates whether resource // attachments automatically propagate routes to the default propagation route table. // // +optional // +kube:validation:Enum=disable;enable // +default=disable TransitGatewayDefaultRouteTablePropagation string `json:"transitGatewayDefaultRouteTablePropagation,omitempty"` // The tags for the transit gateway. // // +optional // +mapType=atomic // +kubebuilder:validation:MaxProperties=50 Tags map[string]string `json:"tags,omitempty"` // Vpn ecmp support. Indicates whether Equal Cost Multipath Protocol support is enabled. // // +optional // +kube:validation:Enum=disable;enable // +default=enable VpnEcmpSupport string `json:"vpnEcmpSupport,omitempty"` }
func (*TransitGatewayParameters) DeepCopy ¶
func (in *TransitGatewayParameters) DeepCopy() *TransitGatewayParameters
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TransitGatewayParameters.
func (*TransitGatewayParameters) DeepCopyInto ¶
func (in *TransitGatewayParameters) DeepCopyInto(out *TransitGatewayParameters)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TransitGatewayPeer ¶
type TransitGatewayPeer struct { // The Account ID this VPC is associated with // // +optional AccountId string `json:"accountId"` // Is Dynamic routing support enabled on this peer // // +optional // +default=false DynamicRouting bool `json:"dynamicRouting"` // The ID of the gateway to peer with // // +required Id string `json:"id"` // The ID of the remote route table // // +required RouteTableId string `json:"routeTableId"` // The name of the peer // // +required Name string `json:"name"` // ManagedPrefixList contains CIDRs for networks that can be traversed // via this transit gateway. // // +optional PrefixLists []PrefixList `json:"managedPrefixList,omitempty"` // ProviderConfigRef references a ProviderConfig used to create this // resource // // If not provided, will fall back to the top-level ProviderConfigRef // // Required for cross account transit gateway peering // // +optional ProviderConfigRef xpv1.Reference `json:"providerConfigRef"` // Region the remote transit gateway is located in // // +optional Region string `json:"region"` }
func (*TransitGatewayPeer) DeepCopy ¶
func (in *TransitGatewayPeer) DeepCopy() *TransitGatewayPeer
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TransitGatewayPeer.
func (*TransitGatewayPeer) DeepCopyInto ¶
func (in *TransitGatewayPeer) DeepCopyInto(out *TransitGatewayPeer)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TransitGatewaySpec ¶
type TransitGatewaySpec struct { xpv1.ResourceSpec `json:",inline"` // Contains details about the local VPC (Where the TGW will be built) // // +optional LocalVpc TransitGatewayVpc `json:"localVpc,omitempty"` // Resource Access Management (RAM) // // +optional RAM RAM `json:"ram,omitempty"` // Contains details about the remote VPCs // // +optional RemoteVpcs []TransitGatewayVpcWithProviderConfig `json:"remoteVpcs,omitempty"` // Peers defines other transit gateways that this transit gateway // should peer with // // +optional Peers []TransitGatewayPeer `json:"peers,omitempty"` // TransitGatewayParameters defines the desired state of TransitGateway TransitGatewayParameters `json:",inline"` }
func (*TransitGatewaySpec) DeepCopy ¶
func (in *TransitGatewaySpec) DeepCopy() *TransitGatewaySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TransitGatewaySpec.
func (*TransitGatewaySpec) DeepCopyInto ¶
func (in *TransitGatewaySpec) DeepCopyInto(out *TransitGatewaySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TransitGatewayStatus ¶
type TransitGatewayStatus struct { xpv1.ConditionedStatus `json:",inline"` // map of local attachments // // +optional LocalAttachmentIds map[string]string `json:"localAttachmentIds,omitempty"` // Is the transit gateway ready // // +optional Ready bool `json:"ready,omitempty"` // map of remote attachments // // +optional RemoteAttachmentIds map[string]string `json:"remoteAttachmentIds,omitempty"` // // +optional SharedPrefixLists []string `json:"sharedPrefixLists,omitempty"` // The ARN of the Transit Gateway. // // +optional TgwArn string `json:"tgwArn,omitempty"` // The ID of the Transit Gateway. // // +optional TgwId string `json:"tgwId,omitempty"` // The ID of the route table associated with the Transit Gateway. // // +optional TgwRouteTableId string `json:"tgwRouteTableId,omitempty"` // // +optional RamShareId string `json:"ramShareId,omitempty"` // // +optional RamShareArn string `json:"ramShareArn,omitempty"` }
func (*TransitGatewayStatus) DeepCopy ¶
func (in *TransitGatewayStatus) DeepCopy() *TransitGatewayStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TransitGatewayStatus.
func (*TransitGatewayStatus) DeepCopyInto ¶
func (in *TransitGatewayStatus) DeepCopyInto(out *TransitGatewayStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TransitGatewayVpc ¶
type TransitGatewayVpc struct { // Account ID the VPC is in // // +optional AccountId string `json:"accountId"` // Cidr blocks for the VPC // // +optional CidrBlocks []Cidr `json:"cidrBlocks"` // Prefix lists for the VPC // // +optional PrefixLists []PrefixList `json:"prefixLists"` // Region this VPC is located in // // +optional Region string `json:"region"` // Route table ids in the VPC // // +optional RouteTableIds []RouteTableId `json:"routeTableIds"` // SubnetIds in the VPC // // +optional SubnetIds []SubnetId `json:"subnetIds"` // The ID of the VPC // // +optional VpcId VpcId `json:"vpcId"` }
func (*TransitGatewayVpc) DeepCopy ¶
func (in *TransitGatewayVpc) DeepCopy() *TransitGatewayVpc
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TransitGatewayVpc.
func (*TransitGatewayVpc) DeepCopyInto ¶
func (in *TransitGatewayVpc) DeepCopyInto(out *TransitGatewayVpc)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TransitGatewayVpcWithProviderConfig ¶
type TransitGatewayVpcWithProviderConfig struct { TransitGatewayNamedVpc `json:",inline"` // ProviderConfigRef references a ProviderConfig used to create this // resource // // If not provided, will fall back to the top-level ProviderConfigRef // // Required for cross account VPCs // Should not be set for same account VPCs unless restricted by // IAM // // +optional ProviderConfigRef xpv1.Reference `json:"providerConfigRef"` }
func (*TransitGatewayVpcWithProviderConfig) DeepCopy ¶
func (in *TransitGatewayVpcWithProviderConfig) DeepCopy() *TransitGatewayVpcWithProviderConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TransitGatewayVpcWithProviderConfig.
func (*TransitGatewayVpcWithProviderConfig) DeepCopyInto ¶
func (in *TransitGatewayVpcWithProviderConfig) DeepCopyInto(out *TransitGatewayVpcWithProviderConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TransitGatewayWrapper ¶
type TransitGatewayWrapper struct { TransitGatewayParameters `json:",inline"` TgwVpcDetailsWrapper `json:",inline"` // Enabled specifies if the transit gateway is enabled. // // +optional // +default=false Enabled bool `json:"enabled"` // Peers is a list of transit gateway peers to connect to // // +optional Peers []TgwPeerWrapper `json:"peers"` // Prefix lists for the VPC // // +optional // +listType=atomic PrefixList []PrefixList `json:"prefixList"` // RemoteVpcs is a list of VPCs build a transit gateway between // // +optional RemoteVpcs []TgwWrappedVpcWithProviderConfig `json:"remoteVpcs"` }
func (*TransitGatewayWrapper) DeepCopy ¶
func (in *TransitGatewayWrapper) DeepCopy() *TransitGatewayWrapper
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TransitGatewayWrapper.
func (*TransitGatewayWrapper) DeepCopyInto ¶
func (in *TransitGatewayWrapper) DeepCopyInto(out *TransitGatewayWrapper)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VpcDetails ¶
type VpcDetails struct { // Name of the VPC. // // +required Name string `json:"name"` // The ID of the VPC. // // +required VpcId VpcId `json:"vpcId"` // The CIDR blocks for the VPC. // // +required CidrBlock []Cidr `json:"cidrBlocks"` // ProviderConfigRef is a reference to a provider configuration // for managing connections to this vpc // // +optional ProviderConfigRef *xpv1.Reference `json:"providerConfigRef,omitempty"` // Region is the region in which the VPC is located. // // Required if local vpc // // +optional Region string `json:"region"` // The route table ids in the VPC. // // +required RouteTableIds []RouteTableId `json:"routeTableIds"` }
VpcDetails contains the details of a VPC.
func (*VpcDetails) DeepCopy ¶
func (in *VpcDetails) DeepCopy() *VpcDetails
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VpcDetails.
func (*VpcDetails) DeepCopyInto ¶
func (in *VpcDetails) DeepCopyInto(out *VpcDetails)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VpcId ¶
type VpcId string
VpcId is a string type that represents the unique identifier for a VPC.
+kubebuilder:validation:Type=string +kubebuilder:validation:Pattern="^vpc-[a-z0-9]{8,17}$"
type VpcPeer ¶
type VpcPeer struct { // Name specifies the name of the VPC to peer with. // // +required Name string `json:"name"` // ProviderConfigRef specifies the provider config to use for the peering // connection. // // +optional ProviderConfigRef xpv1.Reference `json:"providerConfigRef"` // Region specifies the region the VPC is found in. // // If not defined, the region of the VPC will be assumed to be the same as // the region of the peered VPC. // // +optional Region string `json:"region"` }
VpcPeer defines the parameters for peering with a VPC.
func (*VpcPeer) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VpcPeer.
func (*VpcPeer) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VpcPeering ¶
type VpcPeering struct { // AllowPublic specifies if the VPC peering connections should be allowed to // // be linked to the public subnets // Defaults to false // // +optional // +default=false AllowPublic bool `json:"allowPublic"` // Enabled specifies if VPC peering is enabled. // // +optional // +default=false Enabled bool `json:"enabled"` // GroupBy specifies the key to group the remote subnets by // // +optional GroupBy string `json:"groupBy"` // RemoteVpcs is a list of VPCs to peer with. // // +listType=atomic // +kubebuilder:validation:MaxItems=125 // +optional RemoteVpcs []WrappedVpcPeer `json:"remoteVpcs"` }
VpcPeering defines the parameters for VPC peering.
If enabled, the VPC will be peered with the VPCs specified in the `remoteVpcs` field.
func (*VpcPeering) DeepCopy ¶
func (in *VpcPeering) DeepCopy() *VpcPeering
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VpcPeering.
func (*VpcPeering) DeepCopyInto ¶
func (in *VpcPeering) DeepCopyInto(out *VpcPeering)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type WrappedVpcPeer ¶
type WrappedVpcPeer struct { VpcPeer `json:",inline"` // AllowPublic specifies if the VPC peering connections should be allowed to // be linked to the public subnets // // +optional // +default=true AllowPublic bool `json:"allowPublic"` }
func (*WrappedVpcPeer) DeepCopy ¶
func (in *WrappedVpcPeer) DeepCopy() *WrappedVpcPeer
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WrappedVpcPeer.
func (*WrappedVpcPeer) DeepCopyInto ¶
func (in *WrappedVpcPeer) DeepCopyInto(out *WrappedVpcPeer)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.