elbv2

package
v2.5.5 Latest Latest
Warning

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

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

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ALPNPolicy

type ALPNPolicy string

ALPNPolicy ALPN policy configuration for TLS listeners forwarding to TLS target groups

const (
	ALPNPolicyNone           ALPNPolicy = "None"
	ALPNPolicyHTTP1Only      ALPNPolicy = "HTTP1Only"
	ALPNPolicyHTTP2Only      ALPNPolicy = "HTTP2Only"
	ALPNPolicyHTTP2Optional  ALPNPolicy = "HTTP2Optional"
	ALPNPolicyHTTP2Preferred ALPNPolicy = "HTTP2Preferred"
)

Supported ALPN policies

type Action

type Action struct {
	// The type of action.
	Type ActionType `json:"type"`

	// Information for using Amazon Cognito to authenticate users.
	// +optional
	AuthenticateCognitoConfig *AuthenticateCognitoActionConfig `json:"authenticateCognitoConfig,omitempty"`

	// Information about an identity provider that is compliant with OpenID Connect (OIDC).
	// +optional
	AuthenticateOIDCConfig *AuthenticateOIDCActionConfig `json:"authenticateOIDCConfig,omitempty"`

	// [Application Load Balancer] Information for creating an action that returns a custom HTTP response.
	// +optional
	FixedResponseConfig *FixedResponseActionConfig `json:"fixedResponseConfig,omitempty"`

	// [Application Load Balancer] Information for creating a redirect action.
	// +optional
	RedirectConfig *RedirectActionConfig `json:"redirectConfig,omitempty"`

	// Information for creating an action that distributes requests among one or more target groups.
	// +optional
	ForwardConfig *ForwardActionConfig `json:"forwardConfig,omitempty"`
}

Information about an action.

type ActionType

type ActionType string

The type of action.

const (
	ActionTypeAuthenticateCognito ActionType = "authenticate-cognito"
	ActionTypeAuthenticateOIDC    ActionType = "authenticate-oidc"
	ActionTypeFixedResponse       ActionType = "fixed-response"
	ActionTypeForward             ActionType = "forward"
	ActionTypeRedirect            ActionType = "redirect"
)

type AuthenticateCognitoActionConditionalBehavior

type AuthenticateCognitoActionConditionalBehavior string
const (
	AuthenticateCognitoActionConditionalBehaviorDeny         AuthenticateCognitoActionConditionalBehavior = "deny"
	AuthenticateCognitoActionConditionalBehaviorAllow        AuthenticateCognitoActionConditionalBehavior = "allow"
	AuthenticateCognitoActionConditionalBehaviorAuthenticate AuthenticateCognitoActionConditionalBehavior = "authenticate"
)

type AuthenticateCognitoActionConfig

type AuthenticateCognitoActionConfig struct {
	// The query parameters (up to 10) to include in the redirect request to the authorization endpoint.
	// +optional
	AuthenticationRequestExtraParams map[string]string `json:"authenticationRequestExtraParams,omitempty"`

	// The behavior if the user is not authenticated.
	// +optional
	OnUnauthenticatedRequest *AuthenticateCognitoActionConditionalBehavior `json:"onUnauthenticatedRequest,omitempty"`

	// The set of user claims to be requested from the IdP.
	// +optional
	Scope *string `json:"scope,omitempty"`

	// The name of the cookie used to maintain session information.
	// +optional
	SessionCookieName *string `json:"sessionCookieName,omitempty"`

	// The maximum duration of the authentication session in seconds.
	// +optional
	SessionTimeout *int64 `json:"sessionTimeout,omitempty"`

	// The Amazon Resource Name (ARN) of the Amazon Cognito user pool.
	UserPoolARN string `json:"userPoolARN"`

	// The ID of the Amazon Cognito user pool client.
	UserPoolClientID string `json:"userPoolClientID"`

	// The domain prefix or fully-qualified domain name of the Amazon Cognito user pool.
	UserPoolDomain string `json:"userPoolDomain"`
}

Request parameters to use when integrating with Amazon Cognito to authenticate users.

type AuthenticateOIDCActionConditionalBehavior

