aws-cdk-lib.aws_elasticloadbalancingv2.CfnTargetGroup

class CfnTargetGroup (construct)

LanguageType name
.NETAmazon.CDK.AWS.ElasticLoadBalancingV2.CfnTargetGroup
Gogithub.com/aws/aws-cdk-go/awscdk/v2/awselasticloadbalancingv2#CfnTargetGroup
Javasoftware.amazon.awscdk.services.elasticloadbalancingv2.CfnTargetGroup
Pythonaws_cdk.aws_elasticloadbalancingv2.CfnTargetGroup
TypeScript aws-cdk-lib » aws_elasticloadbalancingv2 » CfnTargetGroup

Implements IConstruct, IDependable, IInspectable

A CloudFormation AWS::ElasticLoadBalancingV2::TargetGroup.

Specifies a target group for an Application Load Balancer, a Network Load Balancer, or a Gateway Load Balancer.

Before you register a Lambda function as a target, you must create a AWS::Lambda::Permission resource that grants the Elastic Load Balancing service principal permission to invoke the Lambda function.

Example

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import { aws_elasticloadbalancingv2 as elbv2 } from 'aws-cdk-lib';
const cfnTargetGroup = new elbv2.CfnTargetGroup(this, 'MyCfnTargetGroup', /* all optional props */ {
  healthCheckEnabled: false,
  healthCheckIntervalSeconds: 123,
  healthCheckPath: 'healthCheckPath',
  healthCheckPort: 'healthCheckPort',
  healthCheckProtocol: 'healthCheckProtocol',
  healthCheckTimeoutSeconds: 123,
  healthyThresholdCount: 123,
  ipAddressType: 'ipAddressType',
  matcher: {
    grpcCode: 'grpcCode',
    httpCode: 'httpCode',
  },
  name: 'name',
  port: 123,
  protocol: 'protocol',
  protocolVersion: 'protocolVersion',
  tags: [{
    key: 'key',
    value: 'value',
  }],
  targetGroupAttributes: [{
    key: 'key',
    value: 'value',
  }],
  targets: [{
    id: 'id',

    // the properties below are optional
    availabilityZone: 'availabilityZone',
    port: 123,
  }],
  targetType: 'targetType',
  unhealthyThresholdCount: 123,
  vpcId: 'vpcId',
});

Initializer

new CfnTargetGroup(scope: Construct, id: string, props?: CfnTargetGroupProps)

Parameters

  • scope Construct — - scope in which this resource is defined.
  • id string — - scoped id of the resource.
  • props CfnTargetGroupProps — - resource properties.

Create a new AWS::ElasticLoadBalancingV2::TargetGroup.

Construct Props

NameTypeDescription
healthCheckEnabled?boolean | IResolvableIndicates whether health checks are enabled.
healthCheckIntervalSeconds?numberThe approximate amount of time, in seconds, between health checks of an individual target.
healthCheckPath?string[HTTP/HTTPS health checks] The destination for health checks on the targets.
healthCheckPort?stringThe port the load balancer uses when performing health checks on targets.
healthCheckProtocol?stringThe protocol the load balancer uses when performing health checks on targets.
healthCheckTimeoutSeconds?numberThe amount of time, in seconds, during which no response from a target means a failed health check.
healthyThresholdCount?numberThe number of consecutive health check successes required before considering a target healthy.
ipAddressType?stringThe type of IP address used for this target group.
matcher?IResolvable | MatcherProperty[HTTP/HTTPS health checks] The HTTP or gRPC codes to use when checking for a successful response from a target.
name?stringThe name of the target group.
port?numberThe port on which the targets receive traffic.
protocol?stringThe protocol to use for routing traffic to the targets.
protocolVersion?string[HTTP/HTTPS protocol] The protocol version.
tags?CfnTag[]The tags.
targetGroupAttributes?IResolvable | IResolvable | TargetGroupAttributeProperty[]The attributes.
targetType?stringThe type of target that you must specify when registering targets with this target group.
targets?IResolvable | IResolvable | TargetDescriptionProperty[]The targets.
unhealthyThresholdCount?numberThe number of consecutive health check failures required before considering a target unhealthy.
vpcId?stringThe identifier of the virtual private cloud (VPC).

healthCheckEnabled?

Type: boolean | IResolvable (optional)

