Readonly
connectionsReadonly
envReadonly
idThe ID of the construct with the App suffix.
This should be used in place of id
when trying to reference the construct.
Optional
Readonly
ipReadonly
listenersReadonly
loadThe ARN of this load balancer
Example value: arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-internal-load-balancer/50dc6c495c0c9188
Readonly
loadThe canonical hosted zone ID of this load balancer
Example value: Z2P70J7EXAMPLE
Readonly
loadThe DNS name of this load balancer
Example value: my-load-balancer-424835706.us-west-2.elb.amazonaws.com
Readonly
loadThe full name of this load balancer
Example value: app/my-load-balancer/50dc6c495c0c9188
Readonly
loadThe name of this load balancer
Example value: my-load-balancer
Readonly
loadReadonly
metricsReadonly
nodeThe tree node.
Protected
Readonly
physicalReturns a string-encoded token that resolves to the physical name that should be passed to the CloudFormation resource.
This value will resolve to one of the following:
"my-awesome-bucket"
)undefined
, when a name should be generated by CloudFormationReadonly
stackOptional
Readonly
vpcThe VPC this load balancer has been created in.
This property is always defined (not null
or undefined
) for sub-classes of BaseLoadBalancer
.
Apply the given removal policy to this resource
The Removal Policy controls what happens to this resource when it stops being managed by CloudFormation, either because you've removed it from the CDK application or because you've made a change that requires the resource to be replaced.
The resource can be deleted (RemovalPolicy.DESTROY
), or left in your AWS
account for data recovery and cleanup later (RemovalPolicy.RETAIN
).
Protected
generateProtected
getReturns an environment-sensitive token that should be used for the
resource's "ARN" attribute (e.g. bucket.bucketArn
).
Normally, this token will resolve to arnAttr
, but if the resource is
referenced across environments, arnComponents
will be used to synthesize
a concrete ARN with the resource's physical name. Make sure to reference
this.physicalName
in arnComponents
.
The CFN attribute which resolves to the ARN of the resource.
Commonly it will be called "Arn" (e.g. resource.attrArn
), but sometimes
it's the CFN resource's ref
.
The format of the ARN of this resource. You must
reference this.physicalName
somewhere within the ARN in order for
cross-environment references to work.
Protected
getReturns an environment-sensitive token that should be used for the
resource's "name" attribute (e.g. bucket.bucketName
).
Normally, this token will resolve to nameAttr
, but if the resource is
referenced across environments, it will be resolved to this.physicalName
,
which will be a concrete name.
The CFN attribute which resolves to the resource's name.
Commonly this is the resource's ref
.
Enable access logging for this load balancer.
A region must be specified on the stack containing the load balancer; you cannot enable logging on environment-agnostic stacks. See https://docs.aws.amazon.com/cdk/latest/guide/environments.html
Optional
prefix: stringThe total number of concurrent TCP connections active from clients to the load balancer and from the load balancer to targets.
Sum over 5 minutes
Use ApplicationLoadBalancer.metrics.activeConnectionCount
instead
Optional
props: MetricOptionsThe number of TLS connections initiated by the client that did not establish a session with the load balancer. Possible causes include a mismatch of ciphers or protocols.
Sum over 5 minutes
Use ApplicationLoadBalancer.metrics.clientTlsNegotiationErrorCount
instead
Optional
props: MetricOptionsThe number of user authentications that could not be completed
Because an authenticate action was misconfigured, the load balancer couldn't establish a connection with the IdP, or the load balancer couldn't complete the authentication flow due to an internal error.
Sum over 5 minutes
Use ApplicationLoadBalancer.metrics.elbAuthError
instead
Optional
props: MetricOptionsThe number of user authentications that could not be completed because the IdP denied access to the user or an authorization code was used more than once.
Sum over 5 minutes
Use ApplicationLoadBalancer.metrics.elbAuthFailure
instead
Optional
props: MetricOptionsThe time elapsed, in milliseconds, to query the IdP for the ID token and user info.
If one or more of these operations fail, this is the time to failure.
Average over 5 minutes
Use ApplicationLoadBalancer.metrics.elbAuthLatency
instead
Optional
props: MetricOptionsThe number of authenticate actions that were successful.
This metric is incremented at the end of the authentication workflow, after the load balancer has retrieved the user claims from the IdP.
Sum over 5 minutes
Use ApplicationLoadBalancer.metrics.elbAuthSuccess
instead
Optional
props: MetricOptionsThe number of HTTP 3xx/4xx/5xx codes that originate from the load balancer.
This does not include any response codes generated by the targets.
Sum over 5 minutes
Use ApplicationLoadBalancer.metrics.httpCodeElb
instead
Optional
props: MetricOptionsThe number of HTTP 2xx/3xx/4xx/5xx response codes generated by all targets in the load balancer.
This does not include any response codes generated by the load balancer.
Sum over 5 minutes
Use ApplicationLoadBalancer.metrics.httpCodeTarget
instead
Optional
props: MetricOptionsThe number of redirect actions that couldn't be completed because the URL in the response location header is larger than 8K.
Sum over 5 minutes
Use ApplicationLoadBalancer.metrics.httpRedirectUrlLimitExceededCount
instead
Optional
props: MetricOptionsThe total number of new TCP connections established from clients to the load balancer and from the load balancer to targets.
Sum over 5 minutes
Use ApplicationLoadBalancer.metrics.newConnectionCount
instead
Optional
props: MetricOptionsThe number of connections that were rejected because the load balancer had reached its maximum number of connections.
Sum over 5 minutes
Use ApplicationLoadBalancer.metrics.rejectedConnectionCount
instead
Optional
props: MetricOptionsThe number of requests processed over IPv4 and IPv6.
This count includes only the requests with a response generated by a target of the load balancer.
Sum over 5 minutes
Use ApplicationLoadBalancer.metrics.requestCount
instead
Optional
props: MetricOptionsThe number of connections that were not successfully established between the load balancer and target.
Sum over 5 minutes
Use ApplicationLoadBalancer.metrics.targetConnectionErrorCount
instead
Optional
props: MetricOptionsThe time elapsed, in seconds, after the request leaves the load balancer until a response from the target is received.
Average over 5 minutes
Use ApplicationLoadBalancer.metrics.targetResponseTime
instead
Optional
props: MetricOptionsThe number of TLS connections initiated by the load balancer that did not establish a session with the target.
Possible causes include a mismatch of ciphers or protocols.
Sum over 5 minutes
Use ApplicationLoadBalancer.metrics.targetTLSNegotiationErrorCount
instead
Optional
props: MetricOptionsProtected
resourceProtected
validateStatic
Protected
_queryInternal
Queries the load balancer context provider for load balancer info.
Static
fromStatic
fromStatic
isChecks if x
is a construct.
Use this method instead of instanceof
to properly detect Construct
instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the constructs
library on
disk are seen as independent, completely different libraries. As a
consequence, the class Construct
in each copy of the constructs
library
is seen as a different class, and an instance of one class will not test as
instanceof
the other class. npm install
will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the constructs
library can be accidentally installed, and instanceof
will behave
unpredictably. It is safest to avoid using instanceof
, and using
this type-testing method instead.
true if x
is an object created from a class which extends Construct
.
Any object
Static
isStatic
isGenerated using TypeDoc
Construct which creates an Application Load Balancer.
This construct should be used in conjunction with [[
GuApplicationListener
]] and [[GuApplicationTargetGroup
]] to route traffic to your application. For more details on these three components, see the AWS documentation.This resource is stateful.
See
https://github.com/guardian/cdk/blob/main/docs/stateful-resources.md