type AuthenticateOIDCActionConditionalBehavior string
const (
	AuthenticateOIDCActionConditionalBehaviorDeny         AuthenticateOIDCActionConditionalBehavior = "deny"
	AuthenticateOIDCActionConditionalBehaviorAllow        AuthenticateOIDCActionConditionalBehavior = "allow"
	AuthenticateOIDCActionConditionalBehaviorAuthenticate AuthenticateOIDCActionConditionalBehavior = "authenticate"
)

type AuthenticateOIDCActionConfig

type AuthenticateOIDCActionConfig struct {
	// The query parameters (up to 10) to include in the redirect request to the authorization endpoint.
	// +optional
	AuthenticationRequestExtraParams map[string]string `json:"authenticationRequestExtraParams,omitempty"`

	// The behavior if the user is not authenticated.
	// +optional
	OnUnauthenticatedRequest *AuthenticateOIDCActionConditionalBehavior `json:"onUnauthenticatedRequest,omitempty"`

	// The set of user claims to be requested from the IdP.
	// +optional
	Scope *string `json:"scope,omitempty"`

	// The name of the cookie used to maintain session information.
	// +optional
	SessionCookieName *string `json:"sessionCookieName,omitempty"`

	// The maximum duration of the authentication session in seconds.
	// +optional
	SessionTimeout *int64 `json:"sessionTimeout,omitempty"`

	// The OIDC issuer identifier of the IdP.
	Issuer string `json:"issuer"`

	// The authorization endpoint of the IdP.
	AuthorizationEndpoint string `json:"authorizationEndpoint"`

	// The token endpoint of the IdP.
	TokenEndpoint string `json:"tokenEndpoint"`

	// The user info endpoint of the IdP.
	UserInfoEndpoint string `json:"userInfoEndpoint"`

	// The OAuth 2.0 client identifier.
	ClientID string `json:"clientID"`

	// The OAuth 2.0 client secret.
	ClientSecret string `json:"clientSecret"`
}

Request parameters when using an identity provider (IdP) that is compliant with OpenID Connect (OIDC) to authenticate users.

func (AuthenticateOIDCActionConfig) MarshalJSON

func (cfg AuthenticateOIDCActionConfig) MarshalJSON() ([]byte, error)

type Certificate

type Certificate struct {
	// The Amazon Resource Name (ARN) of the certificate.
	// +optional
	CertificateARN *string `json:"certificateARN,omitempty"`
}

Information about an SSL server certificate.

type FixedResponseActionConfig

type FixedResponseActionConfig struct {
	// The content type.
	// +optional
	ContentType *string `json:"contentType,omitempty"`

	// The message.
	// +optional
	MessageBody *string `json:"messageBody,omitempty"`

	// The HTTP response code.
	// +optional
	StatusCode string `json:"statusCode"`
}

Information about an action that returns a custom HTTP response.

type ForwardActionConfig

type ForwardActionConfig struct {
	// One or more target groups.
	// [Network Load Balancers] you can specify a single target group.
	TargetGroups []TargetGroupTuple `json:"targetGroups"`

	// The target group stickiness for the rule.
	// +optional
	TargetGroupStickinessConfig *TargetGroupStickinessConfig `json:"targetGroupStickinessConfig,omitempty"`
}

Information about a forward action.

type HTTPHeaderConditionConfig

type HTTPHeaderConditionConfig struct {
	// The name of the HTTP header field.
	HTTPHeaderName string `json:"httpHeaderName"`
	// One or more strings to compare against the value of the HTTP header.
	Values []string `json:"values"`
}

Information for an HTTP header condition.

type HTTPRequestMethodConditionConfig

type HTTPRequestMethodConditionConfig struct {
	// The name of the request method.
	Values []string `json:"values"`
}

Information for an HTTP method condition.

type HealthCheckMatcher

type HealthCheckMatcher struct {
	// The HTTP codes.
	HTTPCode *string `json:"httpCode,omitempty"`

	// The gRPC codes
	GRPCCode *string `json:"grpcCode,omitempty"`
}

Information to use when checking for a successful response from a target.

type HostHeaderConditionConfig

type HostHeaderConditionConfig struct {
	// One or more host names.
	Values []string `json:"values"`
}

Information for a host header condition.

type IPAddressType

type IPAddressType string
const (
	IPAddressTypeIPV4      IPAddressType = "ipv4"
	IPAddressTypeDualStack IPAddressType = "dualstack"
)

