# BaseServiceProps

Basic props needed to create a service in a given namespace.

Used by HttpNamespace.createService

- Source: [`aws-servicediscovery/lib/service.ts`](https://github.com/aws/aws-cdk/blob/v2.275.0/packages/aws-cdk-lib/aws-servicediscovery/lib/service.ts#L65)

## Example

```ts
import * as cdk from '../../core';
import * as servicediscovery from '../lib';

const app = new cdk.App();
const stack = new cdk.Stack(app, 'aws-servicediscovery-integ');

const namespace = new servicediscovery.HttpNamespace(stack, 'MyNamespace', {
  name: 'MyHTTPNamespace',
});

const service1 = namespace.createService('NonIpService', {
  description: 'service registering non-ip instances',
});

service1.registerNonIpInstance('NonIpInstance', {
  customAttributes: { arn: 'arn:aws:s3:::amzn-s3-demo-bucket' },
});

const service2 = namespace.createService('IpService', {
  description: 'service registering ip instances',
  healthCheck: {
    type: servicediscovery.HealthCheckType.HTTP,
    resourcePath: '/check',
  },
});

service2.registerIpInstance('IpInstance', {
  ipv4: '54.239.25.192',
});

app.synth();
```

## Properties

- `customHealthCheck`: [HealthCheckCustomConfig](/cdk/api/v2/docs/aws-cdk-lib.aws_servicediscovery.HealthCheckCustomConfig.html) = none — Structure containing failure threshold for a custom health checker.

  Only one of healthCheckConfig or healthCheckCustomConfig can be specified.
  See: https://docs.aws.amazon.com/cloud-map/latest/api/API_HealthCheckCustomConfig.html

- `description`: string = none — A description of the service.

- `healthCheck`: [HealthCheckConfig](/cdk/api/v2/docs/aws-cdk-lib.aws_servicediscovery.HealthCheckConfig.html) = none — Settings for an optional health check.

  If you specify health check settings, AWS Cloud Map associates the health
  check with the records that you specify in DnsConfig. Only one of healthCheckConfig or healthCheckCustomConfig can
  be specified. Not valid for PrivateDnsNamespaces. If you use healthCheck, you can only register IP instances to
  this service.

- `name`: string — A name for the Service.

  **Default:** CloudFormation-generated name
