alb

package
v0.11.4 Latest Latest
Warning

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

Go to latest
Published: Aug 9, 2023 License: MPL-2.0 Imports: 27 Imported by: 0

README

AWS ALB

The AWS ALB plugin releases applications deployed to AWS by attaching target groups to an ALB.

Components

  1. ReleaseManager
  1. AWS EC2
  2. AWS Lambda

Resources

  1. Security group
  2. Load Balancer
  3. Listener
  4. Record Set

Documentation

Index

Constants

This section is empty.

Variables

View Source
var File_waypoint_builtin_aws_alb_plugin_proto protoreflect.FileDescriptor

Options are the SDK options to use for instantiation.

Functions

This section is empty.

Types

type Release

type Release struct {
	Url             string         `protobuf:"bytes,1,opt,name=url,proto3" json:"url,omitempty"`
	LoadBalancerArn string         `protobuf:"bytes,2,opt,name=load_balancer_arn,json=loadBalancerArn,proto3" json:"load_balancer_arn,omitempty"`
	TargetGroupArn  string         `protobuf:"bytes,4,opt,name=target_group_arn,json=targetGroupArn,proto3" json:"target_group_arn,omitempty"`
	Region          string         `protobuf:"bytes,3,opt,name=region,proto3" json:"region,omitempty"`
	ResourceState   *opaqueany.Any `protobuf:"bytes,5,opt,name=resource_state,json=resourceState,proto3" json:"resource_state,omitempty"`
	// contains filtered or unexported fields
}

func (*Release) Descriptor deprecated

func (*Release) Descriptor() ([]byte, []int)

Deprecated: Use Release.ProtoReflect.Descriptor instead.

func (*Release) GetLoadBalancerArn

func (x *Release) GetLoadBalancerArn() string

func (*Release) GetRegion added in v0.4.0

func (x *Release) GetRegion() string

func (*Release) GetResourceState added in v0.5.0

func (x *Release) GetResourceState() *opaqueany.Any

func (*Release) GetTargetGroupArn added in v0.4.0

func (x *Release) GetTargetGroupArn() string

func (*Release) GetUrl

func (x *Release) GetUrl() string

func (*Release) ProtoMessage

func (*Release) ProtoMessage()

func (*Release) ProtoReflect

func (x *Release) ProtoReflect() protoreflect.Message

func (*Release) Reset

func (x *Release) Reset()

func (*Release) String

func (x *Release) String() string

func (*Release) URL

func (r *Release) URL() string

type Releaser

type Releaser struct {
	// contains filtered or unexported fields
}

func (*Releaser) Config

func (r *Releaser) Config() (interface{}, error)

Config implements Configurable

func (*Releaser) Destroy added in v0.5.0

func (r *Releaser) Destroy(
	ctx context.Context,
	log hclog.Logger,
	release *Release,
	ui terminal.UI,
) error

Destroy will modify or delete Listeners, so that the platform can destroy the target groups

func (*Releaser) DestroyFunc added in v0.5.0

func (r *Releaser) DestroyFunc() interface{}

DestroyFunc implements component.Destroyer

func (*Releaser) Documentation

func (r *Releaser) Documentation() (*docs.Documentation, error)

func (*Releaser) Release

func (r *Releaser) Release(
	ctx context.Context,
	log hclog.Logger,
	src *component.Source,
	ui terminal.UI,
	target *TargetGroup,
) (*Release, error)

Release manages target group attachment to a configured ALB

func (*Releaser) ReleaseFunc

func (r *Releaser) ReleaseFunc() interface{}

ReleaseFunc implements component.ReleaseManager

func (*Releaser) Status added in v0.4.0

func (r *Releaser) Status(
	ctx context.Context,
	log hclog.Logger,
	release *Release,
	ui terminal.UI,
) (*sdk.StatusReport, error)

func (*Releaser) StatusFunc added in v0.4.0

func (r *Releaser) StatusFunc() interface{}

StatusFunc implements component.Status

type ReleaserConfig