type Listener

type Listener struct {
	core.ResourceMeta `json:"-"`

	// desired state of LoadBalancer
	Spec ListenerSpec `json:"spec"`

	// observed state of LoadBalancer
	// +optional
	Status *ListenerStatus `json:"status,omitempty"`
}

Listener represents a ELBV2 Listener

func NewListener

func NewListener(stack core.Stack, id string, spec ListenerSpec) *Listener

NewListener constructs new Listener resource.

func (*Listener) ListenerARN

func (ls *Listener) ListenerARN() core.StringToken

ListenerARN returns The Amazon Resource Name (ARN) of the Listener

func (*Listener) SetStatus

func (ls *Listener) SetStatus(status ListenerStatus)

SetStatus sets the Listener's status

type ListenerRule

type ListenerRule struct {
	core.ResourceMeta `json:"-"`

	// desired state of ListenerRule
	Spec ListenerRuleSpec `json:"spec"`

	// observed state of ListenerRule
	// +optional
	Status *ListenerRuleStatus `json:"status,omitempty"`
}

ListenerRule represents a ELBV2 ListenerRule

func NewListenerRule

func NewListenerRule(stack core.Stack, id string, spec ListenerRuleSpec) *ListenerRule

NewListenerRule constructs new ListenerRule resource.

func (*ListenerRule) SetStatus

func (lr *ListenerRule) SetStatus(status ListenerRuleStatus)

SetStatus sets the ListenerRule's status

type ListenerRuleSpec

type ListenerRuleSpec struct {
	// The Amazon Resource Name (ARN) of the listener.
	ListenerARN core.StringToken `json:"listenerARN"`
	// The rule priority.
	Priority int64 `json:"priority"`
	// The actions.
	Actions []Action `json:"actions"`
	// The conditions.
	Conditions []RuleCondition `json:"conditions"`
	// The tags.
	// +optional
	Tags map[string]string `json:"tags,omitempty"`
}

ListenerRuleSpec defines the desired state of ListenerRule

type ListenerRuleStatus

type ListenerRuleStatus struct {
	// The Amazon Resource Name (ARN) of the rule.
	RuleARN string `json:"ruleARN"`
}

ListenerRuleStatus defines the observed state of ListenerRule

type ListenerSpec

type ListenerSpec struct {
	// The Amazon Resource Name (ARN) of the load balancer.
	LoadBalancerARN core.StringToken `json:"loadBalancerARN"`

	// The port on which the load balancer is listening.
	Port int64 `json:"port"`

	// The protocol for connections from clients to the load balancer.
	Protocol Protocol `json:"protocol"`

	// The actions for the default rule.
	// +optional
	DefaultActions []Action `json:"defaultActions,omitempty"`

	// The SSL server certificate for a secure listener.
	// The first certificate is the default certificate.
	// +optional
	Certificates []Certificate `json:"certificates,omitempty"`

	// [HTTPS and TLS listeners] The security policy that defines which protocols and ciphers are supported.
	// +optional
	SSLPolicy *string `json:"sslPolicy,omitempty"`

	// [TLS listener] The name of the Application-Layer Protocol Negotiation (ALPN) policy.
	// +optional
	ALPNPolicy []string `json:"alpnPolicy,omitempty"`

	// The tags.
	// +optional
	Tags map[string]string `json:"tags,omitempty"`
}

ListenerSpec defines the desired state of Listener

type ListenerStatus

type ListenerStatus struct {
	// The Amazon Resource Name (ARN) of the listener.
	ListenerARN string `json:"listenerARN"`
}

ListenerStatus defines the observed state of Listener

type LoadBalancer

type LoadBalancer struct {
	core.ResourceMeta `json:"-"`

	// desired state of LoadBalancer
	Spec LoadBalancerSpec `json:"spec"`

	// observed state of LoadBalancer
	// +optional
	Status *LoadBalancerStatus `json:"status,omitempty"`
}

LoadBalancer represents a ELBV2 LoadBalancer.

func NewLoadBalancer

func NewLoadBalancer(stack core.Stack, id string, spec LoadBalancerSpec) *LoadBalancer

NewLoadBalancer constructs new LoadBalancer resource.

func (*LoadBalancer) DNSName

func (lb *LoadBalancer) DNSName() core.StringToken

