UNPKG

@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
# 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