# VirtualNodeBaseProps

Basic configuration properties for a VirtualNode.

- Source: [`aws-appmesh/lib/virtual-node.ts`](https://github.com/aws/aws-cdk/blob/v2.275.0/packages/aws-cdk-lib/aws-appmesh/lib/virtual-node.ts#L56)

## Example

```ts
const vpc = new ec2.Vpc(this, 'vpc');
const namespace = new cloudmap.PrivateDnsNamespace(this, 'test-namespace', {
    vpc,
    name: 'domain.local',
});
const service = namespace.createService('Svc');

declare const mesh: appmesh.Mesh;
const node = mesh.addVirtualNode('virtual-node', {
  serviceDiscovery: appmesh.ServiceDiscovery.cloudMap(service),
  listeners: [appmesh.VirtualNodeListener.http({
    port: 8081,
    healthCheck: appmesh.HealthCheck.http({
      healthyThreshold: 3,
      interval: Duration.seconds(5), // minimum
      path: '/health-check-path',
      timeout: Duration.seconds(2), // minimum
      unhealthyThreshold: 2,
    }),
  })],
  accessLog: appmesh.AccessLog.fromFilePath('/dev/stdout'),
});
```

## Properties

- `accessLog`: [AccessLog](/cdk/api/v2/docs/aws-cdk-lib.aws_appmesh.AccessLog.html) — Access Logging Configuration for the virtual node.

  **Default:** No access logging

- `backendDefaults`: [BackendDefaults](/cdk/api/v2/docs/aws-cdk-lib.aws_appmesh.BackendDefaults.html) — Default Configuration Virtual Node uses to communicate with Virtual Service.

  **Default:** No Config

- `backends`: [Backend](/cdk/api/v2/docs/aws-cdk-lib.aws_appmesh.Backend.html)[] — Virtual Services that this is node expected to send outbound traffic to.

  **Default:** No backends

- `listeners`: [VirtualNodeListener](/cdk/api/v2/docs/aws-cdk-lib.aws_appmesh.VirtualNodeListener.html)[] — Initial listener for the virtual node.

  **Default:** No listeners

- `serviceDiscovery`: [ServiceDiscovery](/cdk/api/v2/docs/aws-cdk-lib.aws_appmesh.ServiceDiscovery.html) — Defines how upstream clients will discover this VirtualNode.

  **Default:** No Service Discovery

- `virtualNodeName`: string — The name of the VirtualNode.

  **Default:** A name is automatically determined