DNSName returns The public DNS name of the load balancer.

func (*LoadBalancer) LoadBalancerARN

func (lb *LoadBalancer) LoadBalancerARN() core.StringToken

LoadBalancerARN returns The Amazon Resource Name (ARN) of the load balancer.

func (*LoadBalancer) SetStatus

func (lb *LoadBalancer) SetStatus(status LoadBalancerStatus)

SetStatus sets the LoadBalancer's status

type LoadBalancerAttribute

type LoadBalancerAttribute struct {
	// The name of the attribute.
	Key string `json:"key"`

	// The value of the attribute.
	Value string `json:"value"`
}

Information about a load balancer attribute.

type LoadBalancerScheme

type LoadBalancerScheme string
const (
	LoadBalancerSchemeInternal       LoadBalancerScheme = "internal"
	LoadBalancerSchemeInternetFacing LoadBalancerScheme = "internet-facing"
)

type LoadBalancerSpec

type LoadBalancerSpec struct {
	// The name of the load balancer.
	Name string `json:"name"`

	// The type of load balancer.
	Type LoadBalancerType `json:"type"`

	// The nodes of an Internet-facing load balancer have public IP addresses.
	// The nodes of an internal load balancer have only private IP addresses.
	// +optional
	Scheme *LoadBalancerScheme `json:"scheme,omitempty"`

	// The type of IP addresses used by the subnets for your load balancer.
	// +optional
	IPAddressType *IPAddressType `json:"ipAddressType,omitempty"`

	// The IDs of the public subnets. You can specify only one subnet per Availability Zone.
	// +optional
	SubnetMappings []SubnetMapping `json:"subnetMapping,omitempty"`

	// [Application Load Balancers] The IDs of the security groups for the load balancer.
	// +optional
	SecurityGroups []core.StringToken `json:"securityGroups,omitempty"`

	// [Application Load Balancers on Outposts] The ID of the customer-owned address pool (CoIP pool).
	// +optional
	CustomerOwnedIPv4Pool *string `json:"customerOwnedIPv4Pool,omitempty"`

	// The load balancer attributes.
	// +optional
	LoadBalancerAttributes []LoadBalancerAttribute `json:"loadBalancerAttributes,omitempty"`

	// The tags.
	// +optional
	Tags map[string]string `json:"tags,omitempty"`
}

LoadBalancerSpec defines the desired state of LoadBalancer

type LoadBalancerStatus

type LoadBalancerStatus struct {
	// The Amazon Resource Name (ARN) of the load balancer.
	LoadBalancerARN string `json:"loadBalancerARN"`

	// The public DNS name of the load balancer.
	DNSName string `json:"dnsName"`
}

LoadBalancerStatus defines the observed state of LoadBalancer

type LoadBalancerType

type LoadBalancerType string
const (
	LoadBalancerTypeApplication LoadBalancerType = "application"
	LoadBalancerTypeNetwork     LoadBalancerType = "network"
)

type NetworkingIngressRule

type NetworkingIngressRule struct {
	// List of peers which should be able to access the targets in TargetGroup.
	// At least one NetworkingPeer should be specified.
	From []NetworkingPeer `json:"from"`

	// List of ports which should be made accessible on the targets in TargetGroup.
	// At least one NetworkingPort should be specified.
	Ports []elbv2api.NetworkingPort `json:"ports"`
}

type NetworkingPeer

type NetworkingPeer struct {
	// IPBlock defines an IPBlock peer.
	// If specified, none of the other fields can be set.
	// +optional
	IPBlock *elbv2api.IPBlock `json:"ipBlock,omitempty"`

	// SecurityGroup defines a SecurityGroup peer.
	// If specified, none of the other fields can be set.
	// +optional
	SecurityGroup *SecurityGroup `json:"securityGroup,omitempty"`
}

NetworkingPeer defines the source/destination peer for networking rules.

type PathPatternConditionConfig

type PathPatternConditionConfig struct {
	// One or more path patterns to compare against the request URL.
	Values []string `json:"values"`
}

Information about a path pattern condition.

type Protocol