type ReleaserConfig struct {
	Name string `hcl:"name,optional"`

	// Port configures the port that is used to access the service.
	// The default is 80.
	Port int `hcl:"port,optional"`

	// Subnets to place the service into. Defaults to the subnets in the default VPC.
	Subnets []string `hcl:"subnets,optional"`

	// Certificate ARN to attach to the load balancer
	CertificateId string `hcl:"certificate,optional"`

	// Route53 Zone to setup record in
	ZoneId string `hcl:"zone_id,optional"`

	// Fully qualified domain name of the record to create in the target zone id
	FQDN string `hcl:"domain_name,optional"`

	// When set, waypoint will configure the target group into the specified
	// ALB Listener ARN. This allows for usage of existing ALBs.
	ListenerARN string `hcl:"listener_arn,optional"`

	// Existing Security Group ID to use for ALB.
	SecurityGroupIDs []string `hcl:"security_group_ids,optional"`
}

ReleaserConfig is the configuration structure for the Releaser.

type Resource added in v0.5.0

type Resource struct {
	// contains filtered or unexported fields
}

Resource contains the internal resource states.

func (*Resource) Descriptor deprecated added in v0.5.0

func (*Resource) Descriptor() ([]byte, []int)

Deprecated: Use Resource.ProtoReflect.Descriptor instead.

func (*Resource) ProtoMessage added in v0.5.0

func (*Resource) ProtoMessage()

func (*Resource) ProtoReflect added in v0.5.0

func (x *Resource) ProtoReflect() protoreflect.Message

func (*Resource) Reset added in v0.5.0

func (x *Resource) Reset()

func (*Resource) String added in v0.5.0

func (x *Resource) String() string

type Resource_Listener added in v0.5.0

type Resource_Listener struct {
	Arn   string `protobuf:"bytes,1,opt,name=arn,proto3" json:"arn,omitempty"`
	TgArn string `protobuf:"bytes,2,opt,name=tg_arn,json=tgArn,proto3" json:"tg_arn,omitempty"`
	// contains filtered or unexported fields
}

func (*Resource_Listener) Descriptor deprecated added in v0.5.0

func (*Resource_Listener) Descriptor() ([]byte, []int)

Deprecated: Use Resource_Listener.ProtoReflect.Descriptor instead.

func (*Resource_Listener) GetArn added in v0.5.0

func (x *Resource_Listener) GetArn() string

func (*Resource_Listener) GetTgArn added in v0.5.0

func (x *Resource_Listener) GetTgArn() string

func (*Resource_Listener) ProtoMessage added in v0.5.0

func (*Resource_Listener) ProtoMessage()

func (*Resource_Listener) ProtoReflect added in v0.5.0

func (x *Resource_Listener) ProtoReflect() protoreflect.Message

func (*Resource_Listener) Reset added in v0.5.0

func (x *Resource_Listener) Reset()

func (*Resource_Listener) String added in v0.5.0

func (x *Resource_Listener) String() string

type Resource_LoadBalancer added in v0.5.0

type Resource_LoadBalancer struct {
	Arn     string `protobuf:"bytes,1,opt,name=arn,proto3" json:"arn,omitempty"`
	DnsName string `protobuf:"bytes,2,opt,name=dns_name,json=dnsName,proto3" json:"dns_name,omitempty"`
	ZoneId  string `protobuf:"bytes,3,opt,name=zone_id,json=zoneId,proto3" json:"zone_id,omitempty"`
	// contains filtered or unexported fields
}

func (*Resource_LoadBalancer) Descriptor deprecated added in v0.5.0

func (*Resource_LoadBalancer) Descriptor() ([]byte, []int)

Deprecated: Use Resource_LoadBalancer.ProtoReflect.Descriptor instead.

func (*Resource_LoadBalancer) GetArn added in v0.5.0

func (x *Resource_LoadBalancer) GetArn() string

func (*Resource_LoadBalancer) GetDnsName added in v0.5.0

func (x *Resource_LoadBalancer) GetDnsName() string

func (*Resource_LoadBalancer) GetZoneId added in v0.5.0

func (x *Resource_LoadBalancer) GetZoneId() string

func (*Resource_LoadBalancer) ProtoMessage added in v0.5.0

func (*Resource_LoadBalancer) ProtoMessage()

func (*Resource_LoadBalancer) ProtoReflect added in v0.5.0