Indicates whether health checks are enabled.

If the target type is lambda , health checks are disabled by default but can be enabled. If the target type is instance , ip , or alb , health checks are always enabled and cannot be disabled.


healthCheckIntervalSeconds?

Type: number (optional)

The approximate amount of time, in seconds, between health checks of an individual target.

The range is 5-300. If the target group protocol is TCP, TLS, UDP, TCP_UDP, HTTP or HTTPS, the default is 30 seconds. If the target group protocol is GENEVE, the default is 10 seconds. If the target type is lambda , the default is 35 seconds.


healthCheckPath?

Type: string (optional)

[HTTP/HTTPS health checks] The destination for health checks on the targets.

[HTTP1 or HTTP2 protocol version] The ping path. The default is /.

[GRPC protocol version] The path of a custom health check method with the format /package.service/method. The default is / AWS .ALB/healthcheck.


healthCheckPort?

Type: string (optional)

The port the load balancer uses when performing health checks on targets.

If the protocol is HTTP, HTTPS, TCP, TLS, UDP, or TCP_UDP, the default is traffic-port , which is the port on which each target receives traffic from the load balancer. If the protocol is GENEVE, the default is port 80.


healthCheckProtocol?

Type: string (optional)

The protocol the load balancer uses when performing health checks on targets.

For Application Load Balancers, the default is HTTP. For Network Load Balancers and Gateway Load Balancers, the default is TCP. The TCP protocol is not supported for health checks if the protocol of the target group is HTTP or HTTPS. The GENEVE, TLS, UDP, and TCP_UDP protocols are not supported for health checks.


healthCheckTimeoutSeconds?

Type: number (optional)

The amount of time, in seconds, during which no response from a target means a failed health check.

The range is 2–120 seconds. For target groups with a protocol of HTTP, the default is 6 seconds. For target groups with a protocol of TCP, TLS or HTTPS, the default is 10 seconds. For target groups with a protocol of GENEVE, the default is 5 seconds. If the target type is lambda , the default is 30 seconds.


healthyThresholdCount?

Type: number (optional)

The number of consecutive health check successes required before considering a target healthy.

The range is 2-10. If the target group protocol is TCP, TCP_UDP, UDP, TLS, HTTP or HTTPS, the default is 5. For target groups with a protocol of GENEVE, the default is 5. If the target type is lambda , the default is 5.


ipAddressType?

Type: string (optional)

The type of IP address used for this target group.

The possible values are ipv4 and ipv6 . This is an optional parameter. If not specified, the IP address type defaults to ipv4 .


matcher?

Type: IResolvable | MatcherProperty (optional)

[HTTP/HTTPS health checks] The HTTP or gRPC codes to use when checking for a successful response from a target.

For target groups with a protocol of TCP, TCP_UDP, UDP or TLS the range is 200-599. For target groups with a protocol of HTTP or HTTPS, the range is 200-499. For target groups with a protocol of GENEVE, the range is 200-399.


name?

Type: string (optional)

The name of the target group.

This name must be unique per region per account, can have a maximum of 32 characters, must contain only alphanumeric characters or hyphens, and must not begin or end with a hyphen.


port?

Type: number (optional)

The port on which the targets receive traffic.

This port is used unless you specify a port override when registering the target. If the target is a Lambda function, this parameter does not apply. If the protocol is GENEVE, the supported port is 6081.


protocol?

Type: string (optional)

The protocol to use for routing traffic to the targets.

For Application Load Balancers, the supported protocols are HTTP and HTTPS. For Network Load Balancers, the supported protocols are TCP, TLS, UDP, or TCP_UDP. For Gateway Load Balancers, the supported protocol is GENEVE. A TCP_UDP listener must be associated with a TCP_UDP target group. If the target is a Lambda function, this parameter does not apply.


protocolVersion?

Type: string (optional)

[HTTP/HTTPS protocol] The protocol version.

The possible values are GRPC , HTTP1 , and HTTP2 .


tags?

Type: CfnTag[] (optional)

The tags.


targetGroupAttributes?

Type: IResolvable | IResolvable | TargetGroupAttributeProperty[] (optional)

The attributes.


targetType?

Type: string (optional)

The type of target that you must specify when registering targets with this target group.