type Protocol string
const (
	ProtocolHTTP    Protocol = "HTTP"
	ProtocolHTTPS   Protocol = "HTTPS"
	ProtocolTCP     Protocol = "TCP"
	ProtocolTLS     Protocol = "TLS"
	ProtocolUDP     Protocol = "UDP"
	ProtocolTCP_UDP Protocol = "TCP_UDP"
)

type ProtocolVersion

type ProtocolVersion string
const (
	ProtocolVersionHTTP1 ProtocolVersion = "HTTP1"
	ProtocolVersionHTTP2 ProtocolVersion = "HTTP2"
	ProtocolVersionGRPC  ProtocolVersion = "GRPC"
)

type QueryStringConditionConfig

type QueryStringConditionConfig struct {
	// One or more key/value pairs or values to find in the query string.
	Values []QueryStringKeyValuePair `json:"values"`
}

Information about a query string condition.

type QueryStringKeyValuePair

type QueryStringKeyValuePair struct {
	// The key.
	// +optional
	Key *string `json:"key,omitempty"`

	// The value.
	Value string `json:"value"`
}

Information about a key/value pair.

type RedirectActionConfig

type RedirectActionConfig struct {
	// The hostname.
	// +optional
	Host *string `json:"host,omitempty"`

	// The absolute path.
	// +optional
	Path *string `json:"path,omitempty"`

	// The port.
	// +optional
	Port *string `json:"port,omitempty"`

	// The protocol.
	// +optional
	Protocol *string `json:"protocol,omitempty"`

	// The query parameters
	// +optional
	Query *string `json:"query,omitempty"`

	// The HTTP redirect code.
	// +optional
	StatusCode string `json:"statusCode"`
}

Information about a redirect action.

type RuleCondition

type RuleCondition struct {
	// The field in the HTTP request.
	Field RuleConditionField `json:"field"`
	// Information for a host header condition.
	// +optional
	HostHeaderConfig *HostHeaderConditionConfig `json:"hostHeaderConfig,omitempty"`
	// Information for an HTTP header condition.
	// +optional
	HTTPHeaderConfig *HTTPHeaderConditionConfig `json:"httpHeaderConfig,omitempty"`
	// Information for an HTTP method condition.
	// +optional
	HTTPRequestMethodConfig *HTTPRequestMethodConditionConfig `json:"httpRequestMethodConfig,omitempty"`
	// Information for a path pattern condition.
	// +optional
	PathPatternConfig *PathPatternConditionConfig `json:"pathPatternConfig,omitempty"`
	// Information for a query string condition.
	// +optional
	QueryStringConfig *QueryStringConditionConfig `json:"queryStringConfig,omitempty"`
	// Information for a source IP condition.
	// +optional
	SourceIPConfig *SourceIPConditionConfig `json:"sourceIPConfig,omitempty"`
}

Information about a condition for a rule.

type RuleConditionField

type RuleConditionField string
const (
	RuleConditionFieldHTTPHeader        RuleConditionField = "http-header"
	RuleConditionFieldHTTPRequestMethod RuleConditionField = "http-request-method"
	RuleConditionFieldHostHeader        RuleConditionField = "host-header"
	RuleConditionFieldPathPattern       RuleConditionField = "path-pattern"
	RuleConditionFieldQueryString       RuleConditionField = "query-string"
	RuleConditionFieldSourceIP          RuleConditionField = "source-ip"
)

type SecurityGroup

type SecurityGroup struct {
	// GroupID is the EC2 SecurityGroupID.
	GroupID core.StringToken `json:"groupID"`
}

SecurityGroup defines reference to an AWS EC2 SecurityGroup.

type SourceIPConditionConfig

type SourceIPConditionConfig struct {
	// One or more source IP addresses, in CIDR format.
	Values []string `json:"values"`
}

Information about a source IP condition.

type SubnetMapping

type SubnetMapping struct {
	// [Network Load Balancers] The allocation ID of the Elastic IP address for
	// an internet-facing load balancer.
	AllocationID *string `json:"allocationID,omitempty"`

	// [Network Load Balancers] The private IPv4 address for an internal load balancer.
	PrivateIPv4Address *string `json:"privateIPv4Address,omitempty"`

	// [Network Load Balancers] The IPv6 address.
	IPv6Address *string `json:"ipv6Address,omitempty"`

	// The ID of the subnet.
	SubnetID string `json:"subnetID"`
}

Information about a subnet mapping.

