# InitServiceOptions

Options for an InitService.

- Source: [`aws-ec2/lib/cfn-init-elements.ts`](https://github.com/aws/aws-cdk/blob/v2.275.0/packages/aws-cdk-lib/aws-ec2/lib/cfn-init-elements.ts#L750)
- Type last changed: v2.70.0 · 22 Mar 2023

## Example

```ts
declare const myBucket: s3.Bucket;

const handle = new ec2.InitServiceRestartHandle();

ec2.CloudFormationInit.fromElements(
  ec2.InitFile.fromString('/etc/nginx/nginx.conf', '...', { serviceRestartHandles: [handle] }),
  ec2.InitSource.fromS3Object('/var/www/html', myBucket, 'html.zip', { serviceRestartHandles: [handle] }),
  ec2.InitService.enable('nginx', {
    serviceRestartHandle: handle,
  })
);
```

## Properties

- `enabled`: boolean — Enable or disable this service.

  **Default:** true if used in `InitService.enable()`, no change to service state if used in `InitService.fromOptions()`.

  Set to true to ensure that the service will be started automatically upon boot.

  Set to false to ensure that the service will not be started automatically upon boot.

- `ensureRunning`: boolean — Make sure this service is running or not running after cfn-init finishes.

  **Default:** same value as `enabled`.

  Set to true to ensure that the service is running after cfn-init finishes.

  Set to false to ensure that the service is not running after cfn-init finishes.

- `serviceManager`: [ServiceManager](/cdk/api/v2/docs/aws-cdk-lib.aws_ec2.ServiceManager.html) — What service manager to use.

  **Default:** ServiceManager.SYSVINIT for Linux images, ServiceManager.WINDOWS for Windows images

  This needs to match the actual service manager on your Operating System.
  For example, Amazon Linux 1 uses SysVinit, but Amazon Linux 2 uses Systemd.

- `serviceRestartHandle`: [InitServiceRestartHandle](/cdk/api/v2/docs/aws-cdk-lib.aws_ec2.InitServiceRestartHandle.html) — Restart service when the actions registered into the restartHandle have been performed.

  **Default:** No files trigger restart

  Register actions into the restartHandle by passing it to `InitFile`, `InitCommand`,
  `InitPackage` and `InitSource` objects.
