flex

package
v0.5.0 Latest Latest
Warning

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

Go to latest
Published: Aug 7, 2026 License: Apache-2.0 Imports: 22 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// TagFlexVPCName is the tag name the holds the name of the flex VPC.
	TagFlexVPCName = "bluelink:flex-vpc:name"
	// TagFlexVPCResource is the tag name that indicates that the resource is a part of a flex VPC.
	TagFlexVPCResource = "bluelink:flex-vpc:resource"
	// TagFlexVPCSubnetType is the tag name that indicates the type of the subnet.
	TagFlexVPCSubnetType = "bluelink:flex-vpc:subnet-type"
	// TagFlexVPCSubnetName is the tag name that indicates the name of the subnet,
	// this will be the static name of the subnet determined by the preset config.
	TagFlexVPCSubnetName = "bluelink:flex-vpc:subnet-name"
	// TagFlexVPCRouteTable is the tag name that indicates that the resource is a route table
	// created for a flex VPC.
	TagFlexVPCRouteTable = "bluelink:flex-vpc:route-table"
	// TagFlexVPCInternetGateway is the tag name that indicates that the resource
	// is an internet gateway created for a flex VPC.
	TagFlexVPCInternetGateway = "bluelink:flex-vpc:internet-gateway"
	// TagFlexVPCEgressOnlyInternetGateway is the tag name that indicates that the
	// resource is an egress-only internet gateway created for a flex VPC.
	TagFlexVPCEgressOnlyInternetGateway = "bluelink:flex-vpc:egress-only-internet-gateway"
	// TagFlexVPCNATGateway is the tag name that indicates that the resource
	// is a NAT gateway created for a flex VPC.
	TagFlexVPCNATGateway = "bluelink:flex-vpc:nat-gateway"
	// TagFlexVPCElasticIP is the tag name that indicates that the resource
	// is an Elastic IP address created for a flex VPC.
	TagFlexVPCElasticIP = "bluelink:flex-vpc:elastic-ip"
	// TagFlexVPCSecurityGroup is the tag name that indicates that the resource
	// is a security group created for a flex VPC.
	TagFlexVPCSecurityGroup = "bluelink:flex-vpc:security-group"
	// TagFlexVPCSecurityGroupName holds the declared name of a group created from the
	// VPC's securityGroups list, so the group can be found again and matched to the
	// name a resource references it by.
	//
	// Kept distinct from TagFlexVPCSecurityGroup for the same reason as the workload
	// tag below: that tag marks the VPC's own base group and drives the
	// securityGroupIds output, which a named group must not be adopted into.
	TagFlexVPCSecurityGroupName = "bluelink:flex-vpc:security-group-name"
	// TagFlexVPCSecurityGroupNameOwner holds the blueprint instance that owns a named
	// security group, so a shared VPC's named groups stay attributable to the
	// application that declared them.
	TagFlexVPCSecurityGroupNameOwner = "bluelink:flex-vpc:security-group-name-owner"
	// TagFlexVPCWorkloadSecurityGroup holds the name of the workload a security
	// group was created for by a placement link.
	//
	// This is deliberately not TagFlexVPCSecurityGroup as that tag marks the VPC's own base
	// group and is what the VPC resource filters its securityGroups output on, so a
	// workload group carrying it would be adopted into the VPC's state and handed
	// out to unrelated callers.
	TagFlexVPCWorkloadSecurityGroup = "bluelink:flex-vpc:workload-security-group"
	// TagFlexVPCWorkloadOwner holds the blueprint instance that owns a workload
	// security group, so a shared VPC's workload groups stay attributable to the
	// application that placed them, in the same way as
	// TagFlexVPCSecurityGroupNameOwner.
	TagFlexVPCWorkloadOwner = "bluelink:flex-vpc:workload-owner"
	// TagFlexVPCNetworkACL is the tag name that indicates that the resource
	// is a network ACL created for a flex VPC.
	TagFlexVPCNetworkACL = "bluelink:flex-vpc:network-acl"
)

Variables

This section is empty.

Functions

func TagFilterFlexVPCName

func TagFilterFlexVPCName(name string) types.Filter

TagFilterFlexVPCName returns a filter for the flex VPC name for an EC2 networking resource.

func VPCResource

func VPCResource(
	ec2ServiceFactory pluginutils.ServiceFactory[*aws.Config, ec2service.Service],
	resourceGroupTaggingServiceFactory pluginutils.ServiceFactory[*aws.Config, resgrouptagservice.Service],
	awsConfigStore pluginutils.ServiceConfigStore[*aws.Config],
) provider.Resource

VPCResource is an implementation of a flex resource that provides a convenient way to define a VPC and its associated resources based on presets that follow industry best practices.

Types

This section is empty.

Jump to

Keyboard shortcuts

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