# ListenerProperty

An object that represents a listener for a virtual node.

- Source: Generated code
- Type last changed: v2.93.0 · 23 Aug 2023

## Example

```ts
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import { aws_appmesh as appmesh } from 'aws-cdk-lib';
const listenerProperty: appmesh.CfnVirtualNode.ListenerProperty = {
  portMapping: {
    port: 123,
    protocol: 'protocol',
  },

  // the properties below are optional
  connectionPool: {
    grpc: {
      maxRequests: 123,
    },
    http: {
      maxConnections: 123,

      // the properties below are optional
      maxPendingRequests: 123,
    },
    http2: {
      maxRequests: 123,
    },
    tcp: {
      maxConnections: 123,
    },
  },
  healthCheck: {
    healthyThreshold: 123,
    intervalMillis: 123,
    protocol: 'protocol',
    timeoutMillis: 123,
    unhealthyThreshold: 123,

    // the properties below are optional
    path: 'path',
    port: 123,
  },
  outlierDetection: {
    baseEjectionDuration: {
      unit: 'unit',
      value: 123,
    },
    interval: {
      unit: 'unit',
      value: 123,
    },
    maxEjectionPercent: 123,
    maxServerErrors: 123,
  },
  timeout: {
    grpc: {
      idle: {
        unit: 'unit',
        value: 123,
      },
      perRequest: {
        unit: 'unit',
        value: 123,
      },
    },
    http: {
      idle: {
        unit: 'unit',
        value: 123,
      },
      perRequest: {
        unit: 'unit',
        value: 123,
      },
    },
    http2: {
      idle: {
        unit: 'unit',
        value: 123,
      },
      perRequest: {
        unit: 'unit',
        value: 123,
      },
    },
    tcp: {
      idle: {
        unit: 'unit',
        value: 123,
      },
    },
  },
  tls: {
    certificate: {
      acm: {
        certificateArn: 'certificateArn',
      },
      file: {
        certificateChain: 'certificateChain',
        privateKey: 'privateKey',
      },
      sds: {
        secretName: 'secretName',
      },
    },
    mode: 'mode',

    // the properties below are optional
    validation: {
      trust: {
        file: {
          certificateChain: 'certificateChain',
        },
        sds: {
          secretName: 'secretName',
        },
      },

      // the properties below are optional
      subjectAlternativeNames: {
        match: {
          exact: ['exact'],
        },
      },
    },
  },
};
```

## Properties

- `connectionPool`: [IResolvable](/cdk/api/v2/docs/aws-cdk-lib.IResolvable.html) | [CfnVirtualNode.VirtualNodeConnectionPoolProperty](/cdk/api/v2/docs/aws-cdk-lib.aws_appmesh.CfnVirtualNode.VirtualNodeConnectionPoolProperty.html) — The connection pool information for the listener.

- `healthCheck`: [IResolvable](/cdk/api/v2/docs/aws-cdk-lib.IResolvable.html) | [CfnVirtualNode.HealthCheckProperty](/cdk/api/v2/docs/aws-cdk-lib.aws_appmesh.CfnVirtualNode.HealthCheckProperty.html) — The health check information for the listener.

- `outlierDetection`: [IResolvable](/cdk/api/v2/docs/aws-cdk-lib.IResolvable.html) | [CfnVirtualNode.OutlierDetectionProperty](/cdk/api/v2/docs/aws-cdk-lib.aws_appmesh.CfnVirtualNode.OutlierDetectionProperty.html) — The outlier detection information for the listener.

- `portMapping`: [IResolvable](/cdk/api/v2/docs/aws-cdk-lib.IResolvable.html) | [CfnVirtualNode.PortMappingProperty](/cdk/api/v2/docs/aws-cdk-lib.aws_appmesh.CfnVirtualNode.PortMappingProperty.html) (required) — The port mapping information for the listener.

- `timeout`: [IResolvable](/cdk/api/v2/docs/aws-cdk-lib.IResolvable.html) | [CfnVirtualNode.ListenerTimeoutProperty](/cdk/api/v2/docs/aws-cdk-lib.aws_appmesh.CfnVirtualNode.ListenerTimeoutProperty.html) — An object that represents timeouts for different protocols.

- `tls`: [IResolvable](/cdk/api/v2/docs/aws-cdk-lib.IResolvable.html) | [CfnVirtualNode.ListenerTlsProperty](/cdk/api/v2/docs/aws-cdk-lib.aws_appmesh.CfnVirtualNode.ListenerTlsProperty.html) — A reference to an object that represents the Transport Layer Security (TLS) properties for a listener.