You can't specify targets for a target group using more than one target type.

  • instance - Register targets by instance ID. This is the default value.
  • ip - Register targets by IP address. You can specify IP addresses from the subnets of the virtual private cloud (VPC) for the target group, the RFC 1918 range (10.0.0.0/8, 172.16.0.0/12, and 192.168.0.0/16), and the RFC 6598 range (100.64.0.0/10). You can't specify publicly routable IP addresses.
  • lambda - Register a single Lambda function as a target.
  • alb - Register a single Application Load Balancer as a target.

targets?

Type: IResolvable | IResolvable | TargetDescriptionProperty[] (optional)

The targets.


unhealthyThresholdCount?

Type: number (optional)

The number of consecutive health check failures required before considering a target unhealthy.

The range is 2-10. If the target group protocol is TCP, TCP_UDP, UDP, TLS, HTTP or HTTPS, the default is 2. For target groups with a protocol of GENEVE, the default is 2. If the target type is lambda , the default is 5.


vpcId?

Type: string (optional)

The identifier of the virtual private cloud (VPC).

If the target is a Lambda function, this parameter does not apply. Otherwise, this parameter is required.

Properties

NameTypeDescription
attrLoadBalancerArnsstring[]The Amazon Resource Name (ARN) of the load balancer that routes traffic to this target group.
attrTargetGroupArnstringThe Amazon Resource Name (ARN) of the target group.
attrTargetGroupFullNamestringThe full name of the target group.
attrTargetGroupNamestringThe name of the target group.
cfnOptionsICfnResourceOptionsOptions for this resource, such as condition, update policy etc.
cfnProperties{ [string]: any }
cfnResourceTypestringAWS resource type.
creationStackstring[]
logicalIdstringThe logical ID for this CloudFormation stack element.
nodeNodeThe tree node.
refstringReturn a string that will be resolved to a CloudFormation { Ref } for this element.
stackStackThe stack in which this element is defined.
tagsTagManagerThe tags.
healthCheckEnabled?boolean | IResolvableIndicates whether health checks are enabled.
healthCheckIntervalSeconds?numberThe approximate amount of time, in seconds, between health checks of an individual target.
healthCheckPath?string[HTTP/HTTPS health checks] The destination for health checks on the targets.
healthCheckPort?stringThe port the load balancer uses when performing health checks on targets.
healthCheckProtocol?stringThe protocol the load balancer uses when performing health checks on targets.
healthCheckTimeoutSeconds?numberThe amount of time, in seconds, during which no response from a target means a failed health check.
healthyThresholdCount?numberThe number of consecutive health check successes required before considering a target healthy.
ipAddressType?stringThe type of IP address used for this target group.
matcher?IResolvable | MatcherProperty[HTTP/HTTPS health checks] The HTTP or gRPC codes to use when checking for a successful response from a target.
name?stringThe name of the target group.
port?numberThe port on which the targets receive traffic.
protocol?stringThe protocol to use for routing traffic to the targets.
protocolVersion?string[HTTP/HTTPS protocol] The protocol version.
targetGroupAttributes?IResolvable | IResolvable | TargetGroupAttributeProperty[]The attributes.
targetType?stringThe type of target that you must specify when registering targets with this target group.
targets?IResolvable | IResolvable | TargetDescriptionProperty[]The targets.
unhealthyThresholdCount?numberThe number of consecutive health check failures required before considering a target unhealthy.
vpcId?stringThe identifier of the virtual private cloud (VPC).
static CFN_RESOURCE_TYPE_NAMEstringThe CloudFormation resource type name for this resource class.

attrLoadBalancerArns

Type: string[]

The Amazon Resource Name (ARN) of the load balancer that routes traffic to this target group.


attrTargetGroupArn

Type: string

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


attrTargetGroupFullName

Type: string

The full name of the target group.

For example, targetgroup/my-target-group/cbf133c568e0d028 .


attrTargetGroupName

Type: string

The name of the target group.

For example, my-target-group .


cfnOptions

Type: ICfnResourceOptions

Options for this resource, such as condition, update policy etc.


cfnProperties

Type: { [string]: any }


cfnResourceType

Type: string

AWS resource type.


creationStack

Type: string[]


logicalId

Type: string

The logical ID for this CloudFormation stack element.

The logical ID of the element is calculated from the path of the resource node in the construct tree.

To override this value, use overrideLogicalId(newLogicalId).


node

Type: Node