func (x *Resource_LoadBalancer) ProtoReflect() protoreflect.Message

func (*Resource_LoadBalancer) Reset added in v0.5.0

func (x *Resource_LoadBalancer) Reset()

func (*Resource_LoadBalancer) String added in v0.5.0

func (x *Resource_LoadBalancer) String() string

type Resource_RecordSet added in v0.5.0

type Resource_RecordSet struct {
	FQDN string `protobuf:"bytes,1,opt,name=FQDN,proto3" json:"FQDN,omitempty"`
	// contains filtered or unexported fields
}

func (*Resource_RecordSet) Descriptor deprecated added in v0.5.0

func (*Resource_RecordSet) Descriptor() ([]byte, []int)

Deprecated: Use Resource_RecordSet.ProtoReflect.Descriptor instead.

func (*Resource_RecordSet) GetFQDN added in v0.5.0

func (x *Resource_RecordSet) GetFQDN() string

func (*Resource_RecordSet) ProtoMessage added in v0.5.0

func (*Resource_RecordSet) ProtoMessage()

func (*Resource_RecordSet) ProtoReflect added in v0.5.0

func (x *Resource_RecordSet) ProtoReflect() protoreflect.Message

func (*Resource_RecordSet) Reset added in v0.5.0

func (x *Resource_RecordSet) Reset()

func (*Resource_RecordSet) String added in v0.5.0

func (x *Resource_RecordSet) String() string

type Resource_SecurityGroup added in v0.5.0

type Resource_SecurityGroup struct {
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// Indicates that this resource has been created by and is owned by waypoint
	// (and is therefore safe for waypoint to delete during a project destroy)
	Managed bool `protobuf:"varint,2,opt,name=managed,proto3" json:"managed,omitempty"`
	// contains filtered or unexported fields
}

func (*Resource_SecurityGroup) Descriptor deprecated added in v0.5.0

func (*Resource_SecurityGroup) Descriptor() ([]byte, []int)

Deprecated: Use Resource_SecurityGroup.ProtoReflect.Descriptor instead.

func (*Resource_SecurityGroup) GetId added in v0.5.0

func (x *Resource_SecurityGroup) GetId() string

func (*Resource_SecurityGroup) GetManaged added in v0.11.0

func (x *Resource_SecurityGroup) GetManaged() bool

func (*Resource_SecurityGroup) ProtoMessage added in v0.5.0

func (*Resource_SecurityGroup) ProtoMessage()

func (*Resource_SecurityGroup) ProtoReflect added in v0.5.0

func (x *Resource_SecurityGroup) ProtoReflect() protoreflect.Message

func (*Resource_SecurityGroup) Reset added in v0.5.0

func (x *Resource_SecurityGroup) Reset()

func (*Resource_SecurityGroup) String added in v0.5.0

func (x *Resource_SecurityGroup) String() string

type TargetGroup

type TargetGroup struct {
	Arn    string `protobuf:"bytes,1,opt,name=arn,proto3" json:"arn,omitempty"`
	Region string `protobuf:"bytes,2,opt,name=region,proto3" json:"region,omitempty"`
	// contains filtered or unexported fields
}

func EC2TGMapper

func EC2TGMapper(src *ec2.Deployment) *TargetGroup

func LambdaTGMapper added in v0.3.0

func LambdaTGMapper(src *lambda.Deployment) *TargetGroup

func (*TargetGroup) Descriptor deprecated

func (*TargetGroup) Descriptor() ([]byte, []int)

Deprecated: Use TargetGroup.ProtoReflect.Descriptor instead.

func (*TargetGroup) GetArn

func (x *TargetGroup) GetArn() string

func (*TargetGroup) GetRegion

func (x *TargetGroup) GetRegion() string

func (*TargetGroup) ProtoMessage

func (*TargetGroup) ProtoMessage()

func (*TargetGroup) ProtoReflect

func (x *TargetGroup) ProtoReflect() protoreflect.Message

func (*TargetGroup) Reset

func (x *TargetGroup) Reset()

func (*TargetGroup) String

func (x *TargetGroup) String() string

Jump to

Keyboard shortcuts

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