type TargetGroup

type TargetGroup struct {
	core.ResourceMeta `json:"-"`

	// desired state of TargetGroup
	Spec TargetGroupSpec `json:"spec"`

	// observed state of TargetGroup
	// +optional
	Status *TargetGroupStatus `json:"status,omitempty"`
}

TargetGroup represents a ELBV2 TargetGroup

func NewTargetGroup

func NewTargetGroup(stack core.Stack, id string, spec TargetGroupSpec) *TargetGroup

NewTargetGroup constructs new TargetGroup resource.

func (*TargetGroup) SetStatus

func (tg *TargetGroup) SetStatus(status TargetGroupStatus)

SetStatus sets the TargetGroup's status

func (*TargetGroup) TargetGroupARN

func (tg *TargetGroup) TargetGroupARN() core.StringToken

LoadBalancerARN returns The Amazon Resource Name (ARN) of the target group.

type TargetGroupAttribute

type TargetGroupAttribute struct {
	// The name of the attribute.
	Key string `json:"key"`

	// The value of the attribute.
	Value string `json:"value"`
}

Specifies a target group attribute.

type TargetGroupBindingNetworking

type TargetGroupBindingNetworking struct {
	// List of ingress rules to allow ELBV2 LoadBalancer to access targets in TargetGroup.
	// +optional
	Ingress []NetworkingIngressRule `json:"ingress,omitempty"`
}

type TargetGroupBindingResource

type TargetGroupBindingResource struct {
	core.ResourceMeta `json:"-"`

	// desired state of TargetGroupBindingResource
	Spec TargetGroupBindingResourceSpec `json:"spec"`

	// observed state of TargetGroupBindingResource
	// +optional
	Status *TargetGroupBindingResourceStatus `json:"status,omitempty"`
}

TargetGroupBindingResource represents an TargetGroupBinding Custom Resource.

func NewTargetGroupBindingResource

func NewTargetGroupBindingResource(stack core.Stack, id string, spec TargetGroupBindingResourceSpec) *TargetGroupBindingResource

NewTargetGroupBindingResource constructs new TargetGroupBindingResource resource.

func (*TargetGroupBindingResource) SetStatus

SetStatus sets the TargetGroup's status

type TargetGroupBindingResourceSpec

type TargetGroupBindingResourceSpec struct {
	// Describes the TargetGroupBinding Custom Resource that will be created when synthesize this TargetGroupBindingResource.
	Template TargetGroupBindingTemplate `json:"template"`
}

desired state of TargetGroupBindingResource

type TargetGroupBindingResourceStatus

type TargetGroupBindingResourceStatus struct {
	// reference to the TargetGroupBinding Custom Resource.
	TargetGroupBindingRef corev1.ObjectReference `json:"targetGroupBindingRef"`
}

observed state of TargetGroupBindingResource

type TargetGroupBindingSpec

type TargetGroupBindingSpec struct {
	// targetGroupARN is the Amazon Resource Name (ARN) for the TargetGroup.
	TargetGroupARN core.StringToken `json:"targetGroupARN"`

	// targetType is the TargetType of TargetGroup. If unspecified, it will be automatically inferred.
	// +optional
	TargetType *elbv2api.TargetType `json:"targetType,omitempty"`

	// serviceRef is a reference to a Kubernetes Service and ServicePort.
	ServiceRef elbv2api.ServiceReference `json:"serviceRef"`

	// networking provides the networking setup for ELBV2 LoadBalancer to access targets in TargetGroup.
	// +optional
	Networking *TargetGroupBindingNetworking `json:"networking,omitempty"`

	// node selector for instance type target groups to only register certain nodes
	// +optional
	NodeSelector *metav1.LabelSelector `json:"nodeSelector,omitempty"`

	// ipAddressType specifies whether the target group is of type IPv4 or IPv6. If unspecified, it will be automatically inferred.
	// +optional
	IPAddressType *elbv2api.TargetGroupIPAddressType `json:"ipAddressType,omitempty"`
}

TargetGroupBindingSpec defines the desired state of TargetGroupBinding

type TargetGroupBindingTemplate

type TargetGroupBindingTemplate struct {
	// Standard object's metadata.
	metav1.ObjectMeta `json:"metadata"`

	// Specification of TargetGroupBinding Custom Resource.
	Spec TargetGroupBindingSpec `json:"spec"`
}