The tree node.


ref

Type: string

Return a string that will be resolved to a CloudFormation { Ref } for this element.

If, by any chance, the intrinsic reference of a resource is not a string, you could coerce it to an IResolvable through Lazy.any({ produce: resource.ref }).


stack

Type: Stack

The stack in which this element is defined.

CfnElements must be defined within a stack scope (directly or indirectly).


tags

Type: TagManager

The tags.


healthCheckEnabled?

Type: boolean | IResolvable (optional)

Indicates whether health checks are enabled.

If the target type is lambda , health checks are disabled by default but can be enabled. If the target type is instance , ip , or alb , health checks are always enabled and cannot be disabled.


healthCheckIntervalSeconds?

Type: number (optional)

The approximate amount of time, in seconds, between health checks of an individual target.

The range is 5-300. If the target group protocol is TCP, TLS, UDP, TCP_UDP, HTTP or HTTPS, the default is 30 seconds. If the target group protocol is GENEVE, the default is 10 seconds. If the target type is lambda , the default is 35 seconds.


healthCheckPath?

Type: string (optional)

[HTTP/HTTPS health checks] The destination for health checks on the targets.

[HTTP1 or HTTP2 protocol version] The ping path. The default is /.

[GRPC protocol version] The path of a custom health check method with the format /package.service/method. The default is / AWS .ALB/healthcheck.


healthCheckPort?

Type: string (optional)

The port the load balancer uses when performing health checks on targets.

If the protocol is HTTP, HTTPS, TCP, TLS, UDP, or TCP_UDP, the default is traffic-port , which is the port on which each target receives traffic from the load balancer. If the protocol is GENEVE, the default is port 80.


healthCheckProtocol?

Type: string (optional)

The protocol the load balancer uses when performing health checks on targets.

For Application Load Balancers, the default is HTTP. For Network Load Balancers and Gateway Load Balancers, the default is TCP. The TCP protocol is not supported for health checks if the protocol of the target group is HTTP or HTTPS. The GENEVE, TLS, UDP, and TCP_UDP protocols are not supported for health checks.


healthCheckTimeoutSeconds?

Type: number (optional)

The amount of time, in seconds, during which no response from a target means a failed health check.

The range is 2–120 seconds. For target groups with a protocol of HTTP, the default is 6 seconds. For target groups with a protocol of TCP, TLS or HTTPS, the default is 10 seconds. For target groups with a protocol of GENEVE, the default is 5 seconds. If the target type is lambda , the default is 30 seconds.


healthyThresholdCount?

Type: number (optional)

The number of consecutive health check successes required before considering a target healthy.

The range is 2-10. If the target group protocol is TCP, TCP_UDP, UDP, TLS, HTTP or HTTPS, the default is 5. For target groups with a protocol of GENEVE, the default is 5. If the target type is lambda , the default is 5.


ipAddressType?

Type: string (optional)

The type of IP address used for this target group.

The possible values are ipv4 and ipv6 . This is an optional parameter. If not specified, the IP address type defaults to ipv4 .


matcher?

Type: IResolvable | MatcherProperty (optional)

[HTTP/HTTPS health checks] The HTTP or gRPC codes to use when checking for a successful response from a target.

For target groups with a protocol of TCP, TCP_UDP, UDP or TLS the range is 200-599. For target groups with a protocol of HTTP or HTTPS, the range is 200-499. For target groups with a protocol of GENEVE, the range is 200-399.


name?

Type: string (optional)

The name of the target group.

This name must be unique per region per account, can have a maximum of 32 characters, must contain only alphanumeric characters or hyphens, and must not begin or end with a hyphen.


port?

Type: number (optional)

The port on which the targets receive traffic.

This port is used unless you specify a port override when registering the target. If the target is a Lambda function, this parameter does not apply. If the protocol is GENEVE, the supported port is 6081.


protocol?

Type: string (optional)

The protocol to use for routing traffic to the targets.

For Application Load Balancers, the supported protocols are HTTP and HTTPS. For Network Load Balancers, the supported protocols are TCP, TLS, UDP, or TCP_UDP. For Gateway Load Balancers, the supported protocol is GENEVE. A TCP_UDP listener must be associated with a TCP_UDP target group. If the target is a Lambda function, this parameter does not apply.


protocolVersion?

Type: string (optional)

