@pepperize/cdk-autoscaling-gitlab-runner
Version:
AWS CDK GitLab Runner autoscaling on EC2 instances using docker+machine executor.
1,227 lines (759 loc) • 135 kB
Markdown
# API Reference <a name="API Reference" id="api-reference"></a>
## Constructs <a name="Constructs" id="Constructs"></a>
### Cache <a name="Cache" id="@pepperize/cdk-autoscaling-gitlab-runner.Cache"></a>
A GitLab Runner cache consisting of an Amazon S3 bucket.
The bucket is encrypted with a KMS managed master key, it has public access blocked and will be cleared and deleted on CFN stack deletion.
#### Initializers <a name="Initializers" id="@pepperize/cdk-autoscaling-gitlab-runner.Cache.Initializer"></a>
```typescript
import { Cache } from '@pepperize/cdk-autoscaling-gitlab-runner'
new Cache(scope: Construct, id: string, props?: CacheProps)
```
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@pepperize/cdk-autoscaling-gitlab-runner.Cache.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | *No description.* |
| <code><a href="#@pepperize/cdk-autoscaling-gitlab-runner.Cache.Initializer.parameter.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@pepperize/cdk-autoscaling-gitlab-runner.Cache.Initializer.parameter.props">props</a></code> | <code><a href="#@pepperize/cdk-autoscaling-gitlab-runner.CacheProps">CacheProps</a></code> | *No description.* |
---
##### `scope`<sup>Required</sup> <a name="scope" id="@pepperize/cdk-autoscaling-gitlab-runner.Cache.Initializer.parameter.scope"></a>
- *Type:* constructs.Construct
---
##### `id`<sup>Required</sup> <a name="id" id="@pepperize/cdk-autoscaling-gitlab-runner.Cache.Initializer.parameter.id"></a>
- *Type:* string
---
##### `props`<sup>Optional</sup> <a name="props" id="@pepperize/cdk-autoscaling-gitlab-runner.Cache.Initializer.parameter.props"></a>
- *Type:* <a href="#@pepperize/cdk-autoscaling-gitlab-runner.CacheProps">CacheProps</a>
---
#### Methods <a name="Methods" id="Methods"></a>
| **Name** | **Description** |
| --- | --- |
| <code><a href="#@pepperize/cdk-autoscaling-gitlab-runner.Cache.toString">toString</a></code> | Returns a string representation of this construct. |
---
##### `toString` <a name="toString" id="@pepperize/cdk-autoscaling-gitlab-runner.Cache.toString"></a>
```typescript
public toString(): string
```
Returns a string representation of this construct.
#### Static Functions <a name="Static Functions" id="Static Functions"></a>
| **Name** | **Description** |
| --- | --- |
| <code><a href="#@pepperize/cdk-autoscaling-gitlab-runner.Cache.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |
---
##### ~~`isConstruct`~~ <a name="isConstruct" id="@pepperize/cdk-autoscaling-gitlab-runner.Cache.isConstruct"></a>
```typescript
import { Cache } from '@pepperize/cdk-autoscaling-gitlab-runner'
Cache.isConstruct(x: any)
```
Checks if `x` is a construct.
###### `x`<sup>Required</sup> <a name="x" id="@pepperize/cdk-autoscaling-gitlab-runner.Cache.isConstruct.parameter.x"></a>
- *Type:* any
Any object.
---
#### Properties <a name="Properties" id="Properties"></a>
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@pepperize/cdk-autoscaling-gitlab-runner.Cache.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@pepperize/cdk-autoscaling-gitlab-runner.Cache.property.bucket">bucket</a></code> | <code>aws-cdk-lib.aws_s3.IBucket</code> | *No description.* |
---
##### `node`<sup>Required</sup> <a name="node" id="@pepperize/cdk-autoscaling-gitlab-runner.Cache.property.node"></a>
```typescript
public readonly node: Node;
```
- *Type:* constructs.Node
The tree node.
---
##### `bucket`<sup>Required</sup> <a name="bucket" id="@pepperize/cdk-autoscaling-gitlab-runner.Cache.property.bucket"></a>
```typescript
public readonly bucket: IBucket;
```
- *Type:* aws-cdk-lib.aws_s3.IBucket
---
### GitlabRunnerAutoscaling <a name="GitlabRunnerAutoscaling" id="@pepperize/cdk-autoscaling-gitlab-runner.GitlabRunnerAutoscaling"></a>
The Gitlab Runner autoscaling on EC2 by Docker Machine.
*Example*
```typescript
<caption>Provisioning a basic Runner</caption>
const app = new cdk.App();
const stack = new cdk.Stack(app, "RunnerStack", {
env: {
account: "000000000000",
region: "us-east-1",
}
});
const token = new StringParameter(stack, "imported-token", {
parameterName: "/gitlab-runner/token1",
stringValue: gitlabToken,
type: ParameterType.SECURE_STRING,
tier: ParameterTier.STANDARD,
});
new GitlabRunnerAutoscaling(stack, "GitlabRunner", {
runners: [{
token: "xxxxxxxxxxxxxxxxxxxx"
}],
});
```
#### Initializers <a name="Initializers" id="@pepperize/cdk-autoscaling-gitlab-runner.GitlabRunnerAutoscaling.Initializer"></a>
```typescript
import { GitlabRunnerAutoscaling } from '@pepperize/cdk-autoscaling-gitlab-runner'
new GitlabRunnerAutoscaling(scope: Stack, id: string, props: GitlabRunnerAutoscalingProps)
```
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@pepperize/cdk-autoscaling-gitlab-runner.GitlabRunnerAutoscaling.Initializer.parameter.scope">scope</a></code> | <code>aws-cdk-lib.Stack</code> | *No description.* |
| <code><a href="#@pepperize/cdk-autoscaling-gitlab-runner.GitlabRunnerAutoscaling.Initializer.parameter.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@pepperize/cdk-autoscaling-gitlab-runner.GitlabRunnerAutoscaling.Initializer.parameter.props">props</a></code> | <code><a href="#@pepperize/cdk-autoscaling-gitlab-runner.GitlabRunnerAutoscalingProps">GitlabRunnerAutoscalingProps</a></code> | *No description.* |
---
##### `scope`<sup>Required</sup> <a name="scope" id="@pepperize/cdk-autoscaling-gitlab-runner.GitlabRunnerAutoscaling.Initializer.parameter.scope"></a>
- *Type:* aws-cdk-lib.Stack
---
##### `id`<sup>Required</sup> <a name="id" id="@pepperize/cdk-autoscaling-gitlab-runner.GitlabRunnerAutoscaling.Initializer.parameter.id"></a>
- *Type:* string
---
##### `props`<sup>Required</sup> <a name="props" id="@pepperize/cdk-autoscaling-gitlab-runner.GitlabRunnerAutoscaling.Initializer.parameter.props"></a>
- *Type:* <a href="#@pepperize/cdk-autoscaling-gitlab-runner.GitlabRunnerAutoscalingProps">GitlabRunnerAutoscalingProps</a>
---
#### Methods <a name="Methods" id="Methods"></a>
| **Name** | **Description** |
| --- | --- |
| <code><a href="#@pepperize/cdk-autoscaling-gitlab-runner.GitlabRunnerAutoscaling.toString">toString</a></code> | Returns a string representation of this construct. |
---
##### `toString` <a name="toString" id="@pepperize/cdk-autoscaling-gitlab-runner.GitlabRunnerAutoscaling.toString"></a>
```typescript
public toString(): string
```
Returns a string representation of this construct.
#### Static Functions <a name="Static Functions" id="Static Functions"></a>
| **Name** | **Description** |
| --- | --- |
| <code><a href="#@pepperize/cdk-autoscaling-gitlab-runner.GitlabRunnerAutoscaling.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |
---
##### ~~`isConstruct`~~ <a name="isConstruct" id="@pepperize/cdk-autoscaling-gitlab-runner.GitlabRunnerAutoscaling.isConstruct"></a>
```typescript
import { GitlabRunnerAutoscaling } from '@pepperize/cdk-autoscaling-gitlab-runner'
GitlabRunnerAutoscaling.isConstruct(x: any)
```
Checks if `x` is a construct.
###### `x`<sup>Required</sup> <a name="x" id="@pepperize/cdk-autoscaling-gitlab-runner.GitlabRunnerAutoscaling.isConstruct.parameter.x"></a>
- *Type:* any
Any object.
---
#### Properties <a name="Properties" id="Properties"></a>
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@pepperize/cdk-autoscaling-gitlab-runner.GitlabRunnerAutoscaling.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@pepperize/cdk-autoscaling-gitlab-runner.GitlabRunnerAutoscaling.property.cacheBucket">cacheBucket</a></code> | <code>aws-cdk-lib.aws_s3.IBucket</code> | *No description.* |
| <code><a href="#@pepperize/cdk-autoscaling-gitlab-runner.GitlabRunnerAutoscaling.property.manager">manager</a></code> | <code><a href="#@pepperize/cdk-autoscaling-gitlab-runner.GitlabRunnerAutoscalingManager">GitlabRunnerAutoscalingManager</a></code> | *No description.* |
| <code><a href="#@pepperize/cdk-autoscaling-gitlab-runner.GitlabRunnerAutoscaling.property.network">network</a></code> | <code><a href="#@pepperize/cdk-autoscaling-gitlab-runner.Network">Network</a></code> | *No description.* |
| <code><a href="#@pepperize/cdk-autoscaling-gitlab-runner.GitlabRunnerAutoscaling.property.runners">runners</a></code> | <code><a href="#@pepperize/cdk-autoscaling-gitlab-runner.GitlabRunnerAutoscalingJobRunner">GitlabRunnerAutoscalingJobRunner</a>[]</code> | *No description.* |
| <code><a href="#@pepperize/cdk-autoscaling-gitlab-runner.GitlabRunnerAutoscaling.property.checkInterval">checkInterval</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@pepperize/cdk-autoscaling-gitlab-runner.GitlabRunnerAutoscaling.property.concurrent">concurrent</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@pepperize/cdk-autoscaling-gitlab-runner.GitlabRunnerAutoscaling.property.logFormat">logFormat</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@pepperize/cdk-autoscaling-gitlab-runner.GitlabRunnerAutoscaling.property.logLevel">logLevel</a></code> | <code>string</code> | *No description.* |
---
##### `node`<sup>Required</sup> <a name="node" id="@pepperize/cdk-autoscaling-gitlab-runner.GitlabRunnerAutoscaling.property.node"></a>
```typescript
public readonly node: Node;
```
- *Type:* constructs.Node
The tree node.
---
##### `cacheBucket`<sup>Required</sup> <a name="cacheBucket" id="@pepperize/cdk-autoscaling-gitlab-runner.GitlabRunnerAutoscaling.property.cacheBucket"></a>
```typescript
public readonly cacheBucket: IBucket;
```
- *Type:* aws-cdk-lib.aws_s3.IBucket
---
##### `manager`<sup>Required</sup> <a name="manager" id="@pepperize/cdk-autoscaling-gitlab-runner.GitlabRunnerAutoscaling.property.manager"></a>
```typescript
public readonly manager: GitlabRunnerAutoscalingManager;
```
- *Type:* <a href="#@pepperize/cdk-autoscaling-gitlab-runner.GitlabRunnerAutoscalingManager">GitlabRunnerAutoscalingManager</a>
---
##### `network`<sup>Required</sup> <a name="network" id="@pepperize/cdk-autoscaling-gitlab-runner.GitlabRunnerAutoscaling.property.network"></a>
```typescript
public readonly network: Network;
```
- *Type:* <a href="#@pepperize/cdk-autoscaling-gitlab-runner.Network">Network</a>
---
##### `runners`<sup>Required</sup> <a name="runners" id="@pepperize/cdk-autoscaling-gitlab-runner.GitlabRunnerAutoscaling.property.runners"></a>
```typescript
public readonly runners: GitlabRunnerAutoscalingJobRunner[];
```
- *Type:* <a href="#@pepperize/cdk-autoscaling-gitlab-runner.GitlabRunnerAutoscalingJobRunner">GitlabRunnerAutoscalingJobRunner</a>[]
---
##### `checkInterval`<sup>Optional</sup> <a name="checkInterval" id="@pepperize/cdk-autoscaling-gitlab-runner.GitlabRunnerAutoscaling.property.checkInterval"></a>
```typescript
public readonly checkInterval: number;
```
- *Type:* number
---
##### `concurrent`<sup>Optional</sup> <a name="concurrent" id="@pepperize/cdk-autoscaling-gitlab-runner.GitlabRunnerAutoscaling.property.concurrent"></a>
```typescript
public readonly concurrent: number;
```
- *Type:* number
---
##### `logFormat`<sup>Optional</sup> <a name="logFormat" id="@pepperize/cdk-autoscaling-gitlab-runner.GitlabRunnerAutoscaling.property.logFormat"></a>
```typescript
public readonly logFormat: string;
```
- *Type:* string
---
##### `logLevel`<sup>Optional</sup> <a name="logLevel" id="@pepperize/cdk-autoscaling-gitlab-runner.GitlabRunnerAutoscaling.property.logLevel"></a>
```typescript
public readonly logLevel: string;
```
- *Type:* string
---
### GitlabRunnerAutoscalingJobRunner <a name="GitlabRunnerAutoscalingJobRunner" id="@pepperize/cdk-autoscaling-gitlab-runner.GitlabRunnerAutoscalingJobRunner"></a>
#### Initializers <a name="Initializers" id="@pepperize/cdk-autoscaling-gitlab-runner.GitlabRunnerAutoscalingJobRunner.Initializer"></a>
```typescript
import { GitlabRunnerAutoscalingJobRunner } from '@pepperize/cdk-autoscaling-gitlab-runner'
new GitlabRunnerAutoscalingJobRunner(scope: Construct, id: string, props: GitlabRunnerAutoscalingJobRunnerProps)
```
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@pepperize/cdk-autoscaling-gitlab-runner.GitlabRunnerAutoscalingJobRunner.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | *No description.* |
| <code><a href="#@pepperize/cdk-autoscaling-gitlab-runner.GitlabRunnerAutoscalingJobRunner.Initializer.parameter.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@pepperize/cdk-autoscaling-gitlab-runner.GitlabRunnerAutoscalingJobRunner.Initializer.parameter.props">props</a></code> | <code><a href="#@pepperize/cdk-autoscaling-gitlab-runner.GitlabRunnerAutoscalingJobRunnerProps">GitlabRunnerAutoscalingJobRunnerProps</a></code> | *No description.* |
---
##### `scope`<sup>Required</sup> <a name="scope" id="@pepperize/cdk-autoscaling-gitlab-runner.GitlabRunnerAutoscalingJobRunner.Initializer.parameter.scope"></a>
- *Type:* constructs.Construct
---
##### `id`<sup>Required</sup> <a name="id" id="@pepperize/cdk-autoscaling-gitlab-runner.GitlabRunnerAutoscalingJobRunner.Initializer.parameter.id"></a>
- *Type:* string
---
##### `props`<sup>Required</sup> <a name="props" id="@pepperize/cdk-autoscaling-gitlab-runner.GitlabRunnerAutoscalingJobRunner.Initializer.parameter.props"></a>
- *Type:* <a href="#@pepperize/cdk-autoscaling-gitlab-runner.GitlabRunnerAutoscalingJobRunnerProps">GitlabRunnerAutoscalingJobRunnerProps</a>
---
#### Methods <a name="Methods" id="Methods"></a>
| **Name** | **Description** |
| --- | --- |
| <code><a href="#@pepperize/cdk-autoscaling-gitlab-runner.GitlabRunnerAutoscalingJobRunner.toString">toString</a></code> | Returns a string representation of this construct. |
---
##### `toString` <a name="toString" id="@pepperize/cdk-autoscaling-gitlab-runner.GitlabRunnerAutoscalingJobRunner.toString"></a>
```typescript
public toString(): string
```
Returns a string representation of this construct.
#### Static Functions <a name="Static Functions" id="Static Functions"></a>
| **Name** | **Description** |
| --- | --- |
| <code><a href="#@pepperize/cdk-autoscaling-gitlab-runner.GitlabRunnerAutoscalingJobRunner.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |
---
##### ~~`isConstruct`~~ <a name="isConstruct" id="@pepperize/cdk-autoscaling-gitlab-runner.GitlabRunnerAutoscalingJobRunner.isConstruct"></a>
```typescript
import { GitlabRunnerAutoscalingJobRunner } from '@pepperize/cdk-autoscaling-gitlab-runner'
GitlabRunnerAutoscalingJobRunner.isConstruct(x: any)
```
Checks if `x` is a construct.
###### `x`<sup>Required</sup> <a name="x" id="@pepperize/cdk-autoscaling-gitlab-runner.GitlabRunnerAutoscalingJobRunner.isConstruct.parameter.x"></a>
- *Type:* any
Any object.
---
#### Properties <a name="Properties" id="Properties"></a>
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@pepperize/cdk-autoscaling-gitlab-runner.GitlabRunnerAutoscalingJobRunner.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@pepperize/cdk-autoscaling-gitlab-runner.GitlabRunnerAutoscalingJobRunner.property.configuration">configuration</a></code> | <code><a href="#@pepperize/cdk-autoscaling-gitlab-runner.RunnerConfiguration">RunnerConfiguration</a></code> | *No description.* |
| <code><a href="#@pepperize/cdk-autoscaling-gitlab-runner.GitlabRunnerAutoscalingJobRunner.property.instanceProfile">instanceProfile</a></code> | <code>aws-cdk-lib.aws_iam.CfnInstanceProfile</code> | *No description.* |
| <code><a href="#@pepperize/cdk-autoscaling-gitlab-runner.GitlabRunnerAutoscalingJobRunner.property.instanceType">instanceType</a></code> | <code>aws-cdk-lib.aws_ec2.InstanceType</code> | *No description.* |
| <code><a href="#@pepperize/cdk-autoscaling-gitlab-runner.GitlabRunnerAutoscalingJobRunner.property.machineImage">machineImage</a></code> | <code>aws-cdk-lib.aws_ec2.IMachineImage</code> | *No description.* |
| <code><a href="#@pepperize/cdk-autoscaling-gitlab-runner.GitlabRunnerAutoscalingJobRunner.property.role">role</a></code> | <code>aws-cdk-lib.aws_iam.IRole</code> | *No description.* |
| <code><a href="#@pepperize/cdk-autoscaling-gitlab-runner.GitlabRunnerAutoscalingJobRunner.property.keyPair">keyPair</a></code> | <code>aws-cdk-lib.aws_secretsmanager.ISecret</code> | *No description.* |
---
##### `node`<sup>Required</sup> <a name="node" id="@pepperize/cdk-autoscaling-gitlab-runner.GitlabRunnerAutoscalingJobRunner.property.node"></a>
```typescript
public readonly node: Node;
```
- *Type:* constructs.Node
The tree node.
---
##### `configuration`<sup>Required</sup> <a name="configuration" id="@pepperize/cdk-autoscaling-gitlab-runner.GitlabRunnerAutoscalingJobRunner.property.configuration"></a>
```typescript
public readonly configuration: RunnerConfiguration;
```
- *Type:* <a href="#@pepperize/cdk-autoscaling-gitlab-runner.RunnerConfiguration">RunnerConfiguration</a>
---
##### `instanceProfile`<sup>Required</sup> <a name="instanceProfile" id="@pepperize/cdk-autoscaling-gitlab-runner.GitlabRunnerAutoscalingJobRunner.property.instanceProfile"></a>
```typescript
public readonly instanceProfile: CfnInstanceProfile;
```
- *Type:* aws-cdk-lib.aws_iam.CfnInstanceProfile
---
##### `instanceType`<sup>Required</sup> <a name="instanceType" id="@pepperize/cdk-autoscaling-gitlab-runner.GitlabRunnerAutoscalingJobRunner.property.instanceType"></a>
```typescript
public readonly instanceType: InstanceType;
```
- *Type:* aws-cdk-lib.aws_ec2.InstanceType
---
##### `machineImage`<sup>Required</sup> <a name="machineImage" id="@pepperize/cdk-autoscaling-gitlab-runner.GitlabRunnerAutoscalingJobRunner.property.machineImage"></a>
```typescript
public readonly machineImage: IMachineImage;
```
- *Type:* aws-cdk-lib.aws_ec2.IMachineImage
---
##### `role`<sup>Required</sup> <a name="role" id="@pepperize/cdk-autoscaling-gitlab-runner.GitlabRunnerAutoscalingJobRunner.property.role"></a>
```typescript
public readonly role: IRole;
```
- *Type:* aws-cdk-lib.aws_iam.IRole
---
##### `keyPair`<sup>Optional</sup> <a name="keyPair" id="@pepperize/cdk-autoscaling-gitlab-runner.GitlabRunnerAutoscalingJobRunner.property.keyPair"></a>
```typescript
public readonly keyPair: ISecret;
```
- *Type:* aws-cdk-lib.aws_secretsmanager.ISecret
---
### GitlabRunnerAutoscalingManager <a name="GitlabRunnerAutoscalingManager" id="@pepperize/cdk-autoscaling-gitlab-runner.GitlabRunnerAutoscalingManager"></a>
Settings for the manager (coordinator).
Manager coordinates the placement of runner (job executor) instances
#### Initializers <a name="Initializers" id="@pepperize/cdk-autoscaling-gitlab-runner.GitlabRunnerAutoscalingManager.Initializer"></a>
```typescript
import { GitlabRunnerAutoscalingManager } from '@pepperize/cdk-autoscaling-gitlab-runner'
new GitlabRunnerAutoscalingManager(scope: Construct, id: string, props: GitlabRunnerAutoscalingManagerProps)
```
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@pepperize/cdk-autoscaling-gitlab-runner.GitlabRunnerAutoscalingManager.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | *No description.* |
| <code><a href="#@pepperize/cdk-autoscaling-gitlab-runner.GitlabRunnerAutoscalingManager.Initializer.parameter.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@pepperize/cdk-autoscaling-gitlab-runner.GitlabRunnerAutoscalingManager.Initializer.parameter.props">props</a></code> | <code><a href="#@pepperize/cdk-autoscaling-gitlab-runner.GitlabRunnerAutoscalingManagerProps">GitlabRunnerAutoscalingManagerProps</a></code> | *No description.* |
---
##### `scope`<sup>Required</sup> <a name="scope" id="@pepperize/cdk-autoscaling-gitlab-runner.GitlabRunnerAutoscalingManager.Initializer.parameter.scope"></a>
- *Type:* constructs.Construct
---
##### `id`<sup>Required</sup> <a name="id" id="@pepperize/cdk-autoscaling-gitlab-runner.GitlabRunnerAutoscalingManager.Initializer.parameter.id"></a>
- *Type:* string
---
##### `props`<sup>Required</sup> <a name="props" id="@pepperize/cdk-autoscaling-gitlab-runner.GitlabRunnerAutoscalingManager.Initializer.parameter.props"></a>
- *Type:* <a href="#@pepperize/cdk-autoscaling-gitlab-runner.GitlabRunnerAutoscalingManagerProps">GitlabRunnerAutoscalingManagerProps</a>
---
#### Methods <a name="Methods" id="Methods"></a>
| **Name** | **Description** |
| --- | --- |
| <code><a href="#@pepperize/cdk-autoscaling-gitlab-runner.GitlabRunnerAutoscalingManager.toString">toString</a></code> | Returns a string representation of this construct. |
---
##### `toString` <a name="toString" id="@pepperize/cdk-autoscaling-gitlab-runner.GitlabRunnerAutoscalingManager.toString"></a>
```typescript
public toString(): string
```
Returns a string representation of this construct.
#### Static Functions <a name="Static Functions" id="Static Functions"></a>
| **Name** | **Description** |
| --- | --- |
| <code><a href="#@pepperize/cdk-autoscaling-gitlab-runner.GitlabRunnerAutoscalingManager.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |
---
##### ~~`isConstruct`~~ <a name="isConstruct" id="@pepperize/cdk-autoscaling-gitlab-runner.GitlabRunnerAutoscalingManager.isConstruct"></a>
```typescript
import { GitlabRunnerAutoscalingManager } from '@pepperize/cdk-autoscaling-gitlab-runner'
GitlabRunnerAutoscalingManager.isConstruct(x: any)
```
Checks if `x` is a construct.
###### `x`<sup>Required</sup> <a name="x" id="@pepperize/cdk-autoscaling-gitlab-runner.GitlabRunnerAutoscalingManager.isConstruct.parameter.x"></a>
- *Type:* any
Any object.
---
#### Properties <a name="Properties" id="Properties"></a>
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@pepperize/cdk-autoscaling-gitlab-runner.GitlabRunnerAutoscalingManager.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@pepperize/cdk-autoscaling-gitlab-runner.GitlabRunnerAutoscalingManager.property.cacheBucket">cacheBucket</a></code> | <code>aws-cdk-lib.aws_s3.IBucket</code> | *No description.* |
| <code><a href="#@pepperize/cdk-autoscaling-gitlab-runner.GitlabRunnerAutoscalingManager.property.globalConfiguration">globalConfiguration</a></code> | <code><a href="#@pepperize/cdk-autoscaling-gitlab-runner.GlobalConfiguration">GlobalConfiguration</a></code> | *No description.* |
| <code><a href="#@pepperize/cdk-autoscaling-gitlab-runner.GitlabRunnerAutoscalingManager.property.initConfig">initConfig</a></code> | <code>aws-cdk-lib.aws_ec2.CloudFormationInit</code> | *No description.* |
| <code><a href="#@pepperize/cdk-autoscaling-gitlab-runner.GitlabRunnerAutoscalingManager.property.instanceType">instanceType</a></code> | <code>aws-cdk-lib.aws_ec2.InstanceType</code> | *No description.* |
| <code><a href="#@pepperize/cdk-autoscaling-gitlab-runner.GitlabRunnerAutoscalingManager.property.machineImage">machineImage</a></code> | <code>aws-cdk-lib.aws_ec2.IMachineImage</code> | *No description.* |
| <code><a href="#@pepperize/cdk-autoscaling-gitlab-runner.GitlabRunnerAutoscalingManager.property.network">network</a></code> | <code><a href="#@pepperize/cdk-autoscaling-gitlab-runner.Network">Network</a></code> | *No description.* |
| <code><a href="#@pepperize/cdk-autoscaling-gitlab-runner.GitlabRunnerAutoscalingManager.property.role">role</a></code> | <code>aws-cdk-lib.aws_iam.IRole</code> | *No description.* |
| <code><a href="#@pepperize/cdk-autoscaling-gitlab-runner.GitlabRunnerAutoscalingManager.property.runners">runners</a></code> | <code><a href="#@pepperize/cdk-autoscaling-gitlab-runner.GitlabRunnerAutoscalingJobRunner">GitlabRunnerAutoscalingJobRunner</a>[]</code> | *No description.* |
| <code><a href="#@pepperize/cdk-autoscaling-gitlab-runner.GitlabRunnerAutoscalingManager.property.runnersSecurityGroupName">runnersSecurityGroupName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@pepperize/cdk-autoscaling-gitlab-runner.GitlabRunnerAutoscalingManager.property.userData">userData</a></code> | <code>aws-cdk-lib.aws_ec2.UserData</code> | *No description.* |
| <code><a href="#@pepperize/cdk-autoscaling-gitlab-runner.GitlabRunnerAutoscalingManager.property.keyPairName">keyPairName</a></code> | <code>string</code> | *No description.* |
---
##### `node`<sup>Required</sup> <a name="node" id="@pepperize/cdk-autoscaling-gitlab-runner.GitlabRunnerAutoscalingManager.property.node"></a>
```typescript
public readonly node: Node;
```
- *Type:* constructs.Node
The tree node.
---
##### `cacheBucket`<sup>Required</sup> <a name="cacheBucket" id="@pepperize/cdk-autoscaling-gitlab-runner.GitlabRunnerAutoscalingManager.property.cacheBucket"></a>
```typescript
public readonly cacheBucket: IBucket;
```
- *Type:* aws-cdk-lib.aws_s3.IBucket
---
##### `globalConfiguration`<sup>Required</sup> <a name="globalConfiguration" id="@pepperize/cdk-autoscaling-gitlab-runner.GitlabRunnerAutoscalingManager.property.globalConfiguration"></a>
```typescript
public readonly globalConfiguration: GlobalConfiguration;
```
- *Type:* <a href="#@pepperize/cdk-autoscaling-gitlab-runner.GlobalConfiguration">GlobalConfiguration</a>
---
##### `initConfig`<sup>Required</sup> <a name="initConfig" id="@pepperize/cdk-autoscaling-gitlab-runner.GitlabRunnerAutoscalingManager.property.initConfig"></a>
```typescript
public readonly initConfig: CloudFormationInit;
```
- *Type:* aws-cdk-lib.aws_ec2.CloudFormationInit
---
##### `instanceType`<sup>Required</sup> <a name="instanceType" id="@pepperize/cdk-autoscaling-gitlab-runner.GitlabRunnerAutoscalingManager.property.instanceType"></a>
```typescript
public readonly instanceType: InstanceType;
```
- *Type:* aws-cdk-lib.aws_ec2.InstanceType
---
##### `machineImage`<sup>Required</sup> <a name="machineImage" id="@pepperize/cdk-autoscaling-gitlab-runner.GitlabRunnerAutoscalingManager.property.machineImage"></a>
```typescript
public readonly machineImage: IMachineImage;
```
- *Type:* aws-cdk-lib.aws_ec2.IMachineImage
---
##### `network`<sup>Required</sup> <a name="network" id="@pepperize/cdk-autoscaling-gitlab-runner.GitlabRunnerAutoscalingManager.property.network"></a>
```typescript
public readonly network: Network;
```
- *Type:* <a href="#@pepperize/cdk-autoscaling-gitlab-runner.Network">Network</a>
---
##### `role`<sup>Required</sup> <a name="role" id="@pepperize/cdk-autoscaling-gitlab-runner.GitlabRunnerAutoscalingManager.property.role"></a>
```typescript
public readonly role: IRole;
```
- *Type:* aws-cdk-lib.aws_iam.IRole
---
##### `runners`<sup>Required</sup> <a name="runners" id="@pepperize/cdk-autoscaling-gitlab-runner.GitlabRunnerAutoscalingManager.property.runners"></a>
```typescript
public readonly runners: GitlabRunnerAutoscalingJobRunner[];
```
- *Type:* <a href="#@pepperize/cdk-autoscaling-gitlab-runner.GitlabRunnerAutoscalingJobRunner">GitlabRunnerAutoscalingJobRunner</a>[]
---
##### `runnersSecurityGroupName`<sup>Required</sup> <a name="runnersSecurityGroupName" id="@pepperize/cdk-autoscaling-gitlab-runner.GitlabRunnerAutoscalingManager.property.runnersSecurityGroupName"></a>
```typescript
public readonly runnersSecurityGroupName: string;
```
- *Type:* string
---
##### `userData`<sup>Required</sup> <a name="userData" id="@pepperize/cdk-autoscaling-gitlab-runner.GitlabRunnerAutoscalingManager.property.userData"></a>
```typescript
public readonly userData: UserData;
```
- *Type:* aws-cdk-lib.aws_ec2.UserData
---
##### `keyPairName`<sup>Optional</sup> <a name="keyPairName" id="@pepperize/cdk-autoscaling-gitlab-runner.GitlabRunnerAutoscalingManager.property.keyPairName"></a>
```typescript
public readonly keyPairName: string;
```
- *Type:* string
---
### Network <a name="Network" id="@pepperize/cdk-autoscaling-gitlab-runner.Network"></a>
Network settings for the manager and runners.
All EC2 instances should belong to the same subnet, availability zone and vpc.
#### Initializers <a name="Initializers" id="@pepperize/cdk-autoscaling-gitlab-runner.Network.Initializer"></a>
```typescript
import { Network } from '@pepperize/cdk-autoscaling-gitlab-runner'
new Network(scope: Construct, id: string, props?: NetworkProps)
```
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@pepperize/cdk-autoscaling-gitlab-runner.Network.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | *No description.* |
| <code><a href="#@pepperize/cdk-autoscaling-gitlab-runner.Network.Initializer.parameter.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@pepperize/cdk-autoscaling-gitlab-runner.Network.Initializer.parameter.props">props</a></code> | <code><a href="#@pepperize/cdk-autoscaling-gitlab-runner.NetworkProps">NetworkProps</a></code> | *No description.* |
---
##### `scope`<sup>Required</sup> <a name="scope" id="@pepperize/cdk-autoscaling-gitlab-runner.Network.Initializer.parameter.scope"></a>
- *Type:* constructs.Construct
---
##### `id`<sup>Required</sup> <a name="id" id="@pepperize/cdk-autoscaling-gitlab-runner.Network.Initializer.parameter.id"></a>
- *Type:* string
---
##### `props`<sup>Optional</sup> <a name="props" id="@pepperize/cdk-autoscaling-gitlab-runner.Network.Initializer.parameter.props"></a>
- *Type:* <a href="#@pepperize/cdk-autoscaling-gitlab-runner.NetworkProps">NetworkProps</a>
---
#### Methods <a name="Methods" id="Methods"></a>
| **Name** | **Description** |
| --- | --- |
| <code><a href="#@pepperize/cdk-autoscaling-gitlab-runner.Network.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@pepperize/cdk-autoscaling-gitlab-runner.Network.hasPrivateSubnets">hasPrivateSubnets</a></code> | *No description.* |
---
##### `toString` <a name="toString" id="@pepperize/cdk-autoscaling-gitlab-runner.Network.toString"></a>
```typescript
public toString(): string
```
Returns a string representation of this construct.
##### `hasPrivateSubnets` <a name="hasPrivateSubnets" id="@pepperize/cdk-autoscaling-gitlab-runner.Network.hasPrivateSubnets"></a>
```typescript
public hasPrivateSubnets(): boolean
```
#### Static Functions <a name="Static Functions" id="Static Functions"></a>
| **Name** | **Description** |
| --- | --- |
| <code><a href="#@pepperize/cdk-autoscaling-gitlab-runner.Network.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |
---
##### ~~`isConstruct`~~ <a name="isConstruct" id="@pepperize/cdk-autoscaling-gitlab-runner.Network.isConstruct"></a>
```typescript
import { Network } from '@pepperize/cdk-autoscaling-gitlab-runner'
Network.isConstruct(x: any)
```
Checks if `x` is a construct.
###### `x`<sup>Required</sup> <a name="x" id="@pepperize/cdk-autoscaling-gitlab-runner.Network.isConstruct.parameter.x"></a>
- *Type:* any
Any object.
---
#### Properties <a name="Properties" id="Properties"></a>
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@pepperize/cdk-autoscaling-gitlab-runner.Network.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@pepperize/cdk-autoscaling-gitlab-runner.Network.property.availabilityZone">availabilityZone</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@pepperize/cdk-autoscaling-gitlab-runner.Network.property.subnet">subnet</a></code> | <code>aws-cdk-lib.aws_ec2.ISubnet</code> | *No description.* |
| <code><a href="#@pepperize/cdk-autoscaling-gitlab-runner.Network.property.vpc">vpc</a></code> | <code>aws-cdk-lib.aws_ec2.IVpc</code> | *No description.* |
---
##### `node`<sup>Required</sup> <a name="node" id="@pepperize/cdk-autoscaling-gitlab-runner.Network.property.node"></a>
```typescript
public readonly node: Node;
```
- *Type:* constructs.Node
The tree node.
---
##### `availabilityZone`<sup>Required</sup> <a name="availabilityZone" id="@pepperize/cdk-autoscaling-gitlab-runner.Network.property.availabilityZone"></a>
```typescript
public readonly availabilityZone: string;
```
- *Type:* string
---
##### `subnet`<sup>Required</sup> <a name="subnet" id="@pepperize/cdk-autoscaling-gitlab-runner.Network.property.subnet"></a>
```typescript
public readonly subnet: ISubnet;
```
- *Type:* aws-cdk-lib.aws_ec2.ISubnet
---
##### `vpc`<sup>Required</sup> <a name="vpc" id="@pepperize/cdk-autoscaling-gitlab-runner.Network.property.vpc"></a>
```typescript
public readonly vpc: IVpc;
```
- *Type:* aws-cdk-lib.aws_ec2.IVpc
---
## Structs <a name="Structs" id="Structs"></a>
### AutoscalingConfiguration <a name="AutoscalingConfiguration" id="@pepperize/cdk-autoscaling-gitlab-runner.AutoscalingConfiguration"></a>
> [https://docs.gitlab.com/runner/configuration/advanced-configuration.html#the-runnersmachineautoscaling-sections](https://docs.gitlab.com/runner/configuration/advanced-configuration.html#the-runnersmachineautoscaling-sections)
#### Initializer <a name="Initializer" id="@pepperize/cdk-autoscaling-gitlab-runner.AutoscalingConfiguration.Initializer"></a>
```typescript
import { AutoscalingConfiguration } from '@pepperize/cdk-autoscaling-gitlab-runner'
const autoscalingConfiguration: AutoscalingConfiguration = { ... }
```
#### Properties <a name="Properties" id="Properties"></a>
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@pepperize/cdk-autoscaling-gitlab-runner.AutoscalingConfiguration.property.idleCount">idleCount</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@pepperize/cdk-autoscaling-gitlab-runner.AutoscalingConfiguration.property.idleTime">idleTime</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@pepperize/cdk-autoscaling-gitlab-runner.AutoscalingConfiguration.property.periods">periods</a></code> | <code>string[]</code> | The Periods setting contains an array of string patterns of time periods represented in a cron-style format. https://github.com/gorhill/cronexpr#implementation. |
| <code><a href="#@pepperize/cdk-autoscaling-gitlab-runner.AutoscalingConfiguration.property.timezone">timezone</a></code> | <code>string</code> | *No description.* |
---
##### `idleCount`<sup>Optional</sup> <a name="idleCount" id="@pepperize/cdk-autoscaling-gitlab-runner.AutoscalingConfiguration.property.idleCount"></a>
```typescript
public readonly idleCount: number;
```
- *Type:* number
---
##### `idleTime`<sup>Optional</sup> <a name="idleTime" id="@pepperize/cdk-autoscaling-gitlab-runner.AutoscalingConfiguration.property.idleTime"></a>
```typescript
public readonly idleTime: number;
```
- *Type:* number
---
##### `periods`<sup>Optional</sup> <a name="periods" id="@pepperize/cdk-autoscaling-gitlab-runner.AutoscalingConfiguration.property.periods"></a>
```typescript
public readonly periods: string[];
```
- *Type:* string[]
The Periods setting contains an array of string patterns of time periods represented in a cron-style format. https://github.com/gorhill/cronexpr#implementation.
[second] [minute] [hour] [day of month] [month] [day of week] [year]
---
*Example*
```typescript
// "* * 7-22 * * mon-fri *"
```
##### `timezone`<sup>Optional</sup> <a name="timezone" id="@pepperize/cdk-autoscaling-gitlab-runner.AutoscalingConfiguration.property.timezone"></a>
```typescript
public readonly timezone: string;
```
- *Type:* string
---
### CacheConfiguration <a name="CacheConfiguration" id="@pepperize/cdk-autoscaling-gitlab-runner.CacheConfiguration"></a>
#### Initializer <a name="Initializer" id="@pepperize/cdk-autoscaling-gitlab-runner.CacheConfiguration.Initializer"></a>
```typescript
import { CacheConfiguration } from '@pepperize/cdk-autoscaling-gitlab-runner'
const cacheConfiguration: CacheConfiguration = { ... }
```
#### Properties <a name="Properties" id="Properties"></a>
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@pepperize/cdk-autoscaling-gitlab-runner.CacheConfiguration.property.s3">s3</a></code> | <code><a href="#@pepperize/cdk-autoscaling-gitlab-runner.CacheS3Configuration">CacheS3Configuration</a></code> | *No description.* |
| <code><a href="#@pepperize/cdk-autoscaling-gitlab-runner.CacheConfiguration.property.shared">shared</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#@pepperize/cdk-autoscaling-gitlab-runner.CacheConfiguration.property.type">type</a></code> | <code>string</code> | *No description.* |
---
##### `s3`<sup>Optional</sup> <a name="s3" id="@pepperize/cdk-autoscaling-gitlab-runner.CacheConfiguration.property.s3"></a>
```typescript
public readonly s3: CacheS3Configuration;
```
- *Type:* <a href="#@pepperize/cdk-autoscaling-gitlab-runner.CacheS3Configuration">CacheS3Configuration</a>
---
##### `shared`<sup>Optional</sup> <a name="shared" id="@pepperize/cdk-autoscaling-gitlab-runner.CacheConfiguration.property.shared"></a>
```typescript
public readonly shared: boolean;
```
- *Type:* boolean
---
##### `type`<sup>Optional</sup> <a name="type" id="@pepperize/cdk-autoscaling-gitlab-runner.CacheConfiguration.property.type"></a>
```typescript
public readonly type: string;
```
- *Type:* string
---
### CacheProps <a name="CacheProps" id="@pepperize/cdk-autoscaling-gitlab-runner.CacheProps"></a>
#### Initializer <a name="Initializer" id="@pepperize/cdk-autoscaling-gitlab-runner.CacheProps.Initializer"></a>
```typescript
import { CacheProps } from '@pepperize/cdk-autoscaling-gitlab-runner'
const cacheProps: CacheProps = { ... }
```
#### Properties <a name="Properties" id="Properties"></a>
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@pepperize/cdk-autoscaling-gitlab-runner.CacheProps.property.bucketName">bucketName</a></code> | <code>string</code> | The infix of the physical cache bucket name. |
| <code><a href="#@pepperize/cdk-autoscaling-gitlab-runner.CacheProps.property.expiration">expiration</a></code> | <code>aws-cdk-lib.Duration</code> | The number of days after which the created cache objects are deleted from S3. |
---
##### `bucketName`<sup>Optional</sup> <a name="bucketName" id="@pepperize/cdk-autoscaling-gitlab-runner.CacheProps.property.bucketName"></a>
```typescript
public readonly bucketName: string;
```
- *Type:* string
- *Default:* "runner-cache"
The infix of the physical cache bucket name.
---
##### `expiration`<sup>Optional</sup> <a name="expiration" id="@pepperize/cdk-autoscaling-gitlab-runner.CacheProps.property.expiration"></a>
```typescript
public readonly expiration: Duration;
```
- *Type:* aws-cdk-lib.Duration
- *Default:* 30 days
The number of days after which the created cache objects are deleted from S3.
---
### CacheS3Configuration <a name="CacheS3Configuration" id="@pepperize/cdk-autoscaling-gitlab-runner.CacheS3Configuration"></a>
Define cache configuration for S3 storage.
> [https://docs.gitlab.com/runner/configuration/advanced-configuration.html#the-runnerscaches3-section](https://docs.gitlab.com/runner/configuration/advanced-configuration.html#the-runnerscaches3-section)
#### Initializer <a name="Initializer" id="@pepperize/cdk-autoscaling-gitlab-runner.CacheS3Configuration.Initializer"></a>
```typescript
import { CacheS3Configuration } from '@pepperize/cdk-autoscaling-gitlab-runner'
const cacheS3Configuration: CacheS3Configuration = { ... }
```
#### Properties <a name="Properties" id="Properties"></a>
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@pepperize/cdk-autoscaling-gitlab-runner.CacheS3Configuration.property.accessKey">accessKey</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@pepperize/cdk-autoscaling-gitlab-runner.CacheS3Configuration.property.authenticationType">authenticationType</a></code> | <code>string</code> | In GitLab 15.0 and later, explicitly set AuthenticationType to iam or access-key. |
| <code><a href="#@pepperize/cdk-autoscaling-gitlab-runner.CacheS3Configuration.property.bucketLocation">bucketLocation</a></code> | <code>string</code> | The name of the S3 region. |
| <code><a href="#@pepperize/cdk-autoscaling-gitlab-runner.CacheS3Configuration.property.bucketName">bucketName</a></code> | <code>string</code> | The name of the storage bucket where cache is stored. |
| <code><a href="#@pepperize/cdk-autoscaling-gitlab-runner.CacheS3Configuration.property.insecure">insecure</a></code> | <code>boolean</code> | Set to true if the S3 service is available by HTTP. |
| <code><a href="#@pepperize/cdk-autoscaling-gitlab-runner.CacheS3Configuration.property.secretKey">secretKey</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@pepperize/cdk-autoscaling-gitlab-runner.CacheS3Configuration.property.serverAddress">serverAddress</a></code> | <code>string</code> | The AWS S3 host. |
---
##### `accessKey`<sup>Optional</sup> <a name="accessKey" id="@pepperize/cdk-autoscaling-gitlab-runner.CacheS3Configuration.property.accessKey"></a>
```typescript
public readonly accessKey: string;
```
- *Type:* string
---
##### `authenticationType`<sup>Optional</sup> <a name="authenticationType" id="@pepperize/cdk-autoscaling-gitlab-runner.CacheS3Configuration.property.authenticationType"></a>
```typescript
public readonly authenticationType: string;
```
- *Type:* string
- *Default:* "iam"
In GitLab 15.0 and later, explicitly set AuthenticationType to iam or access-key.
> [https://gitlab.com/gitlab-org/gitlab-runner/-/issues/28171](https://gitlab.com/gitlab-org/gitlab-runner/-/issues/28171)
---
##### `bucketLocation`<sup>Optional</sup> <a name="bucketLocation" id="@pepperize/cdk-autoscaling-gitlab-runner.CacheS3Configuration.property.bucketLocation"></a>
```typescript
public readonly bucketLocation: string;
```
- *Type:* string
The name of the S3 region.
---
##### `bucketName`<sup>Optional</sup> <a name="bucketName" id="@pepperize/cdk-autoscaling-gitlab-runner.CacheS3Configuration.property.bucketName"></a>
```typescript
public readonly bucketName: string;
```
- *Type:* string
- *Default:* "runners-cache"
The name of the storage bucket where cache is stored.
---
##### `insecure`<sup>Optional</sup> <a name="insecure" id="@pepperize/cdk-autoscaling-gitlab-runner.CacheS3Configuration.property.insecure"></a>
```typescript
public readonly insecure: boolean;
```
- *Type:* boolean
- *Default:* false
Set to true if the S3 service is available by HTTP.
---
##### `secretKey`<sup>Optional</sup> <a name="secretKey" id="@pepperize/cdk-autoscaling-gitlab-runner.CacheS3Configuration.property.secretKey"></a>
```typescript
public readonly secretKey: string;
```
- *Type:* string
---
##### `serverAddress`<sup>Optional</sup> <a name="serverAddress" id="@pepperize/cdk-autoscaling-gitlab-runner.CacheS3Configuration.property.serverAddress"></a>
```typescript
public readonly serverAddress: string;
```
- *Type:* string
- *Default:* "s3.amazonaws.com"
The AWS S3 host.
---
### ConfigurationMapperProps <a name="ConfigurationMapperProps" id="@pepperize/cdk-autoscaling-gitlab-runner.ConfigurationMapperProps"></a>
#### Initializer <a name="Initializer" id="@pepperize/cdk-autoscaling-gitlab-runner.ConfigurationMapperProps.Initializer"></a>
```typescript
import { ConfigurationMapperProps } from '@pepperize/cdk-autoscaling-gitlab-runner'
const configurationMapperProps: ConfigurationMapperProps = { ... }
```
#### Properties <a name="Properties" id="Properties"></a>
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@pepperize/cdk-autoscaling-gitlab-runner.ConfigurationMapperProps.property.globalConfiguration">globalConfiguration</a></code> | <code><a href="#@pepperize/cdk-autoscaling-gitlab-runner.GlobalConfiguration">GlobalConfiguration</a></code> | *No description.* |
| <code><a href="#@pepperize/cdk-autoscaling-gitlab-runner.ConfigurationMapperProps.property.runnersConfiguration">runnersConfiguration</a></code> | <code><a href="#@pepperize/cdk-autoscaling-gitlab-runner.RunnerConfiguration">RunnerConfiguration</a>[]</code> | *No description.* |
---
##### `globalConfiguration`<sup>Required</sup> <a name="globalConfiguration" id="@pepperize/cdk-autoscaling-gitlab-runner.ConfigurationMapperProps.property.globalConfiguration"></a>
```typescript
public readonly globalConfiguration: GlobalConfiguration;
```
- *Type:* <a href="#@pepperize/cdk-autoscaling-gitlab-runner.GlobalConfiguration">GlobalConfiguration</a>
---
##### `runnersConfiguration`<sup>Required</sup> <a name="runnersConfiguration" id="@pepperize/cdk-autoscaling-gitlab-runner.ConfigurationMapperProps.property.runnersConfiguration"></a>
```typescript
public readonly runnersConfiguration: RunnerConfiguration[];
```
- *Type:* <a href="#@pepperize/cdk-autoscaling-gitlab-runner.RunnerConfiguration">RunnerConfiguration</a>[]
---
### DockerConfiguration <a name="DockerConfiguration" id="@pepperize/cdk-autoscaling-gitlab-runner.DockerConfiguration"></a>
Configure docker on the runners.
> [https://docs.gitlab.com/runner/configuration/advanced-configuration.html#the-runnersdocker-section](https://docs.gitlab.com/runner/configuration/advanced-configuration.html#the-runnersdocker-section)
#### Initializer <a name="Initializer" id="@pepperize/cdk-autoscaling-gitlab-runner.DockerConfiguration.Initializer"></a>
```typescript
import { DockerConfiguration } from '@pepperize/cdk-autoscaling-gitlab-runner'
const dockerConfiguration: DockerConfiguration = { ... }
```
#### Properties <a name="Properties" id="Properties"></a>
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@pepperize/cdk-autoscaling-gitlab-runner.DockerConfiguration.property.allowedImages">allowedImages</a></code> | <code>string[]</code> | Wildcard list of images that can be specified in the .gitlab-ci.yml file. If not present, all images are allowed (equivalent to ["*\/*:*"]). See Restrict Docker images and services. |
| <code><a href="#@pepperize/cdk-autoscaling-gitlab-runner.DockerConfiguration.property.allowedServices">allowedServices</a></code> | <code>string[]</code> | Wildcard list of services that can be specified in the .gitlab-ci.yml file. If not present, all images are allowed (equivalent to [*\/*:*]). See Restrict Docker images and services. |
| <code><a href="#@pepperize/cdk-autoscaling-gitlab-runner.DockerConfiguration.property.cacheDir">cacheDir</a></code> | <code>string</code> | Directory where Docker caches should be stored. |
| <code><a href="#@pepperize/cdk-autoscaling-gitlab-runner.DockerConfiguration.property.capAdd">capAdd</a></code> | <code>string[]</code> | Add additional Linux capabilities to the container. |
| <code><a href="#@pepperize/cdk-autoscaling-gitlab-runner.DockerConfiguration.property.capDrop">capDrop</a></code> | <code>string[]</code> | Drop additional Linux capabilities from the container. |
| <code><a href="#@pepperize/cdk-autoscaling-gitlab-runner.DockerConfiguration.property.cpus">cpus</a></code> | <code>string</code> | Number of CPUs (available in Docker 1.13 or later. A string. |
| <code><a href="#@pepperize/cdk-autoscaling-gitlab-runner.DockerConfiguration.property.cpusetCpus">cpusetCpus</a></code> | <code>string</code> | The control group’s CpusetCpus. |
| <code><a href="#@pepperize/cdk-autoscaling-gitlab-runner.DockerConfiguration.property.cpuShares">cpuShares</a></code> | <code>number</code> | Number of CPU shares used to set relative CPU usage. |
| <code><a href="#@pepperize/cdk-autoscaling-gitlab-runner.DockerConfiguration.property.devices">devices</a></code> | <code>string[]</code> | Share additional host devices with the container. |
| <code><a href="#@pepperize/cdk-autoscaling-gitlab-runner.DockerConfiguration.property.disableCache">disableCache</a></code> | <code>boolean</code> | The Docker executor has two levels of caching: a global one (like any other executor) and a local cache based on Docker volumes. |
| <code><a href="#@pepperize/cdk-autoscaling-gitlab-runner.DockerConfiguration.property.disableEntrypointOverwrite">disableEntrypointOverwrite</a></code> | <code>boolean</code> | Disable the image entrypoint overwriting. |
| <code><a href="#@pepperize/cdk-autoscaling-gitlab-runner.DockerConfiguration.property.dns">dns</a></code> | <code>string[]</code> | A list of DNS servers for the container to use. |
| <code><a href="#@pepperize/cdk-autoscaling-gitlab-runner.DockerConfiguration.property.dnsSearch">dnsSearch</a></code> | <code>string[]</code> | A list of DNS search domains. |
| <code><a href="#@pepperize/cdk-autoscaling-gitlab-runner.DockerConfiguration.property.extraHosts">extraHosts</a></code> | <code>string[]</code> | Hosts that should be defined in container environment. |
| <code><a href="#@pepperize/cdk-autoscaling-gitlab-runner.DockerConfiguration.property.gpus">gpus</a></code> | <code>string[]</code> | GPU devices for Docker container. |
| <code><a href="#@pepperize/cdk-autoscaling-gitlab-runner.DockerConfiguration.property.helperImage">helperImage</a></code> | <code>string</code> | (Advanced) The default helper image used to clone repositories and upload artifacts. |
| <code><a href="#@pepperize/cdk-autoscaling-gitlab-runner.DockerConfiguration.property.helperImageFlavor">helperImageFlavor</a></code> | <code>string</code> | Sets the helper image flavor (alpine, alpine3.12, alpine3.13, alpine3.14 or ubuntu). Defaults to alpine. The alpine flavor uses the same version as alpine3.12. |
| <code><a href="#@pepperize/cdk-autoscaling-gitlab-runner.DockerConfiguration.property.host">host</a></code> | <code>string</code> | Custom Docker endpoint. |
| <code><a href="#@pepperize/cdk-aut