Template for TargetGroupBinding Custom Resource.

type TargetGroupHealthCheckConfig

type TargetGroupHealthCheckConfig struct {
	// The port the load balancer uses when performing health checks on targets.
	// +optional
	Port *intstr.IntOrString `json:"port,omitempty"`

	// The protocol the load balancer uses when performing health checks on targets.
	// +optional
	Protocol *Protocol `json:"protocol,omitempty"`

	// [HTTP/HTTPS health checks] The ping path that is the destination on the targets for health checks.
	// +optional
	Path *string `json:"path,omitempty"`

	// [HTTP/HTTPS health checks] The HTTP codes to use when checking for a successful response from a target.
	// +optional
	Matcher *HealthCheckMatcher `json:"matcher,omitempty"`

	// The approximate amount of time, in seconds, between health checks of an individual target.
	// +optional
	IntervalSeconds *int64 `json:"intervalSeconds,omitempty"`

	// The amount of time, in seconds, during which no response from a target means a failed health check.
	// +optional
	TimeoutSeconds *int64 `json:"timeoutSeconds,omitempty"`

	// The number of consecutive health checks successes required before considering an unhealthy target healthy.
	// +optional
	HealthyThresholdCount *int64 `json:"healthyThresholdCount,omitempty"`

	// The number of consecutive health check failures required before considering a target unhealthy.
	// +optional
	UnhealthyThresholdCount *int64 `json:"unhealthyThresholdCount,omitempty"`
}

Configuration for TargetGroup's HealthCheck.

type TargetGroupIPAddressType

type TargetGroupIPAddressType string
const (
	TargetGroupIPAddressTypeIPv4 TargetGroupIPAddressType = "ipv4"
	TargetGroupIPAddressTypeIPv6 TargetGroupIPAddressType = "ipv6"
)

type TargetGroupSpec

type TargetGroupSpec struct {
	// The name of the target group.
	Name string `json:"name"`

	// The type of target that you must specify when registering targets with this target group.
	TargetType TargetType `json:"targetType"`

	// The port on which the targets receive traffic.
	Port int64 `json:"port"`

	// The protocol to use for routing traffic to the targets.
	Protocol Protocol `json:"protocol"`

	// The target group protocol version.
	// +optional
	ProtocolVersion *ProtocolVersion `json:"protocolVersion,omitempty"`

	// Target group IP address type IPv4 or IPv6
	// +optional
	IPAddressType *TargetGroupIPAddressType `json:"ipAddressType,omitempty"`

	// Configuration for TargetGroup's HealthCheck.
	// +optional
	HealthCheckConfig *TargetGroupHealthCheckConfig `json:"healthCheckConfig,omitempty"`

	// The target group attributes.
	// +optional
	TargetGroupAttributes []TargetGroupAttribute `json:"targetGroupAttributes,omitempty"`

	// The tags.
	// +optional
	Tags map[string]string `json:"tags,omitempty"`
}

TargetGroupSpec defines the observed state of TargetGroup

type TargetGroupStatus

type TargetGroupStatus struct {
	// The Amazon Resource Name (ARN) of the target group.
	TargetGroupARN string `json:"targetGroupARN"`
}

TargetGroupStatus defines the observed state of TargetGroup

type TargetGroupStickinessConfig

type TargetGroupStickinessConfig struct {
	// Indicates whether target group stickiness is enabled.
	// +optional
	Enabled *bool `json:"enabled,omitempty"`

	// The time period, in seconds, during which requests from a client should be routed to the same target group.
	// +optional
	DurationSeconds *int64 `json:"durationSeconds,omitempty"`
}

Information about the target group stickiness for a rule.

type TargetGroupTuple

type TargetGroupTuple struct {
	// The Amazon Resource Name (ARN) of the target group.
	TargetGroupARN core.StringToken `json:"targetGroupARN"`

	// The weight.
	// +optional
	Weight *int64 `json:"weight,omitempty"`
}

Information about how traffic will be distributed between multiple target groups in a forward rule.

type TargetType

type TargetType string
const (
	TargetTypeInstance TargetType = "instance"
	TargetTypeIP       TargetType = "ip"
)

Jump to

Keyboard shortcuts

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