[HTTP/HTTPS protocol] The protocol version.

The possible values are GRPC , HTTP1 , and HTTP2 .


targetGroupAttributes?

Type: IResolvable | IResolvable | TargetGroupAttributeProperty[] (optional)

The attributes.


targetType?

Type: string (optional)

The type of target that you must specify when registering targets with this target group.

You can't specify targets for a target group using more than one target type.

  • instance - Register targets by instance ID. This is the default value.
  • ip - Register targets by IP address. You can specify IP addresses from the subnets of the virtual private cloud (VPC) for the target group, the RFC 1918 range (10.0.0.0/8, 172.16.0.0/12, and 192.168.0.0/16), and the RFC 6598 range (100.64.0.0/10). You can't specify publicly routable IP addresses.
  • lambda - Register a single Lambda function as a target.
  • alb - Register a single Application Load Balancer as a target.

targets?

Type: IResolvable | IResolvable | TargetDescriptionProperty[] (optional)

The targets.


unhealthyThresholdCount?

Type: number (optional)

The number of consecutive health check failures required before considering a target unhealthy.

The range is 2-10. If the target group protocol is TCP, TCP_UDP, UDP, TLS, HTTP or HTTPS, the default is 2. For target groups with a protocol of GENEVE, the default is 2. If the target type is lambda , the default is 5.


vpcId?

Type: string (optional)

The identifier of the virtual private cloud (VPC).

If the target is a Lambda function, this parameter does not apply. Otherwise, this parameter is required.


static CFN_RESOURCE_TYPE_NAME

Type: string

The CloudFormation resource type name for this resource class.

Methods

NameDescription
addDeletionOverride(path)Syntactic sugar for addOverride(path, undefined).
addDependency(target)Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
addDependsOn(target)⚠️Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
addMetadata(key, value)Add a value to the CloudFormation Resource Metadata.
addOverride(path, value)Adds an override to the synthesized CloudFormation resource.
addPropertyDeletionOverride(propertyPath)Adds an override that deletes the value of a property from the resource definition.
addPropertyOverride(propertyPath, value)Adds an override to a resource property.
applyRemovalPolicy(policy?, options?)Sets the deletion policy of the resource based on the removal policy specified.
getAtt(attributeName, typeHint?)Returns a token for an runtime attribute of this resource.
getMetadata(key)Retrieve a value value from the CloudFormation Resource Metadata.
inspect(inspector)Examines the CloudFormation resource and discloses attributes.
obtainDependencies()Retrieves an array of resources this resource depends on.
obtainResourceDependencies()Get a shallow copy of dependencies between this resource and other resources in the same stack.
overrideLogicalId(newLogicalId)Overrides the auto-generated logical ID with a specific ID.
removeDependency(target)Indicates that this resource no longer depends on another resource.
replaceDependency(target, newTarget)Replaces one dependency with another.
toString()Returns a string representation of this construct.
protected renderProperties(props)

addDeletionOverride(path)

public addDeletionOverride(path: string): void

Parameters

  • path string — The path of the value to delete.

Syntactic sugar for addOverride(path, undefined).


addDependency(target)

public addDependency(target: CfnResource): void

Parameters

  • target CfnResource

Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.

This can be used for resources across stacks (or nested stack) boundaries and the dependency will automatically be transferred to the relevant scope.


addDependsOn(target)⚠️

public addDependsOn(target: CfnResource): void

⚠️ Deprecated: use addDependency

Parameters

  • target CfnResource

Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.


addMetadata(key, value)

public addMetadata(key: string, value: any): void

Parameters

  • key string
  • value any

Add a value to the CloudFormation Resource Metadata.

See also: [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html

Note that this is a different set of metadata from CDK node metadata; this metadata ends up in the stack template under the resource, whereas CDK node metadata ends up in the Cloud Assembly.](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html

Note that this is a different set of metadata from CDK node metadata; this metadata ends up in the stack template under the resource, whereas CDK node metadata ends up in the Cloud Assembly.)


addOverride(path, value)

public addOverride(path: string, value: any): void

Parameters

  • path string — - The path of the property, you can use dot notation to override values in complex types.
  • value any — - The value.

Adds an override to the synthesized CloudFormation resource.

To add a property override, either use addPropertyOverride or prefix path with "Properties." (i.e. Properties.TopicName).

