# SystemdConfigFileOptions

Options for creating a SystemD configuration file.

- Source: [`aws-ec2/lib/cfn-init-elements.ts`](https://github.com/aws/aws-cdk/blob/v2.273.0/packages/aws-cdk-lib/aws-ec2/lib/cfn-init-elements.ts#L1071)
- Type last changed: v2.140.0 · 2 May 2024

## Example

```ts
declare const vpc: ec2.Vpc;
declare const instanceType: ec2.InstanceType;

new ec2.Instance(this, 'Instance', {
  vpc,
  instanceType,
  machineImage: ec2.MachineImage.latestAmazonLinux2023(),

  init: ec2.CloudFormationInit.fromElements(
    // Create a simple config file that runs a Python web server
    ec2.InitService.systemdConfigFile('simpleserver', {
      command: '/usr/bin/python3 -m http.server 8080',
      cwd: '/var/www/html',
    }),
    // Start the server using SystemD
    ec2.InitService.enable('simpleserver', {
      serviceManager: ec2.ServiceManager.SYSTEMD,
    }),
    // Drop an example file to show the web server working
    ec2.InitFile.fromString('/var/www/html/index.html', 'Hello! It\'s working!'),
  ),
});
```

## Properties

- `afterNetwork`: boolean = true — Start the service after the networking part of the OS comes up.

- `command`: string (required) — The command to run to start this service.

- `cwd`: string = Root directory or home directory of specified user — The working directory for the command.

  **Default:** Root directory or home directory of specified user

- `description`: string = No description — A description of this service.

- `environmentFiles`: string[] = No environment files — Loads environment variables from files when the process is running.

  Must use absolute paths.

- `environmentVariables`: { [key: string]: string } = No environment variables set — Environment variables to load when the process is running.

- `group`: string = root — The group to execute the process under.

- `keepRunning`: boolean = true — Keep the process running all the time.

  Restarts the process when it exits for any reason other
  than the machine shutting down.

- `user`: string = root — The user to execute the process under.