If the override is nested, separate each nested level using a dot (.) in the path parameter. If there is an array as part of the nesting, specify the index in the path.

To include a literal . in the property name, prefix with a \. In most programming languages you will need to write this as "\\." because the \ itself will need to be escaped.

For example,

cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']);
cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE');

would add the overrides

"Properties": {
  "GlobalSecondaryIndexes": [
    {
      "Projection": {
        "NonKeyAttributes": [ "myattribute" ]
        ...
      }
      ...
    },
    {
      "ProjectionType": "INCLUDE"
      ...
    },
  ]
  ...
}

The value argument to addOverride will not be processed or translated in any way. Pass raw JSON values in here with the correct capitalization for CloudFormation. If you pass CDK classes or structs, they will be rendered with lowercased key names, and CloudFormation will reject the template.


addPropertyDeletionOverride(propertyPath)

public addPropertyDeletionOverride(propertyPath: string): void

Parameters

  • propertyPath string — The path to the property.

Adds an override that deletes the value of a property from the resource definition.


addPropertyOverride(propertyPath, value)

public addPropertyOverride(propertyPath: string, value: any): void

Parameters

  • propertyPath string — The path of the property.
  • value any — The value.

Adds an override to a resource property.

Syntactic sugar for addOverride("Properties.<...>", value).


applyRemovalPolicy(policy?, options?)

public applyRemovalPolicy(policy?: RemovalPolicy, options?: RemovalPolicyOptions): void

Parameters

  • policy RemovalPolicy
  • options RemovalPolicyOptions

Sets the deletion policy of the resource based on the removal policy specified.

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). In some cases, a snapshot can be taken of the resource prior to deletion (RemovalPolicy.SNAPSHOT). A list of resources that support this policy can be found in the following link:

See also: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options


getAtt(attributeName, typeHint?)

public getAtt(attributeName: string, typeHint?: ResolutionTypeHint): Reference

Parameters

  • attributeName string — The name of the attribute.
  • typeHint ResolutionTypeHint

Returns

  • Reference

Returns a token for an runtime attribute of this resource.

Ideally, use generated attribute accessors (e.g. resource.arn), but this can be used for future compatibility in case there is no generated attribute.


getMetadata(key)

public getMetadata(key: string): any

Parameters

  • key string

Returns

  • any

Retrieve a value value from the CloudFormation Resource Metadata.

See also: [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html

Note that this is a different set of metadata from CDK node metadata; this metadata ends up in the stack template under the resource, whereas CDK node metadata ends up in the Cloud Assembly.](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html

Note that this is a different set of metadata from CDK node metadata; this metadata ends up in the stack template under the resource, whereas CDK node metadata ends up in the Cloud Assembly.)


inspect(inspector)

public inspect(inspector: TreeInspector): void

Parameters

  • inspector TreeInspector — - tree inspector to collect and process attributes.

Examines the CloudFormation resource and discloses attributes.


obtainDependencies()

public obtainDependencies(): Stack &#124; CfnResource[]

Returns

  • Stack | CfnResource[]

Retrieves an array of resources this resource depends on.

This assembles dependencies on resources across stacks (including nested stacks) automatically.


obtainResourceDependencies()

public obtainResourceDependencies(): CfnResource[]

Returns

  • CfnResource[]

Get a shallow copy of dependencies between this resource and other resources in the same stack.


overrideLogicalId(newLogicalId)

public overrideLogicalId(newLogicalId: string): void

Parameters

  • newLogicalId string — The new logical ID to use for this stack element.

Overrides the auto-generated logical ID with a specific ID.


removeDependency(target)

public removeDependency(target: CfnResource): void

Parameters

  • target CfnResource

Indicates that this resource no longer depends on another resource.

This can be used for resources across stacks (including nested stacks) and the dependency will automatically be removed from the relevant scope.


replaceDependency(target, newTarget)

public replaceDependency(target: CfnResource, newTarget: CfnResource): void

Parameters

  • target CfnResource — The dependency to replace.
  • newTarget CfnResource — The new dependency to add.

Replaces one dependency with another.


toString()

public toString(): string

Returns

  • string

Returns a string representation of this construct.


protected renderProperties(props)

protected renderProperties(props: { [string]: any }): { [string]: any }

Parameters

  • props { [string]: any }

Returns

  • { [string]: any }